学生成绩管理

上传人:灯火****19 文档编号:40829656 上传时间:2021-11-17 格式:DOCX 页数:31 大小:252.19KB
收藏 版权申诉 举报 下载
学生成绩管理_第1页
第1页 / 共31页
学生成绩管理_第2页
第2页 / 共31页
学生成绩管理_第3页
第3页 / 共31页
资源描述:

《学生成绩管理》由会员分享,可在线阅读,更多相关《学生成绩管理(31页珍藏版)》请在装配图网上搜索。

1、精品文档西北师范大学xxxx计算机与电子信息工程系课程设计报告书课程名称:C语言程序设计专业:计算机科学与技术(网络应用与技术)课题名称:学生成绩管理班级:学号:姓名:指导教师:2014-2015 学年 第二学期学生成绩管理( 难易程度:中)1 .课程设计要求学习成绩管理系统的主要要求为 :2 )能按学期、按班级完成对学生成绩的录入、修改3 )能按班级统计学生的成绩,求学生的总分及平均分4 )能查询学生成绩,不及格科目及学生名单5 )能按班级输出学生的成绩单2 .设计目的及意义课题的设计旨在训练我们的基本编程能力,使我们熟悉C语言图形模式下的编程。本程序中涉及结构体、数组、绘图等方面的知识。通

2、过本程序的训练,使我们能对C语言有一个更深刻的了解。开发一个学生成绩管理系统,采用计算机对学生成绩进行管理。3 .课题说明本系统主要用于对学生的成绩进行管理。通过本系统,可以将各个学生的成绩记录输入到系统中,保存到文件,便于查阅和相关管理。此外,该系统还能实现对学生成绩记录的显示,查询以及插入或删除学生的成绩记录等功能。4 .功能模块图5 .功能描述主要功能用来对学生的成绩进行收集和输入。在学生信息保存在系统中的前 提下,成绩录入需要输入学生资料,比如班级,学号,姓名。在准确输入学生资 料后,就可以对该学生的各科成绩进行录入。该学生各科成绩输入成功后,系统会提示是否继续进行操作,如果想继续输入

3、学生成绩就输入y,不想再输入学生成绩的话就输入n,再输入n之后,系统返回到主菜单。输入学生资料是得分学 期来进行处理,执行一次该模块只能输入一个学期的学生信息。在此过程中每输入一个学生的信息,通过循环在输入完成时将学生个数返回给 n, easel中就是 利用n=input (stud , n)这一赋值过程来执行该函数中的输入过程。输入完成 后按任意键即可返回菜单。6 .执行住流程图可编辑开始输出查找查找修改保存显示成绩显示 成绩资料名单删除 信息取找自3读查件资料退出7.程序运行结果!,C:Pruigrarn Fil3Mic.-oscft Visual S:udoXMyf rcjcstttDe

4、bugtttt.EX通而百季至至需一2班级学号姓名语文教学英君七|算机总分平均分2140400122Phudn 808 RII 7531221204 晒0111yIndian 8?867I请按任意辑整续-输入苴姓名=号款又宣霄接 学班启英数番angzhuan请选择。-力二二二二= = = =4:*勰藕料=输入你要修改的学生的姓名I : yanyshUftn修改班级101修改学号:14049BS222修改语文成绩.罂改英语成绩:8,修改数学成绩.90修改计算机成绩.鲁森翟键继续.一班开 数料1 $ 文存 从储U除学生信息请揄=三三=1=第学期请输入要删除的学生的姓名;n-Al-an= = = =

5、 =当前信息已删除成功!请按任意键姓续.精选择继续读取第=请: W .干:文生 系 -千件-退 杜又名不易 资一 Sil 基料文座AE出回 所储资人入返8 .设计过程遇到的问题在输入了学生成绩之后,若不退出程序继续读取文件,同一个学生的信息会多次输出。输入的数据长度有要求,不能够输入的太长否则就会输出结果排列不整齐甚至无法输出数据。输入学生成绩时只能连续输入相同学期的学生。输入的学生成绩等信息相同时如姓名,程序不提示出错,不能处理。同时好多地方都不懂,不明白其中的原理,做起来不上手。9 .课题总结第一次做这种设计面广、 综合性强的课程设计刚开始难度还是有点大的, 主要是在函数调用方面容易出现混

6、乱, 刚开始的时候功能少还容易解决, 写到后面再在综合起来就容易出现问题。尤其是在修改删除函数中要调用文件操作函数,查找函数, 然后找到具体删除的可行性办法还是不太容易, 最后采用后一项覆盖前一项的方法解决。10 . 设计课题感想这学期我们学习了 C+ 这一编程语言, 学的很浅薄, 平时都只能编一些比较小的程序。 这次课程设计花了很长时间, 学到了不少的知识, 开拓了视野。 并且,本设计不像平时编写的程序, 运行一下直接推出操作界面。 而是可以像一个计算机上使用的软件一样, 可以不用退出系统, 继续使用其功能, 只需要在主函数中调用一个循环即可。 除此之外, 还学习到了课程设计的流程相关的知识

7、。 不过大多属于网上搜的,自己的能力很弱不能做出来。附录 代码#include#include#include#include#include#include#includeusing namespace std;typedef classpublic:int cls;char nam10;char num10;int chinese;int english;int computer;int math;Student;Student stud1100,stud2100;int menu()char a;while(a7|a0)system(cls);std二cout欢迎使用学生成绩管理系统;s

8、td二coutstd二endl;std:cout*学生成绩管理系统* std:endl;std二coutsetw(32) 1.输入学生成绩 std:endl;std:coutsetw(32) 2.输出学生成绩endl;std:coutsetw(32) 3.查找并显示学生成绩endl;std二coutsetw(32) 4.按姓名查找,修改学生资料endl;std二coutsetw(32) 5.显示所有学生名单endl;std:coutsetw(32) 6.查找并删除学生信息“endl;std二coutsetw(32) 7.从文件读取数据endl;std:coutsetw(32) 0.储存学生资料

9、并退出系统endl;std二coutsetfill(=)setw(80)=endl;std:cout请选择(0-7)endl;std:coutsetw(35) ;a=getchar();return(a-0);/*/int Input(Student stud,int n)/ 输入数据(第一学期)。int i=0;char sign,x10;for(;sign !=n&sign !=N;)std:coutsetw(15) studn+i.nam;std:coutsetw(15) studn+i.cls;std:coutsetw(15) studn+i.num;std:coutsetw(15)

10、studn+i.chinese;std:coutsetw(15) studn+i.math;std:coutsetw(15) studn+i.english;std:coutsetw(15) studn+puter;gets(x);std:coutsetw(10) ;std:cout&sign;i+;return(n+i);/*输出数据*/* void Display(Student stud, int n)int i;std:coutsetw(15) setfill(-)setw(65)-endl;std:coutsetw(15) 班级学号 姓名 语文 数学 英语计算机 总分 平均分endl

11、;std:coutsetw(15);std:coutsetfill(-)setw(65)-endl;for(i=1;in+1;i+)std:coutsetw(15);int s=studi-1.chinese+studi-1.math+studi-1.english+studi-putstudi-1.numer;std:cout studi-1.clsstudi-1.namstudi-1.chinesestudi-1.mathstudi-1.englishstudi-puterss/41 & i%10=0)std:coutsetw(15) setfill(-)setw(35)-endl;std

12、:coutsetw(15);system(pause);std:coutsetw(15) setfill(-)setw(35)-endl;std:coutsetw(15)system(pause);)查找学生显示其信息/*/* void Query(Student stud,int n)(char nam20;std:coutsetw(15) 输入其姓名:nam;int i=0;while(strcmp(studi.nam,nam)!=0&in)i+;if(i=n)(coutttt没有发现该学生的资料!endl;return;)std二coutsetw(15)std二coutsetw(15)s

13、td二coutsetw(15)std二coutsetw(15)std二coutsetw(15)学号:studi.numendl;班级:studi.clsendl;语文:studi.chineseendl;英语:studi.englishendl;数学:studi.mathendl;std:coutsetw(15) 计算机: puterendl;/*删除学生信息*/ int Delete(Student stud,int n)char s20;int i=0,j;std:coutsetw(15) 请输入要删除的学生的姓名: s;while(strcmp(studi.nam,s)!=0&in) i

14、+;if(i=n)printf(ttt 没有发现该学生资料!n);return(n);for(j=i;jn-1;j+)strcpy(studj.num,studj+1.num);strcpy(studj.nam,studj+1.nam);studj.cls=studj+1.cls;studj.chinese=studj+1.chinese;studj.math=studj+1.math;studj.english=studj+1.english;puter=studj+puter;coutsetw(15) 当前信息已删除成功 !na;while(strcmp(studi.nam,na)!=0&

15、in)i+;if(i=n)coutttt 没有发现该学生的资料! endl;std:cout 修改班级: studi.cls;std:cout 修改学号: studi.num;std:cout 修改语文成绩:IIstudi.chinese;std:cout 修改英语成绩:IIstudi.english;std:cout 修改数学成绩:IIstudi.math;std:cout 修改计算机成绩:puter;std:cout 修改成功 endl;return(n);/*示学生名单*/void show(Student stud,int n)for(int i=0;in;i+)std:coutset

16、w(15)studi.namendl;system(pause);/*从文件读取数据*/* int AddfromText(Student stud, int n)int i=0,number,x=0,y=0;FILE *fp;char filename20;coutsetw(15) filename;if(fp=fopen(filename,rb)=NULL)coutsetw(15) 无法打开文件endl;coutsetw(15) ;system(pause);return(n);fscanf(fp,%d,&number);for(;inumber;) fscanf(fp,%d%s%s%d%

17、d%d%d%d%dn,&studn+i.cls,&studn+i.num,&studn+i.nam,&studn+i.chinese, &studn+i.math,&studn+i.english,&studn+puter,&x,&y);i+;n+=number;fclose(fp);coutsetw(15) 读入成功 !endl;coutsetw(15) ;system(pause);return(n);/*将所有记录写进文件*/* void WritetoText(Student stud,int n)int i=0;FILE *fp;char filename20;coutsetw(15

18、) 将资料输入文件endl;coutsetw(15) filename;if(fp=fopen(filename,w+)=NULL)coutsetw(15) 无法打开文件endl;system(pause);return;fprintf(fp,%dn,n);for(;in;)fprintf(fp,%-8d%-8s%-8s%-5d%-5d%-5d%-5d%-5d%-5dn,studi.cls,studi.num,studi.nam,studi.chinese,studi.math,studi.english,puter,studi.chinese+studi.math+studi.english

19、+puter,(studi.chinese+studi.math+studi.english+puter)/4);i+;fclose(fp);/*主函数调用*/* void main()int n1=0,n2=0;for(;)switch(menu()case 1:int t;std:coutsetw(15) 输入学生资料endl;std:coutsetw(15) 输入学期 endl;std:coutsetw(15)t;if(t=1)n1=Input(stud1,n1);else if(t=2)n2=Input(stud2,n2);)break;case 2:std:coutsetw(15)i

20、f(n1!=0)(std:coutsetw(15)输出所有学生资料endl;第一学期:endl;std:coutsetw(15)Display(stud1,n1);)if(n2!=0)std:coutsetw(15)std:coutsetw(15)第二学期:endl;Display(stud2,n2);)break;case 3:int r;std:coutsetw(15)std:coutsetw(15)查找学生endl;请输入学期:endl;std:cinr;if(r=1)(Query(stud1,n1);)else if(r=2)(Query(stud2,n2);)std:coutsetw

21、(15)system(pause);break;case 4:int p;std:coutsetw(15)修改学生资料endl;std:coutsetw(15)请输入学期:endl;std:cinp;if(p=1)(std:coutsetw(15)输入你要修改的学生的姓名:n1=Revise(stud1,n1);) else if(p=2)std:coutsetw(15)输入你要修改的学生的姓名:n2=Revise(stud2,n2);)system(pause);break;case 5:std:coutsetw(15)显示所有学生名单endl;if(n1!=0)(std:coutsetw(

22、15) 第一学期endl;show(stud1,n1);)coutsetw(15) endl;if(n2!=0)(std:coutsetw(15) 第二学期endl;show(stud2,n2);)system(pause);break;case 6:std:coutsetw(15)查找并删除学生信息vvendl;int o;std:cout请输入学期:endl;std:coutsetw(15)std:cino;if(o=1)(std:coutsetw(15)第一学期endl;n1=Delete(stud1,n1);)if(o=2)(std:coutsetw(15)第二学期endl;n2=De

23、lete(stud2,n2);)system(pause);break;case 7:coutsetw(15)从文件中读入数据endl;std:coutsetw(15)读取第一学期的文件endl;n1 =AddfromT ext(stud1 ,n1);std:coutsetw(15)读取第二学期的文件endl;n2=AddfromT ext(stud2,n2);break;case 0:std:coutsetw(15)IIIIII将所有资料写入文件endl;if(n1!=0)coutsetw(15)IIIIII存储第一学期学生资料endl;WritetoT ext(stud 1,n1);if(

24、n2!=0)coutsetw(15)IIIIII存储第二学期学生资料endl;WritetoText(stud2,n2);std:coutsetw(15)IIIIII输入成功endl;int b;std:coutsetw(15)IIII请确定是否退出系统:endl;std:coutsetw(15)IIII0.退出系统endl;std:coutsetw(15)IIII1.返回endl;std:coutsetw(15)std:cinb;if(b=O)std:coutsetw(15) 谢谢使用 endl;std:coutsetw(15) ;system(pause);exit(0);std:coutsetw(15) ;system(pause);break;

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!