学生管理系统课程设计-.pdf





《学生管理系统课程设计-.pdf》由会员分享,可在线阅读,更多相关《学生管理系统课程设计-.pdf(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、重庆理工大学课程设计课程程序设计基础C题目C语言综合程序设计院系名称商贸信息学院班级计算机应用技术一班学生姓名一垦垦一学号20920310119指导教师评阅教师时间丘Z立2010年6月1 问题描述27 5.4题目五:学生成绩管理系统设计学生成绩信息包括学期,学号,朔:别,姓名,四门课程成绩。杏文、数学、英语和计算机)。主要功能:(1)能按学期、按班级完成对学生成绩的录入、修改(2)能核朔:级统计学生的成绩,求学生的总分及平均分,设ti并输出统计报表(3)能查询学生成绩,不及格科目及学生名单(4)能按班级输出学生的成锁单(5)能按班级,拨课程,对学生成绩进行排序。要求:使用二迸帘l文伶方式存储数
2、据,系统以菜单方式工作2系统分析2.1题目要求本系统可以对学生的成锁信息进行简单的管理操作主菜单包括9个远Jj)j:1.学生成锁浏览如果未导入学生成绩,系统会提示导入成绩,成绩导入后,可以用本功能浏览成绩。2.学生成锁录入二吕学生成绩米导入是会自动提示对学生成绩的录入,可以校学期,依班级完成对学生成绩的录入3.学生成锁修改;当需要修改学生成绩时,本功能可以修改学生的成锁,可以校学期,按班级完成对学生成绩的修改。4.核班级统ti学生成绩的总分和平均分可以对计算学生的成绩的总分和平均分,并放到E级统ii出来。5.学生成绩查询完成对学生成绩的查询,本功能是按照学号查询。27 6.学生成绩衍、存可以将
3、学生成锁存入磁敛文伶,并从磁组:望读出学生成锁,信息保存在e:wh.dat.7.学生成锁米存盘时导入当磁盆文件不存在会提示J导入学生的成绩。8.f主班级输出学生成锁可以蚊班级输出学生的成绩单,其中包括学生的四门课的成绩不及格科目和学生的名单。9.学生成绩排序能按叨:级,核课程,对学生成锁进行排序。按班级排序时可以对某个班级学生的成绩排序,按课程排序时是对某一门课的体序。2.2算法设计模块一学生成锁浏览模块该模块实现对学生成绩的浏览功能,但前键是学生的信息已经衍、存,实现第法如下:输出学生信息的标题检索信息数组用循环实现对学生信息的对应输出模块二学生成锁录入模块该模块实现对学生成绩的录入功能,通
4、过菜单的选择,调用两个子函数实现成绩的录入。输出核不同方式录入学生成绩的选梅菜单,一是钱学期录入,二是饺班级录入调用按学期录入的函数选择学期用循环完成对学生信息的录入仅存学生信息,fl二回到录入函数调用核班级录入的函数选择班级用循环完成对学生信息的录入、存学生信息,并回到录入函数院块三学生J我锁修改模块该楼块实现对学生成绩的修改功能,通过菜单的j在拌,调用两个子函数实现对学生的成绩的修改输出按不同方式修改学生成绩的远摔浆单,一是族学期修改,二是核班级修改浏阳校学期修改的函数选择学期用循环完成对学生成绩的修改,修改的科目包铅语文数学英语,ti算机!?、存学生成绩信息,并回到j修改函数27 调用核
5、班级修改的函数选择班级用循环完成对学生成绩的修改,修改的科目包指语文,数学,英语,ti算机保存学生成绩信息,并回到j修改函数模块四按班级统il学生成绩的总分和平均分模:块该模块可以计算学生成绩的总分和平均分输出选择的班级i国过十盘索数组逃出某个JiI边过循环输出这个班的每个学生的总分和平均分模块五学生成锁查询筷块该模块白E通过学生的学号查询学生的成绩输入要查询的学生的学号边过十盘索4改组逃出xt应的学生调用输出函数输出学生相关的信息膜块六学生成绩保存筷块i亥模块可以保存学生信息的导入,修改,录入定义文件的衍、存位置通过数组写入要保存的文件关闭磁企文件模块七学生成锁为存必:时导入模块该模块可以在
6、学生成绩为存鱼是完成对学生成绩的导入并存撒输出是否创建的提示选择是否创建提示已经导入,并关闭磁盆文件模块八按班级输出学生成绩模块i主模块可以从多个班级里.iz;择某班学生的成绩并输出输入要选挣的班级检索数组选出该到I输出该班学生的相关信息模块丸学生成绩排序模块该模块可以对学生的成绩核不同的方式仲序输出排序方式的菜单调用j安班级排序的函效输出菜单后用 商泡i去对总分j挂行比较,按从大ii小的顺序输出保存并回到排序函数27 调用核课程对学生排序的函数通过国泡法分别对话文,数学,英语,计算机的成绩进行对比,按从大到小输出保存并回到排序的函数模块十退出筷块退出系统2.3流程图口由严开读取文件是吐绩览川
7、成浏按按按按按班级按学班班学统计和学班级期级级翔1与平均到1分查询按班按课查找级程哇绩入七成录7为8按班9学生存盘输出成绩时导成绩排序入生绩玫叫什成如生绩句叫什成IE也绩存成保分平分凸U和均保存输出从大到小的顺序排序2.4关键问题习这个系统最主要是要掌握各个函数退出k的录入,修改,成绩的查询等27 在对学生成绩的录入,修改,求平均分利总分,输出学生的成绩时都要求按不同的方式完成,比如录入,修改,输出成绩纯等。这里我写一个菜单,用一个主函数,分别调用两个子函数。在成绩修改时注意输出的数据的对应,最后哟啊保存修改的数据,这里最容易被忽略,如果不仅存的话,就白费心机啦。注意自己定义的头文牛的数据类型
8、和i原文件里丽的数据类型要符合,这个函数有点大,随意这种细节一般容易出错。在输入一个函放数据的时候,应该i宵空键也区,很容易出销。总之来说,编译的时候会有很多销,但是经过改正过后,发现很多都是不必要的或是细节问题。3.1题目一llinclude llinclude !include llinclude llinclude student.h int number 3系统实现void view(struct student people)int i printf(”tttt学生成绩管理系统n).printf(气t t n);printf(飞t t n);printf(”学期t学号t班另1t姓名t
9、语文t数学t英语t讨算机n);printf(飞忡忡忡忡忡忡忡忡忡忡忡忡忡忡忡忡忡忡忡忡忡忡忡忡忡忡忡忡*n勺,for(i=O;i=number-1;i+)printf(”%st,peoplei.sem).printf(”%st,peoplei.num).printf(飞d t,peoplei.clas).27 printf(飞st,people i.name).printf(飞4dt,peoplei.chinese).printf(飞4dt,peoplei.math).printf(”%4dt,peoplei.english).printf(飞4dt,peoplei J.computer).p
10、rintf(”n).printf(一一一一一一一一一一一一一一一一n)./*按班级统t才学生总分和平均分/*void grade(struct student people)int clas;int aver=O;int sum=O;scanf(飞d,&clas);for(int i=O;i(number;i+)i f(people i.clas=clas)查找班级sum=peoplei.chinese+peoplei.math+peoplei.english+puter.aver=sum/4;printf(”第%d个学生总分为:%dn,i+1,sum).printf(”第%d个学生的平均分为
11、:%dn”,i+l,aver);27/*输出某一个学生的信息/*void prnt(struct student people,inti)printf(一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一n).printf(”姓名t语文t数学t英语ti才算机t不及格科目t学生名单n).printf(一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一n).for(i=O;i number;i+)绩成的生学的s u事咱及不出输,f,.)、J、JrehHe edcdE+L Oe、Jlu飞nhipe-tgm mhuano acmec n Ed.,国d、
12、.J-1111、APEELFLEtM俨EELLeeeee1i1i1i1i-inynynvnv poooo oeeee enynvnynv ny,“HUHUHUH UHEEWL在LB目怡EW飞飞飞、1、飞、飞飞、gi2icig俨、d唱EA唱EA嘈EA唱EA飞%低%飞UHUHUHUH、BEJt、,、Jt、,、唱AEWZicigziJt、ntttte innnnI r-111l nvrrrrtn ppppwft if(peoplei.chinese60)printf(语文,丁,if(peoplei.math60)printf(”数学,),if(people i.english(60)printf(”
13、英语,).if(people puter(60)printf(i.i算机怡),break:27 print f(”%s,peoplei.name).printf(飞n);printf(一一一一一一一一一一一一一一一一一一一一一一n).输出学生的名单/*/按照学号查询学生信息/*void search(struct student people)char num20;inti printf(”n请输入你要查询的学生学号:丁,fflush(stdin);gets(num);for(i=O;i number;i+)if(strcmp(peoplei.num,num)=O)prnt(people,i)
14、;/*/按班级输出学生的成绩单/*void search_clas(struct student people)27 int clas printf(ll请输入班级:);fflush(stdin);scanf(飞d”,clas);for(int i=O;i(number;i+)if(peoplei.clas=clas)prnt(people,i);调用prnt函数输出成绩单/*/将信息存入磁盘文件/*void save(struct student people)FILE*fp;int i fp=fopen(飞:wh.dat”,、b丁;for(i=O;i number;i+)fwr i te(
15、&peoplei,sizeof(student),l,fp).fclose(fp);关闭磁组;文件/*/按学期修改学生成绩/*void xiugai_sem(struct student people)27 int chinese,math,english,computer;char sem20;printf(”输入学期:,)fflush(stdin);scanf(飞s”,sem);for(int i=O;i(number;i+)i f(strcmp(peoplei.sem,sem)=O)prnt(people,i);定义新的成绩变量printf(”修改语文,数学,英语,t才算机的成绩:);s
16、canf(%f%f%f%f,&chinese,皿ath,&english,&computer).peoplei.chinese=chinese,peoplei.math=math;peoplei.english=english;puter=computer.peoplei save(people);/*/按班级修改学生成绩/*void xiugai_clas(struct student people)int chinese,math,english,computer;int clas printf(输入班级:丁,fflush(stdin);scanf(飞d”,clas);for(int i=
17、O;i(number;i+)27 把新的成绩赋给i f(people i.clas=clas)prnt(people,i);printf(修改语文,数学,英语,t才算机的成绩:),scanf(”%f%f%f%f,&chinese,&math,&english,&computer).peoplei.chinese=chinese.peoplei.math=math;peoplei.english=english;puter=computer.save(people);)ELe 咱EAny o e nv E+L n e-d u t ea E+L c u r+L ea(唱Aa go u 唱AX d
18、唱品。氨R1JV44Il 修改学生成int xuan;w hile(1)printf(飞司略有,司1按学期f房改学生成绩n);printf(飞或c祀printf(飞或,0返因上一级目录n);printf(r青选才辛:n);scanf(飞d,&xuan);switch(xuan)case 1:xiugai_sem(people);break;case 2:xiugai_clas(people);break.if(xuan=O)break 27/*/按学期录入学生成绩/*void luru_sem(struct student people)struct student temp,printf(l
19、l请输入学生人数nll);scanf(飞d”,number);printf(”学期恼),fflush(stdin);scanf(飞sn,temp.sem);for(int i=O;i(number;i+)printf(请输入学生信息恼),printf(”学号.).fflush(stdin).gets(temp.num).printf(I别:),fflush(stdin).scanf(飞d,temp.clas).printf(”姓名.).fflush(stdin).gets(temp.name).printf(”学生成绩.).fflush(stdin).scanf(%d,&temp.chines
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 管理 系统 课程设计

限制150内