版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、中国石油大学(华东)程序设计实训报告学生信息管理系统专业班级:_实习时间: 2011.7.182011.7.21 实习地点: 4-4109 组长: _ 组员: _ _ _第一章 实训任务(一)项目介绍:本系统通应的管理员过界面加密,所以只有相才能进入系统中,对相应的学生信息进行操作,在一定的程度上保证了数据的机密性和可靠性。通过分组、选题、设计、实现,重点放在程序设计开发的全过程上。根据所选题目首先进行需求分析,确定要完成的系统的主要功能。然后进行功能分析,根据要实现的功能进行数据分析,设计相应的数据结构,同时为贯彻“程序设计=算法+数据结构”的思想,要求完成流程图的设计,然后根据流程图写出实
2、训代码。,开发此学生信息管理系统,主要面向班级学生的信息管理和成绩管理,简化日常学生班干对学生的管理工作,有助提高工作效率,并能提供更为直观、准确、容易理解的信息内容。(二)项目功能:主要实现内容如下:在首页中,可以根据代码选择要进入的页面;一、公共主页(页面中显示系统公告:信息管理与信息系统2010级学生正在进行程序实训);二、学生信息管理系统(页面显示:请输入用户账号和请输入用户密码,用户可根据账号和密码进入系统界面,如密码错误,则显示是否重新输入)。系统界面如下(输入一个有效的数字,选择要做的操作):1.插入学生信息(包括学号、姓名、性别、高数成绩、英语成绩、c语言成绩、总成绩、家庭地址
3、、政治面貌、出生年月、联系方式等);2.根据id找到学生信息(查找指定学生的信息并输出,包括学号、姓名、性别等);3.根据id删除学生信息(删除指定学生的信息,包括学号、姓名、性别等);4.根据id更新学生信息(修改指定学生的信息,包括学号、姓名、性别等);5.学生学籍卡片(根据学号显示学生姓名、性别、出生年月、家庭地址、政治面貌、联系方式等);6.教材发放情况(根据学号提示显示学生的教材是否已发放完毕);7.教材账目(显示学生各类教材的具体单价和总共帐目);8.所学科目(显示学生所学科目,如高数、英语等);9.成绩查询(根据学号查找学生各科成绩并显示结果);10.某个学生不及格科目(根据学号
4、查找学生成绩低于60分的科目);11.按学号排序并显示结果(按学号对学生进行排序);12.计算总成绩并显示结果(计算每个学生的总成绩并显示在界面上);13.成绩优秀科目(显示学生成绩高于80分的科目);14.计算不及格的人数(计算某科目低于60分的人数);15.退出。(三)项目的适用范围:按照日常对学生管理的需要和操作,此学生信息管理系统,针对应用于管理学生的基本信息、课程管理、以及成绩的信息管理。其中既包括学生对于自己的个人信息的处理以及对成绩、学科、帐目等信息的查询,也包括管理员对学生信息和成绩的系统化和一体化处理等内容。(四)项目完成后可解决的问题: 1、实现对学生信息的系统化管理,其中
5、包括插入、查找、删除、更新等对于学生信息的细化;2、可根据学号查看学生的个人信息,比如学籍卡片、教材发放情况、教材帐目等;3、学生登陆后可查询学年成绩、不及格科目、优秀科目等;4、实现对学生信息的一体化管理,如计算某科目不及格人数、实现学生的成绩排名等。 第二章 项目设计函数定义:(1) 插入学生信息函数:void add();(2) 更新学生信息函数:void modify();(3) 删除学生信息函数:void del();(4) 查找学生信息函数:void look();(5) 学籍卡片函数:void idcard();(6) 排序函数:void array_list();(7) 排序并
6、显示结果函数:void sort();(8) 计算总成绩函数:void sum();(9) 教材发放情况查看函数:void book();(10) 教材帐目查看函数:void bill();(11) 学生所学科目查看函数:void subjects();(12) 学生优秀科目查看函数:void excellent();(13) 学生成绩查询函数:void score();(14) 学生挂科科目查询函数:void fail();(15) 主页函数:void gonggao();(16) 退出函数:exit ();结构体定义:此系统包含一个结构体,student。包含 num10学号,name8姓
7、名, sex2性别, mathscore高等数学成绩, englishscore英语成绩,cscorec语言成绩, sum总成绩, address50;家庭地址,political8政治面貌, birthday9出生年月,tel12;联系方式文件结构:学号101 姓名 zhang性别 m 高等数学87 英语65 c语言56学号102 姓名 li性别 f 高等数学67 英语85 c语言86学号103 姓名 wang性别 m 高等数学57 英语85 c语言76学生信息管理系统界面一、公共主页二、学生信息管理系统1.插入学生信息2.根据id找到学生信息3.根据id删除学生信息4.根据id更新学生信息
8、5.学生学籍卡片6.教材发放情况7.教材账目8.所学科目9.成绩查询10.某个学生不及格科目11.按学号排序并显示12.计算总成绩并显示13.成绩优秀科目14.退出系统显示系统公告输入帐号和密码账号:xinguan密码:1第三章 算法设计void del(10065106 李文雨); 功能描述:实现对学生信息的删除开始输入学生学号查看是否有该学生显示要删除的学生信息返回主界面是否确定删除删除该学生信息保留该学生信息是否继续删除其他主界面是是是否否否void modify(10065106 李文雨) 功能描述:实现对学生信息的更新开始输入学生学号查看是否有该学生显示要更新学生的学生信息返回主界面
9、是否确定更新更新该学生的信息保留该学生信息是否继续更新其他主界面是是是否否否void sum(10065105 王辉)功能描述:根据学生学号计算并显示学生总成绩开始输入学生学号查看是否有该学生显示要计算学生总成绩的学生信息返回主界面是否确定计算计算该学生总成绩保留该学生信息是否继续计算其他主界面是是是否否否void idcard(10065114 徐忠明); 功能描述:根据学生学号显示学籍卡片开始定义文件指针有没有文件输入信息不能打开该文件查看有无该学生显示该学生学籍卡片没有此学生是否继续查询主界面没有有有没有是否void fail(10065101 杨亚彬); 功能描述:根据学生学号显示学生
10、不及格科目开始输入学生学号查看是否有该学生显示要查询学生的不及格科目返回主界面成绩中是否有不及格科目显示不及格科目是否查询其他学生主界面是是是否否否第四章 程序实现系统主界面学生信息管理系统查询学生详细资料查询学生教材账目按学号排序计算学生总成绩程序代码#include#include#include#includevoid add();/插入学生信息void modify();/根据id更新学生信息void del();/根据id删除学生信息void look();/根据id找到学生信息void idcard();/学籍卡片void sort();/排序并显示结果void sum();/计算
11、总成绩void book();/教材发放情况void bill();/教材账目void subjects();/所学科目void excellent();/学生优秀科目void score();/成绩查询void fail();/学生挂科科目void array_list();/按学号排序void gonggao() system(cls); printf(nnnnn 信息管理与信息系统2010级学生正在进行程序实训 n);typedef struct char num10;/学号 char name8;/姓名 char sex2;/性别 int mathscore;/高等数学成绩 int e
12、nglishscore;/英语成绩 int cscore;/c语言成绩 int sum;/总成绩 char address50;/家庭地址 char political8;/政治面貌 char birthday9;/出生年月 char tel12;/联系方式 student;int i = 0;void main() int a,b; char id10, password10,id = xinguan,pw = 1,k; printf(*n); printf(*n); printf(*n); printf(*学生信息管理系统*n); printf(* 徐忠明、李文雨、杨亚彬、王辉 制作 *n
13、); printf(*n); printf(*n); printf(*n); do printf(请输入管理员账号n); gets(id);/输入id if(strcmp(id,id) = 0)/判断与文件中的id是否相等 do printf(请输入管理员密码n); gets(password); if(strcmp(password,pw) = 0) do printf(*欢迎进入学生信息管理系统!*nnnnn); printf(请输入您要进入的系统代码:n); printf(=1.公共主页=n=2.学生信息管理系统=n); scanf(%d,&b);/输入一个数 switch(b) cas
14、e 1: gonggao();/引用主页函数 printf(nn按任意键返回); getchar(); getchar(); system(cls);/清屏 break; case 2: break; while(b = 1); while(1) system(cls); printf(*学生信息管理系统*n); printf(1.插入学生信息:n); printf(2.根据id找到学生信息:n); printf(3.根据id删除学生信息:n); printf(4.根据id更新学生信息:n); printf(5.学生学籍卡片:n); printf(6.教材发放情况:n); printf(7.教
15、材账目:n); printf(8.所学科目:n); printf(9.成绩查询:n); printf(10.个人不及格科目:n); printf(11.按学号排序并显示结果:n); printf(12.计算总成绩并显示结果:n); printf(13.个人优秀科目:n); printf(14.退出:n); printf(n输入一个有效的数字,选择你要做的操作:n); scanf(%d,&a); switch(a) case 1: add();/调用插入信息函数 break; case 2: look();/调用查看信息函数 break; case 3: del();/调用删除信息函数 brea
16、k; case 4: modify();/调用更新信息函数 break; case 5: idcard();/调用查询学籍卡片函数 break; case 6: book();/调用查询教材发放函数 break; case 7: bill();/调用查询教材账目函数 break; case 8: subjects();/调用所学科目函数 break; case 9: score();/调用查询成绩函数 break; case 10: fail();/调用查询不及格成绩函数 break; case 11: sort();/调用排序函数 break; case 12: sum();/调用求总成绩函
17、数 break; case 13: excellent();/调用查询优秀科目函数 break; case 14: printf(退出系统成功n); exit(0);/调用退出函数 break; default: printf(错误的菜单选项n按回车返回); getchar(); getchar(); break; else printf(密码输入错误,是否重新输入?(y/n)); k = getchar();/输入一个字符 getchar(); while(k = y); else printf(账户输入错误,是否重新输入?(y/n)n); k = getchar();/输入一个字符 get
18、char(); while(k = y);/当输入是y时循环 printf(按任意键退出n); getchar();void add()/插入信息函数 student stu;/定义结构体 char k; int i = 0,b; file *fp1,*fp2;/定义文件变量 printf(请选择要添加的信息类型编号:n); printf(=1.基本信息=n=2.成绩信息=n); scanf(%d,&b);/输入一个数 switch(b) case 1: if(fp1 = fopen(student.dat,a+b) = null) printf(cannot open this file.n
19、); exit(0);/退出界面 system(cls);/清屏 do printf(输入第 %d 个学生的详细信息:n,i+1); printf(请输入学生学号:n); scanf(%s,stu.num); printf(请输入学生姓名:n); scanf(%s,); printf(请输入学生性别:n); scanf(%s,stu.sex); printf(请输入学生政治面貌n); scanf(%s,&stu.political); printf(请输入学生出生年月n); scanf(%s,&stu.birthday); printf(请输入学生家庭住址n); scanf(%
20、s,&stu.address); printf(请输入学生联系方式n); scanf(%s,&stu.tel); printf(输入第%d个学生信息完成。n,i+1); fwrite(&stu,sizeof(student),1,fp1); printf(nn是否继续添加学生信息(y/n):n); getchar(); i+; while(k = getchar() = y); fclose(fp1);/关闭文件 break; case 2: if(fp2 = fopen(score.txt,a+) = null) printf(cannot open this file.n); exit(0
21、); system(cls);/清屏 do printf(输入第 %d 个学生的详细信息:n,i+1); printf(请输入学生学号:n); scanf(%s,stu.num); printf(请输入学生姓名:n); scanf(%s,); printf(请输入学生高等数学成绩:n); scanf(%d,&stu.mathscore); printf(请输入学生英语成绩:n); scanf(%d,&stu.englishscore); printf(请输入学生c成绩语言n); scanf(%d,&stu.cscore); printf(输入第%d个学生信息完成。n,i+1);
22、 fprintf(fp2,%s %s %d %d %dn,stu.num,,stu.mathscore,stu.englishscore,stu.cscore); printf(nn是否继续添加学生信息(y/n):n); getchar(); i+; while(k = getchar() = y); fclose(fp2);/关闭文件 break; void look()/查询信息函数 int find = 0; char buff10; student stu; char k; file *fp; do if(fp = fopen(student.dat,r) = null
23、)/判断是否存在文件 printf(cannot open this file.n); exit(0); system(cls);/清屏 printf( 根据学生学号查询学生的详细资料 nnn); printf(输入学生学号:n ); scanf(%s,buff);/输入学号 do if(fread(&stu,sizeof(student),1,fp) = 1) if(strcmp(stu.num,buff) = 0) find=1; printf(要查询的学生详细资料:n); printf(学号:%sn,stu.num); printf(姓名:%sn,); printf(性别
24、:%sn,stu.sex); while(!feof(fp);/判断是否到文件尾 if(find = 0) printf(没有此学生!n); printf(继续查询其它学生吗?(y/n); getchar(); k = getchar();/输入一个字符 while(k = y); fclose(fp);/关闭文件 printf(查看完毕!按任意键返回主目录); getchar(); getchar();void del()/删除信息函数 int find = 0; long int h; student stu; char num10; char k,ch; file *fp,*fp1; s
25、ystem(cls); do if(fp = fopen(student.dat,r+b) = null)/判断是否存在文件 printf(cannot open this file.n); exit(0); printf( 删除学生的详细资料 nnn); printf(请输入要删除学生的学号:n ); scanf(%s,num); while(fread(&stu,sizeof(student),1,fp) = 1) if(strcmp(stu.num),num) = 0) find=1; printf(要删除的学生详细资料:n); printf(学号:%sn,stu.num); print
26、f(姓名:%sn,); printf(性别:%sn,stu.sex); printf(n确定删除吗?y/n?n); getchar();/输入一个字符串 ch = getchar(); h = ftell(fp); break; rewind(fp);/将文件的当前位置指针指向文件头 if(fp1 = fopen(student1.dat,w+) = null) printf(n cannot open this file!); exit(0);/退出 if(ch = y) while(fread(&stu,sizeof(student),1,fp) = 1) if(ftell
27、(fp) != h) fwrite(&stu,sizeof(student),1,fp1); fclose(fp1);/关闭文件 fclose(fp); remove(student.dat); rename(student1.dat,student.dat); if(find = 0) printf(n没有该学生n); fclose(fp);/关闭文件 printf(n继续删除其它吗?y/n?n); getchar(); k = getchar(); while(k = y); getchar();void modify()/更新信息函数 int find = 0; char num30;
28、char k; int i = 0; student stu; file *fp;/定义文件指针 system(cls);/清屏 do if(fp = fopen(student.dat,r+b) = null) printf(cannot open this file.n); exit(0);/退出 system(cls); printf( 修改学生的详细资料 n); printf(输入学生学号:n ); scanf(%s,num);/输入一个字符 while(fread(&stu,sizeof(student),1,fp) = 1) if(strcmp(stu.num),num) = 0)
29、 find = 1; printf(要修改的学生的详细资料:n); printf(学号:%sn,stu.num); printf(姓名:%sn,); printf(性别:%sn,stu.sex); printf(ntt*根据提示输入修改后的信息*n); printf(输入新的学生资料:n); printf(输入学生学号:); scanf(%s,stu.num); printf(输入学生姓名:); scanf(%s,); printf(输入学生性别:); scanf(%s,stu.sex); fseek(fp,-(long)sizeof(student),1);
30、break; fwrite(&stu,sizeof(student),1,fp); if(find = 0) printf(没有此用户!n); fclose(fp);/关闭文件 printf(nn是否继修改学生信息(y/n):n); getchar(); i+; while(k = getchar() = y); getchar();void idcard()/学籍信息函数 int find = 0; char buff10; student stu; char k; file *fp;/定义文件指针 do if(fp = fopen(student.dat,r) = null)/判断是否存在
31、文件 printf(cannot open this file.n); exit(0);/退出 system(cls); printf( 根据学生学号查询学生的学籍卡片 nnn); printf(输入学生学号:n ); scanf(%s,buff);/输入一个字符串 do if(fread(&stu,sizeof(student),1,fp) = 1) if(strcmp(stu.num,buff) = 0) find = 1; printf(要查询的学生学籍卡片:n); printf(学号:%sn,stu.num); printf(姓名:%sn,); printf(性别:%s
32、n,stu.sex); printf(出生年月:%sn,stu.birthday); printf(家庭地址:%sn,stu.address); printf(政治面貌:%sn,stu.political); printf(联系方式:%sn,stu.tel); while(!feof(fp);/当不是文件结尾时循环 if(find = 0) printf(没有此学生!n); printf(继续查询其它学生吗?(y/n); getchar();/输入一个字符 k = getchar(); while(k = y); fclose(fp);/关闭文件 printf(查看完毕!按任意键返回主目录); getchar(); getchar();void book()/查询教材发放函数 int find = 0; char buff
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年毕节地区毕节市法检系统书记员招聘考试试题及答案详解
- 2025年乌鲁木齐市水磨沟区法检系统书记员招聘考试试题及答案详解
- 2026年广元市市中区法检系统书记员招聘笔试备考题库及答案详解
- 2026年绵阳市游仙区法检系统书记员招聘笔试参考题库及答案详解
- 2025-2026学年鸟类共同特征教学设计
- 2025年山东省济南市法检系统书记员招聘笔试试题及答案详解
- 2025年朝阳市双塔区法检系统书记员招聘笔试试题及答案详解
- 2025年台州市路桥区法检系统书记员招聘笔试试题及答案详解
- 2026年省直辖行政单位神农架林区法检系统书记员招聘笔试备考题库及答案详解
- 2025年淄博市淄川区法检系统书记员招聘考试试题及答案详解
- 2026农行考试面试题及答案解析
- T/CCIAS 009-2023减盐酱油
- (试卷)2024年广东省初中学业水平考试·物理
- GB/T 3163-2024真空技术术语
- 困难职工帮扶管理制度
- 肿瘤伤口护理
- JB-T 10693-2022 城市轨道交通.用干式牵引整流变压器
- 装饰装修工程施工组织设计完整版
- 末梢血糖监测护理课件
- 英语48个国际音标课件(单词带声、附有声国际音标图)
- 统编版八年级下册语文第五单元测试卷(A)(含答案)
评论
0/150
提交评论