




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、郑州科技学院C语言课程设计精心整理设计(论文)题目:学生成绩管理系统院:信息工程学院级:15计算机科学与技术 3班名:宋建军t=r.号:201515085师:周丽2016年9月11日郑州科技学院课程设计(论文)任务书设计题目:学生综合信息测评系统=1 5 1_ ,专业班级:15计算机科学与技术3班学号 2015150085 姓名 宋建军主要内容设计学生成绩管理系统,主要包含:输入记录模块、查询记录模块、更新记录模块、统计记录模块和输出记录模块。采用字符用户界面,通过菜单选择相应的操作,直观且操作简单。数据的存储选用数据文件方式;编辑平台选用 Microsoft Visual C+ 6.0。所用
2、到的知识点有:三 种基本程序结构,数组,函数,指针,结构体,文件操作和链表。精心整理 基本要求:按照内容要求,设计完整的学生成绩管理系统。要求调试通过,不存在漏洞, 方便用户操作。功能的实现上力求容错能力要强且提示信息完备。完成期限:2016年9月11日 指导教师签名:概述1.1程序要求1.2具体分工情况1.3开发环需求分析 错误!未指定书签。总体设计错误!未指定书签。I3.1程序主界面设计3.2学生信息处理子界面设计.3.3学生数据处理子界面设计程序设计 错误!未指定书签。5程序调试错误!未指定书签。6程序评估错误!未指定书签。7参考文献错误!未指定书签。1概述1)程序要求每个学生的信息为:
3、学号、姓名、性别、家庭住址、联系电话、语文、数学、 外语三门单科成绩、考试平均成绩、考试名次、同学互评分、品德成绩、任课教 师评分、综合测评总分、综合测评名次。考试平均成绩、同学互评分、品德成绩、 任课教师评分分别占综合测评总分的 60% 10% 10% 20%A、学生信息处理(1) 输入学生信息、学号、姓名、性别、家庭住址、联系电话,按学号以 小到大的顺序存入文件中。(2) 插入(修改)同学信息:(3) 删除同学信息:(4) 浏览学生信息:B学生数据处理:(1) 按考试科目录入学生成绩并且按公式:考试成绩=(语文+数学+外语)/3计算考试成绩,并计算考试名次, 提示:先把学生信息读入数组,然
4、后按提示输入每科成绩,计算考试成 绩,求出名次,最后把学生记录写入一个文件中。(2) 学生测评数据输入并计算综合测评总分及名次。综合测评总分=(考试成绩)*0.6+ (同学互评分)*0.1+品德成绩*0.1 + 任课老师评分*0.2。(3) 学生数据管理输入学号,读出并显示该同学信息,输入新数据,将改后信息写入文件(4) 学生数据查询:输入学号或其他信息,即读出所有数据信息,并显示出来。C学生综合信息输出3)开发环境Microsoft Visual C+ 6.02需求分析为什么要做个学生综合测评系统。以下有几点理由1,我们都知道学校考核一个学生的主要依据就是学生的综合成绩,综合素质。 这就让一
5、个学生的综合测评系统的建立显得尤为重要。2 一个学生综合测评系统包括学生的方方面面信息,这有利于学校的管理。3大家都知道学生是流动的,而且综合测评是每年评比一次,所以这学生综合 测评系统的更改录入功能重要性不明而喻。4现在是个时间就是金钱的社会。老师本身就工作繁忙。这系统可以大大减轻 老师的包袱。5这是个开放的平台,每个学生都可以轻易地查询自己的成绩。灵活性强。3总体设计1)程序主界面设计学2信学生信息处息处 界H、数rrr 二输入3)学学生信息讦理系醪改%墅仔息r他L - 自息1除学生 学理 据 数 生 学浏览学生信息录入4 )成绩开始学生数据查询否4程序设计1 )主界面程序设计(1)函数描
6、述输入参数:无 输出参数:无功 能:本系统可以存储学生的基本信息和各科成绩,并能计算考 试成绩,综合测评成绩和排名。(2)函数程序int main() system(color 2e);欢迎使用学生综合管理系prin tf(nnntt.统nn);prin tf(nntt);- system(pause);menu(); /主菜单入口函数return 0 ;2)学生信息处理子菜单(1)函数描述函数名:info_menu() 输入参数:无输出参数:无 功 能:显示学生信息处理系统菜单(2)函数程序void in fo_me nu()/学生信息菜单int choice;while(1)system(
7、cls);/清屏prin tf(nnnntt nn);学生信息处理系统1.输入学生信息n);prin tf(ttt2.修改学生信息n);prin tf(ttt3.删除学生信息n);prin tf(ttt4.浏览学生信息n);prin tf(ttt0.返回主菜单nn);prin tf(tt请输入序号选择操作:);精心整理scan f(%d,&choice);if(choice=0) break;switch(choice)case 1: system(cls);i nfo_inp ut();_ info_xieru(); break;case 2: system(cls);i nfo_xiuga
8、i(); break;case 3: system(cls);i nfo_del(); break;case 4: system(cls);i nfo_out put(); break;输入有误!请重default:system(cls); prin tf(nt 新输入!nn); break;3 )学生数据处理子菜单(1)函数描述函数名:data_menu()输入参数:无 输出参数:无 功 能:显示学生数据处理系统菜单(2)函数程序Void data_me nu()/数据处理菜单int choice;/prin tf(nt 完成! n);在进入学生数据管理前,请确认学生信息已全部prin tf
9、(nt输入数字选择(0 :返回;其它数字继续。)n);sea nf(%d,&choice);if(choice=0) return;while(1)system(cls);/清屏prin tf(nnnntt nn);学生数据处理系统prin tf(ttt1.录入成绩数据n);prin tf(ttt2.修改学生数据n);prin tf(ttt3.学生数据查询n);prin tf(ttt0.返回主菜单nn);prin tf(tt请输入序号选择操作:);scan f(%d,&choice);if(choice=0) break;switch(choice)case 1: system(cls);da
10、ta_i np ut(); break;case 2: system(cls);data_xiugai(); break;case 3: system(cls);data_chax un(); break;输入有误!请重default: system(cls); prin tf(nt 新输入!nn); break;4) 学生综合信息输出(1)函数描述函数名:shuchu()输入参数 输出参数学生信息的综合输出(2)函数程序void shuchu()/学生综合信息输出int i;data_daoru();prin tf(n);printf(n);printf(平均分学号姓名名次 测评总分n);电
11、话printf(n);for(i=0;ico un t;i+)prin tf(|%10d %10s %14s %10.1f %10d %10.1f n ,i nfoi. nu mber,i nfoi. name,i nfoi. phon e,datai .avg,datai.ksmc,datai.ce pin g);prin tf(|n);prin tf(nntt);system( pause);prin tf(n);5)帮助函数/*函数名:hel p()输入参数:无 输出参数:无功能:显示本系统的信息*/帮助信void help() 息system(cls);/清屏prin tf(n);pr
12、in tf(ttt学生综合测评系统!nn);prin tf(本系统可以存储学生的基本信息和各科成绩,并能计算考试成绩,综合测评成绩和排名。nn);printf(各科成绩包括:基本信息包括:学号、姓名、性别、家庭住址、联系电话;nn 语文、数学、英语成绩;nn);printf( 等。nn);其它包括:考试名次、同学互评分、品德成绩、任课教师评分printf(+外)/3);nn);说明:考试成绩排名是按照考试成绩计算的(考试成绩=(语+数printf(成绩)*0.1n+(综合测评总分=(考试成绩)*0.6+ (同学互评分)*0.1+(品德 任课教师评分)*0.2)nn);printf(其它请按照提
13、示操作即可。nn);prin tf(nntt);system( pause);6)学生信息导入函数/*函数名:in fo_daoru()输入参数:无 输出参数:无功能:打开存放的学生信息*/void in fo_daoru()生信息导出文件函数FILE *f_info;printf(nnt正在导入.nn);if(f_i nfo=fo pen (i nfo.txt,r)=NULL)printf(nt 打开文件失败!nn);return;coun t=0;while(!feof(f_i nfo)fscan f(f_i nfo,%d %s %s %s %s,&p.nu mber,&p.n ame,&
14、p .sex,&p .addr,&p.phon e);in foco un t=p;coun t+;printf(nt 导入已完成!共导入 %d条记录!nnn,count);fclose(f_i nfo);system(cls);7)学生信息输入函数 /*函数名 :info_inp ut()输入参数:无 输出参数:无功能:录入学生个人信息*/void info_inp ut() 学生信息输入函数int i,j;in fo_daoru();for( ; ; )printf(t请输入学号(输入0退出):);scan f(%d,&p.n umber);if(p.nu mber=O) return;/
15、for(i=0;i=co un t;i+)断是否存在该学生if(p.nu mber=i nfoi. nu mber) getcharO;prin tf(nnt该学号已存在!请重新输入!nn);return;prin tf(t请输入姓名:输入学生信息);/scan f(%s,&p.n ame);prin tf(t请输入性别:);scan f(%s,&p .sex);if( ( strc mp(p .sex ,男)!=0 ) | (strc mp(p .sex ,)!=0) prin tf(t继续n);你输入的内容不符合要求,请从新输入!按任意键con ti nue;prin tf(t请输入家庭地
16、址);scan f(%s,&p .addr );prin tf(t请输入电话号码:);scan f(%s,&p.phone);in foco un t=p;for(i=0;iin foco un t .nu mber)for(j=co un t;ji;j-)in foj=i nfoj-1;in foi=p;break;coun t+;8 )输出函数/*函数名一_: info_output()输入参数:无 输出参数:无功能:显示学生个人信息*/学生信息void in fo_out put()浏览FILE *f_info;精心整理int i;if(f_i nfo=fo pen (i nfo.txt
17、,T)=NULL)/判断prin tf(nt没有学生信息门;prin tf(t请按任意键返回上级:);精心整理prin tf(nntt);system( pause);return;in fo_daoru();prin tf(n);/if(co un t=0)判断prin tf(nt没有学生信息门;prin tf(nntt);system( pause);return;else/prin tf( 学号 姓名输出学生信息性别家庭地址联系电话n);for(i=0;ico un t;i+)printf(%d,i nfoi. nu mber);printf(%8s,i nfoi. name);prin
18、tf(%8s,i nfoi.sex);printf(%10s,i nfoi.addr);printf(%10snn,i nfoi. phone);prin tf(nntt);system( pause);prin tf(nnnn);9)学生信息写入文件/*函数名:in fo_xieru()输入参数:无输出参数:无功能:把学生个人信息数据写入到文件*/void info_xieru()信息写入文件函数/学生FILE *f;int i;if(f=fo pen (i nfo.txt,w)=NULL)printf(nt打开文件失败!nn);exit(O);for(i=0;ico un t;i+) 存文
19、件/if(i nfoi. nu mber=w. nu mber) con ti nue;Ielse fpri ntf(f,%d %s %s %s %s,i nfoi. nu mber,i nfoi. name,i nfoi.sex,i nfoi.addr ,in foi. pho ne);fclose(f);printf(nt保存成功!nn);prin tf(nntt);system( pause);system(cls);return;精心整理10)删除学生信息函数/*函数名:in fo_del()输入参数:无输出参数:无功能:删除学生个人信息*/void in fo_del()信息删除/学
20、生int PP;int i,j;in fo_daoru();prin tf(nt请输入要删除学生的学号:);sea nf(%d,&pp);prin tf(n);for(i=0;i=eo un t)_printf(nt没有找到该学生!n); return;-printf( 学号 姓名性别 地址/显示删除信息联系电话n);printf( %d ,i nfoi. number);printf( %5s ,i nfoi.sex);printf( %10snn,i nfoi. phone);printf( %5s ,i nfoi. name);printf( %10s ,i nfoi.addr);精心整
21、理printf(nt是否删除?t 1.是 t 2. 否 t );while(1)switch(j)case 1: infoi=w; printf(nt 删除成功!nn); info_xieru(); return;case 2: retur n;default : printf(”输入错误!请重新输入!);break;printf(t请输入家庭地址);prin tf(t请输入电话号码:);精心整理break;prin tf(nntt);system( pause);11)学生信息修改函数 /*函数名:in fo_xiugai()输入参数:无 输出参数:无功能:修改学生信息*/修改学生void
22、in fo_xiugai()信息int PP;int i,j;in fo_daoru();找sca nf(%d,&pp);for(i=0;iv=co un t;i+)if(i nfoi. nu mber=pp) break;if(i=cou nt) prin tf(nt没有找到该学生!n); return;printf(学号姓名性别家庭地址联系电话n);/显示printf(%d,i nfoi. nu mber);printf(%10s,i nfoi. name);printf(%10s,i nfoi.sex);printf(%16s,i nfoi.addr);printf(%13sn,i nf
23、oi. phone);printf(nt是否修改?t 1.是 t 2. 否 t );while(1)/修改switch(j)case 1:prin tf(t学号为:%.0dn,i nfoi. number);prin tf(t请输入姓名:);sca nf(%s,i nfoi. name);prin tf(t请输入性别:);scan f(%s,i nfoi.sex);女)!=0)if( ( strc mp(p .sex ,男)!=0 ) | (strc mp(p .sex , printf(t任意键继续n);你输入的内容不符合要求,请从新输入!按getch();con ti nue;scan f
24、(%s,&in foi.addr);scan f(%s,i nfoi. pho ne);prin tf(nt修改成功!nn); info_xieru(); return;/保存case 2: retur n;default : printf(输入错误!请重新输入!);break;break;prin tf(nntt);system( pause);12)学生成绩数据导入 /*函数名:data_daoru() 输入参数:无 输出参数:无功能:学生成绩从文件导入*/学生数据void data_daoru()导出FILE *f_data;int i;in fo_daoru();printf(nnt正
25、在导入.nn);if(f_data=fo pen( data.txt,T)=NULL)return;printf(nt打开文件失败!nn);精心整理i=0;while(!feof(f_data)fscan f(f_data,%d %d %d %d %f %d %d %d %d %f,&d.nu mber,&d.chi nese,&d.math,&d.e nglish,&d.avg,&d.ksmc,&d.h uping ,&d.pinde,&d.teacher,&d.ce pin g);datai=d;i+;printf(nt 导入已完成!共导入 %d条记录!nnn,count);fclose(
26、f_data); 件_/关闭文system(cls);13)数据写入/*函数名:data_xieru()输入参数:无输出参数:无功能:学生数据写入到文件*/void data_xieru()文件函数/写入FILE *f;int i;if(f=fo pen( data.txt,w)=NULL)printf(nt打开文件失败!nn);exit(0);for(i=0;ico un t;i+)printf(nt打开文件失败!nn);精心整理fprin tf(f,%d %d %d %d %f %d %d %d %d %f,datai. nu mber,datai.chi nese,datai.math,
27、datai.e nglish,data i.avg,datai.ksmc,datai.hu ping ,datai. pin de,datai.teacher,d atai.ce pin g);fclose(f);prin tf(nntt);system( pause);system(cls);return;14)数据输入函数 /*函数名:data_i nput()输入参数:无 输出参数:无功能:录入学生数据*/void datanp ut()/数据输入FILE *f_info;int choice,i,k;/prin tf(nt警告!原有成绩将被覆盖! n);prin tf(nt输入数字选择
28、(0.返回;其余数字继续)nn);sca nf(%d,&choice);if(choice=0) return;/ 判printf(nnt正在导入.nn);断if(f_i nfo=fo pen (i nfo.txt,r)=NULL)return;coun t=0;while(!feof(f_i nfo)出学生信息/fscan f(f_i nfo,%d %s %s %s %s,&p.nu mber, p.n ame ,p .sex ,p .addr ,p.phon e);dataco un t .nu mber =p.nu mber ;in foco un t=p;coun t+;printf(
29、nt 导入已完成!共导入 %d条记录!nnn,count);fclose(f_i nfo);for(i=0;ico un t;i+) 入学生数据/printf(t学号:dn,infoi.number);-prin tf(n);printf(t姓名:%sn,i nfoi. name);prin tf(n);prin tf(t请输入语文成绩:);scan f(%d,&datai.chi nese);while( datai.chi nese 100 ) prin tf(t 确的数值!n);printf(t请输入语文成绩:);对不起你输入的数据不是1-100之间,请从新输入真sca nf(%d,&d
30、atai.chi nese);prin tf(n);prin tf(t请输入数学成绩:);scan f(%d,&datai.math);while( datai.math 100 ) printf(t 确的数值!n);对不起你输入的数据不是1-100之间,请从新输入真prin tf(t请输入数学成绩:);sea nf(%d,&datai.math);prin tf(n);prin tf(t请输入英语成绩:);scan f(%d,&datai.e nglish); prin tf(t 确的数值!n);对不起你输入的数据不是1-100之间,请从新输入真while( datai.e nglish 1
31、00 )prin tf(t请输入品德成绩:);精心整理prin tf(t请输入英语成绩:);sca nf(%d,&datai.e nglish);prin tf(n);prin tf(t请输入同学互评成绩:);sca nf(%d,&datai.h uping );while( datai.hu ping 100 ) prin tf(t 确的数值!n);对不起你输入的数据不是1-100之间,请从新输入真prin tf(t请输入同学互评成绩:);scan f(%d,&datai.h uping );- prin tf(n);prin tf(t请输入品德成绩:);scan f(%d,&datai.
32、pin de);while( datai. pin de 100 ) prin tf(t 确的数值!n);对不起你输入的数据不是1-100之间,请从新输入真sca nf(%d,&datai. pin de);精心整理 prin tf(t 确的数值!n);printf(t请输入老师评分:);prin tf(n);prin tf(t请输入老师评分:);scan f(%d,&datai.teacher);while( datai.teacher 100 )对不起你输入的数据不是1-100之间,请从新输入真sca nf(%d,&datai.teacher);datai.avg=(datai.chi n
33、ese+datai.math+datai.e nglish)/3.0;datai.ce pin g=(datai.avg*0.6+datai.hu pin g*0.1 +datai. pin de*0.1+datai.teacher*0.2);datai.ksmc=i+1;/for(k=0;kdatak.avg)datak.ksmc=datak.ksmc+1;if(datai.ksmcdatak.ksmc-1)datai.ksmc=datak.ksmc-1;_prin tf(nt输入已完成!正在保存. n);data_xieru();system(cls);15)数据修改 /*函数名 :dat
34、a_xiugai()输入参数:无 输出参数:无功能:学生成绩数据的修改*/void data_xiugai()/数据修改int pp;int i,j,k;data_daoru();prin tf(nt请输入要修改学生的学号:);sea nf(%d,&pp);prin tf(n);for(i=0;i=cou nt) prin tf(nt没有找到该学生!n); return;printf(nt学号:.0d姓名:%s nnt 语文:%d数学:%d英语:%d品德成绩:%d老师评分:%dnn ,datai. nu mber,i nfoi. name,datai.ch in ese,datai.math,
35、datai.e nglish,datai. pin de,datai.teacher);printf(nt是否修改?t 1.是 t 2. 否 t );while(1)/询问scan f(%d,&j);switeh(j)case 1:for(k=0;kdatak.avg)datak.ksmc=datak.ksmc-1;prin tf(nt请输入语文成绩:);scan f(%d,&datai.chi nese);while( datai.chinese 100 ) prin tf(t输入真确的数值!n);对不起你输入的数据不是1-100之间,请从新prin tf(t请输入老师评分:);scan f
36、(%d,&datai.chi nese );prin tf(t请输入数学成绩:);scan f(%d,&datai.math);while( datai.math 100 ) prin tf(t新输入真确的数值!n);对不起你输入的数据不是1-100之间,请从prin tf(t请输入数学成绩:);scan f(%d,&datai.math);prin tf(t请输入英语成绩:);scan f(%d,&datai.e nglish);while( datai.e nglish 100 )新输入真确的数值!printf(t对不起你输入的数据不是1-100之间,请从n);prin tf(t请输入英语
37、成绩:);scanf(%d,&datai.e nglish);prin tf(nt请输入同学互评成绩:);sca nf(%d,&datai.h uping );while( datai.hu ping 100 )输入真确的数值! prin tf(tn);对不起你输入的数据不是1-100之间,请从新prin tf(t请输入同学互评成绩:);sca nf(%d,&datai.h uping );prin tf(nt请输入品德成绩:);scan f(%d,&datai. pin de);while( datai. pin de 100 ) prin tf(t输入真确的数值!n);对不起你输入的数据不
38、是1-100之间,请从新prin tf(t请输入品德成绩:);scan f(%d,&datai. pin de);prin tf(t请输入老师评分:);scan f(%d,&datai.teacher);while( datai.teacher 100 ) prin tf(t输入真确的数值!n);对不起你输入的数据不是1-100之间,请从新prin tf(t请输入老师评分:);scan f(%d,&datai.teacher);datai.avg=(datai.chi nese+datai.math+datai.e nglish)/3.0;datai.ce pin g=(datai.avg*0
39、.6+datai.h uping *0.1 + datai. pin de*0.1+datai.teacher*0.2);datai.ksmc=co unt;for(k=0;kvcou nt;k+)/重新排名次if(datai.avgdatak.avg)datak.ksmc=datak.ksmc+1;if(datai.ksmcdatak.ksmc-1)datai.ksmc=datak.ksmc-1;printf(nt修改成功!nn); data_xieru(); return;/写入文件case 2: retur n;default : printf(”输入错误!请重新输入!);break;break;prin tf(nntt);system( pause);16) 数据查询 /*函数名:data_chax un()输入参数:无 输出参数:无功能:学生数据的查询*void data_chax un()/数据查询int
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年齿轮传动测试题民及答案
- 2025年5岁智商测试题及答案
- 2025年教资面试试题及答案
- 2025年数字视觉设计考试题及答案
- 2025年初级社工章节试题及答案
- 2025年专注力视听测试题及答案
- 2025年水利单招面试试题及答案
- 2025年4单元数学测试题及答案
- 保育师中级练习试题
- 急救物品制度⭐复习试题含答案
- 【9物一模】2024年安徽省合肥市庐阳中学九年级中考一模物理试卷
- 新冀人版小学科学三年级下册全册教案(2022年春修订)
- 高中物理万有引力定律知识点总结与典型例题
- 吊装平台施工方案
- 欧姆定律-中考复习课件
- 中学语文课程标准研究最新试题及答
- 粱、柱、板截面取值原则最终
- 如何激发学生学习物理的兴趣PPT课件
- CRH2 第5章 转向架
- 安全生产—2021年评中级职称的论文
- 离婚协议书模板最新
评论
0/150
提交评论