版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、-PAGE . z.科技学院C语言课程设计设计(论文)题目:学生成绩管理系统所 在 院: 信息工程学院 专 业 班 级: 15计算机科学与技术3班学 生 姓 名: 宋建军 学 号: 201515085指 导 教 师: 周丽2016年9月11日科技学院课程设计论文任务书设计题目:学生综合信息测评系统专业班级:15计算机科学与技术3班 *2015150085宋建军 主要容设计学生成绩管理系统,主要包含:输入记录模块、查询记录模块、更新记录模块、统计记录模块和输出记录模块。采用字符用户界面,通过菜单项选择择相应的操作,直观且操作简单。数据的存储选用数据文件方式;编辑平台选用Microsoft Vis
2、ual C+ 6.0 。所用到的知识点有:三种根本程序构造,数组,函数,指针,构造体,文件操作和链表。根本要求:按照容要求,设计完整的学生成绩管理系统。要求调试通过,不存在漏洞,方便用户操作。功能的实现上力求容错能力要强且提示信息完备。完成期限:2016年9月11日指导教师签名: TOC o 1-3 h z u HYPERLINK l _Toc2972368741概述 PAGEREF _Toc297236874 h 1 1.1程序要求.1 1.2具体分工情况.1 1.3开发环1HYPERLINK l _Toc2972368752需求分析2HYPERLINK l _Toc2972368763总体
3、设计 PAGEREF _Toc297236876 h 23.1程序主界面设计. 3.2学生信息处理子界面设计 3.3学生数据处理子界面设计HYPERLINK l _Toc2972368774 程序设计 PAGEREF _Toc297236877 h 2HYPERLINK l _Toc2972368785 程序调试 PAGEREF _Toc297236878 h 2HYPERLINK l _Toc2972368796 程序评估 PAGEREF _Toc297236879 h 3HYPERLINK l _Toc2972368807 参考文献 PAGEREF _Toc297236880 h 3-.
4、z.概述1 ) 程序要求每个学生的信息为:*、性别、家庭住址、联系、语文、数学、外语三门单科成绩、考试平均成绩、考试名次、同学互评分、品德成绩、任课教师评分、综合测评总分、综合测评名次。考试平均成绩、同学互评分、品德成绩、任课教师评分分别占综合测评总分的60%,10%,10%,20%。A、学生信息处理(1)输入学生信息、*、性别、家庭住址、联系,按*以小到大的顺序存入文件中。(2) 插入修改同学信息:(3) 删除同学信息:(4) 浏览学生信息:B、学生数据处理:(1)按考试科目录入学生成绩并且按公式:考试成绩语文+数学+外语/3 计算考试成绩,并计算考试名次,提示:先把学生信息读入数组,然后按
5、提示输入每科成绩,计算考试成绩,求知名次,最后把学生记录写入一个文件中。(2) 学生测评数据输入并计算综合测评总分及名次。综合测评总分考试成绩*0.6+同学互评分*0.1+品德成绩*0.1+任课教师评分*0.2。(3) 学生数据管理输入*,读出并显示该同学信息,输入新数据,将改后信息写入文件(4) 学生数据查询:输入*或其他信息,即读出所有数据信息,并显示出来。C、学生综合信息输出。3 )开发环境 Microsoft Visual C+ 6.0需求分析为什么要做个学生综合测评系统。以下有几点理由1,我们都知道学校考核一个学生的主要依据就是学生的综合成绩,综合素质。这就让一个学生的综合测评系统的
6、建立显得尤为重要。2一个学生综合测评系统包括学生的方方面面信息,这有利于学校的管理。3大家都知道学生是流动的,而且综合测评是每年评比一次,所以这学生综合测评系统的更改录入功能重要性不明而喻。4现在是个时间就是金钱的社会。教师本身就工作繁忙。这系统可以大大减轻教师的包袱。5这是个开放的平台,每个学生都可以轻易地查询自己的成绩。灵活性强。总体设计 1) 程序主界面设计主界面数据处理系统学生信息处理退出综合信息输出 2 ) 学生信息处理子界面设计学生信息处理浏览学生信息修改学生信息返回删除学生信息输入学生信息 3学生数据处理子界面设计学生数据处理学生数据查询返回修改学生数据录入成绩4 ) 主菜单程序
7、流程图 开场Data-menu退出I=9?输入数字主菜单i=0 是info-menu I=1 是 否I=2? 是 否I=3? 是shuchu 否Help 是4 程序设计 1主界面程序设计 1函数描述输入参数:无输出参数:无 功 能:本系统可以存储学生的根本信息和各科成绩,并能计算考试成绩,综合测评成绩和排名。 2函数程序int main() system(color 2e);printf(nnntt欢送使用学生综合管理系统nn);printf(nntt);system(pause); menu(); /主菜单入口函数return 0 ; 2学生信息处理子菜单 1 函数描述函 数 名 : inf
8、o_menu()输入参数 :无输出参数 :无功 能 :显示学生信息处理系统菜单2 函数程序 void info_menu() /学生信息菜单int choice;while(1)system(cls); /清屏 printf(nnnntt学生信息处理系统nn); printf(ttt 1.输入学生信息n); printf(ttt 2.修改学生信息n); printf(ttt 3.删除学生信息n); printf(ttt 4.浏览学生信息n); printf(ttt 0.返回主菜单nn); printf(tt请输入序号选择操作:);scanf(%d,&choice); if(choice=0)
9、break; switch(choice) case 1: system(cls);info_input(); info_*ieru(); break; case 2: system(cls);info_*iugai(); break; case 3: system(cls);info_del(); break;case 4: system(cls);info_output(); break; default:system(cls); printf(nt输入有误!请重新输入!nn); break; 3学生数据处理子菜单 1 函数描述函 数 名: data_menu()输入参数 :无输出参数:无
10、功 能 :显示学生数据处理系统菜单 2 函数程序 Void data_menu() /数据处理菜单int choice;/printf(nt在进入学生数据管理前,请确认学生信息已全部完成!n);printf(nt输入数字选择(0:返回;其它数字继续。)n);scanf(%d,&choice);if(choice=0) return;while(1)system(cls); /清屏 printf(nnnntt学生数据处理系统nn); printf(ttt 1.录入成绩数据n); printf(ttt 2.修改学生数据n); printf(ttt 3.学生数据查询n); printf(ttt 0.
11、返回主菜单nn); printf(tt请输入序号选择操作:); scanf(%d,&choice); if(choice=0) break; switch(choice) case 1: system(cls);data_input(); break; case 2: system(cls);data_*iugai(); break; case 3: system(cls);data_cha*un(); break; default: system(cls);printf(nt输入有误!请重新输入!nn); break;4学生综合信息输出 1 函数描述 函 数 名 : shuchu()输入参数
12、 :无输出参数 :无功 能 :学生信息的综合输出 2函数程序 void shuchu() /学生综合信息输出int i;data_daoru();printf(n);printf( _ _ _ _ _ _ n);printf( * 平均分 名次 测评总分n);printf( _ _ _ _ _ _ n);for(i=0;icount;i+)printf(|%10d %10s %14s %10.1f %10d %10.1f n,infoi.number,,infoi.phone,datai.avg,datai.ksmc,datai.ceping);printf(|_|_|_|
13、_|_|_|n);printf(nntt);system(pause);printf(n);5帮助函数 /*函数名 : help()输入参数:无输出参数:无 功能 :显示本系统的信息*/void help() /帮助信息system(cls); /清屏 printf(n);printf(ttt学生综合测评系统!nn);printf( 本系统可以存储学生的根本信息和各科成绩,并能计算考试成绩,综合测评成绩和排名。nn);printf( 根本信息包括:*、性别、家庭住址、联系;nn 各科成绩包括:语文、数学、英语成绩;nn);printf( 其它包括:考试名次、同学互评分、品德成绩、任课教师评分等
14、。nn);printf( 说明:考试成绩排名是按照考试成绩计算的(考试成绩=(语+数+外)/3);nn);printf( 综合测评总分=(考试成绩)*0.6+同学互评分*0.1+(品德成绩)*0.1n +(任课教师评分)*0.2)nn);printf( 其它请按照提示操作即可。nn);printf(nntt);system(pause);6学生信息导入函数 /*函数名 : info_daoru()输入参数:无输出参数:无 功能 :翻开存放的学生信息*/void info_daoru() /学生信息导出文件函数FILE *f_info;printf(nnt正在导入.nn);if(f_info=f
15、open(info.t*t,r)=NULL)printf(nt翻开文件失败!nn);return;count=0; while(!feof(f_info)fscanf(f_info,%d %s %s %s %s ,&p.number,&,&p.se*,&p.addr ,&p.phone);infocount=p;count+;printf(nt导入已完成!共导入 %d 条记录!nnn,count);fclose(f_info);system(cls);7学生信息输入函数/*函数名 : info_input()输入参数:无输出参数:无 功能 :录入学生个人信息*/void info_
16、input() /学生信息输入函数int i,j; info_daoru();for( ; ; )printf(t请输入*(输入0退出):);scanf(%d,&p.number);if(p.number=0) return;for(i=0;i=count;i+) /判断是否存在该学生if(p.number=infoi.number)printf(nnt该*已存在!请重新输入!nn);return;printf(t请输入:); /输入学生信息scanf(%s,&);printf(t请输入性别:);scanf(%s,&p.se*);if( ( strcmp(p.se* ,男)!=0
17、) | (strcmp(p.se* ,女)!=0) ) printf(t你输入的容不符合要求,请从新输入!按任意键继续n); getchar(); continue; printf(t请输入家庭地址);scanf(%s,&p.addr );printf(t请输入:);scanf(%s,&p.phone);infocount=p;for(i=0;iinfocount.number) for(j=count;ji;j-)infoj=infoj-1;infoi=p;break;count+;8输出函数/*函数名 : info_output()输入参数:无输出参数:无功能 :显示学生个人信息*/voi
18、d info_output() /学生信息浏览FILE *f_info;int i;if(f_info=fopen(info.t*t,r)=NULL) /判断 printf(nt没有学生信息!);printf(nntt); system(pause);return;info_daoru(); printf(n);if(count=0) /判断 printf(nt没有学生信息!);printf(nntt); system(pause); return; elseprintf( *性别家庭地址联系n); /输出学生信息for(i=0;icount;i+)printf( %d,infoi.numbe
19、r);printf( %8s,);printf( %8s,infoi.se*);printf( %10s,infoi.addr);printf( %10snn,infoi.phone);printf(t请按任意键返回上级:);printf(nntt);system(pause);printf(nnnn);9学生信息写入文件 /*函数名 : info_*ieru()输入参数:无输出参数:无 功能 :把学生个人信息数据写入到文件*/void info_*ieru() /学生信息写入文件函数FILE *f;int i;if(f=fopen(info.t*t,w)=NULL)pri
20、ntf(nt翻开文件失败!nn);e*it(0); for(i=0;icount;i+) /保存文件 if(infoi.number=w.number) continue; else fprintf(f,%d %s %s %s %s ,infoi.number,,infoi.se*,infoi.addr ,infoi.phone);fclose(f);printf(nt保存成功!nn);printf(nntt);system(pause); system(cls);return;10删除学生信息函数/*函数名 : info_del()输入参数:无输出参数:无 功能 :删除学
21、生个人信息*/void info_del() /学生信息删除int pp;int i,j;info_daoru();printf(nt请输入要删除学生的*:);scanf(%d,&pp);printf(n);for(i=0;i=count)printf(nt没有找到该学生!n); return;printf(* 性别 地址 联系n); /显示删除信息printf( %d ,infoi.number);printf( %5s ,);printf( %5s ,infoi.se*); printf( %10s ,infoi.addr);printf( %10snn,infoi.p
22、hone);printf(nt是否删除t 1.是 t 2.否 t );while(1) scanf(%d,&j); switch(j)case 1: infoi=w; printf(nt删除成功!nn); info_*ieru(); return; case 2: return; default : printf(输入错误!请重新输入!);break;break;printf(nntt); system(pause);11学生信息修改函数/*函数名 : info_*iugai()输入参数:无输出参数:无 功能 :修改学生信息*/void info_*iugai() /修改学生信息int pp;
23、int i,j;info_daoru();printf(nt请输入要修改学生的*:); /查找scanf(%d,&pp);printf(n);for(i=0;i=count) printf(nt没有找到该学生!n); return;printf(*性别家庭地址联系n); /显示printf( %d,infoi.number);printf( %10s,);printf( %10s,infoi.se*);printf( %16s,infoi.addr);printf( %13sn,infoi.phone);printf(nt是否修改t 1.是 t 2.否 t );while(
24、1) /修改 scanf(%d,&j); switch(j) case 1:printf(t*为:%.0dn,infoi.number);printf(t请输入:); scanf(%s,); printf(t请输入性别:); scanf(%s,infoi.se*);if( ( strcmp(p.se* ,男)!=0 ) | (strcmp(p.se* ,女)!=0) ) printf(t你输入的容不符合要求,请从新输入!按任意键继续n); getch(); continue;printf(t请输入家庭地址);scanf(%s,&infoi.addr); printf(t请输
25、入:); scanf(%s,infoi.phone);printf(nt修改成功!nn); info_*ieru(); return; /保存 case 2: return; default : printf(输入错误!请重新输入!);break;break;printf(nntt); system(pause);12学生成绩数据导入/*函数名 : data_daoru()输入参数:无输出参数:无 功能 :学生成绩从文件导入*/void data_daoru() /学生数据导出 FILE *f_data;int i; info_daoru(); printf(nnt正在导入.nn);if(f_
26、data=fopen(data.t*t,r)=NULL)printf(nt翻开文件失败!nn);return;i=0; while(!feof(f_data)fscanf(f_data,%d %d %d %d %f %d %d %d %d %f ,&d.number,&d.chinese,&d.math,&d.english,&d.avg,&d.ksmc,&d.huping ,&d.pinde,&d.teacher,&d.ceping);datai=d;i+;printf(nt导入已完成!共导入 %d 条记录!nnn,count);fclose(f_data); /关闭文件system(cls
27、);13数据写入/*函数名 : data_*ieru()输入参数:无输出参数:无 功能 :学生数据写入到文件*/void data_*ieru() /写入文件函数FILE *f;int i;if(f=fopen(data.t*t,w)=NULL)printf(nt翻开文件失败!nn);e*it(0); for(i=0;icount;i+) fprintf(f,%d %d %d %d %f %d %d %d %d %f ,datai.number,datai.chinese,datai.math,datai.english,datai.avg,datai.ksmc,datai.huping ,d
28、atai.pinde,datai.teacher,datai.ceping);fclose(f);printf(nntt);system(pause); system(cls);return;14数据输入函数/*函数名 : data_input()输入参数:无输出参数:无功能 :录入学生数据*/void data_input() /数据输入FILE *f_info;int choice,i,k; /printf(nt警告!原有成绩将被覆盖!n);printf(nt输入数字选择(0.返回;其余数字继续)nn);scanf(%d,&choice);if(choice=0) return;print
29、f(nnt正在导入.nn); /判断if(f_info=fopen(info.t*t,r)=NULL)printf(nt翻开文件失败!nn);return;count=0; while(!feof(f_info) /导出学生信息fscanf(f_info,%d %s %s %s %s ,&p.number,,p.se*,p.addr ,p.phone);datacount.number =p.number ;infocount=p;count+;printf(nt导入已完成!共导入 %d 条记录!nnn,count);fclose(f_info);for(i=0;icount;i+
30、) /输入学生数据 printf(t*:%dn,infoi.number); printf(n);printf(t:%sn,);printf(n);printf(t请输入语文成绩:);scanf(%d,&datai.chinese);while( datai.chinese 100 ) printf(t对不起你输入的数据不是 1-100 之间,请从新输入真确的数值!n); printf(t请输入语文成绩:); scanf(%d,&datai.chinese);printf(n);printf(t请输入数学成绩:);scanf(%d,&datai.math);while( d
31、atai.math 100 ) printf(t对不起你输入的数据不是 1-100 之间,请从新输入真确的数值!n); printf(t请输入数学成绩:);scanf(%d,&datai.math);printf(n);printf(t请输入英语成绩:);scanf(%d,&datai.english);while( datai.english 100 ) printf(t对不起你输入的数据不是 1-100 之间,请从新输入真确的数值!n); printf(t请输入英语成绩:); scanf(%d,&datai.english);printf(n); printf(t请输入同学互评成绩:);s
32、canf(%d,&datai.huping );while( datai.huping 100 ) printf(t对不起你输入的数据不是 1-100 之间,请从新输入真确的数值!n); printf(t请输入同学互评成绩:);scanf(%d,&datai.huping );printf(n);printf(t请输入品德成绩:);scanf(%d,&datai.pinde);while( datai.pinde 100 ) printf(t对不起你输入的数据不是 1-100 之间,请从新输入真确的数值!n); printf(t请输入品德成绩:);scanf(%d,&datai.pinde);
33、printf(n);printf(t请输入教师评分:);scanf(%d,&datai.teacher);while( datai.teacher 100 ) printf(t对不起你输入的数据不是 1-100 之间,请从新输入真确的数值!n); printf(t请输入教师评分:);scanf(%d,&datai.teacher);datai.avg=(datai.chinese+datai.math+datai.english)/3.0;datai.ceping=(datai.avg*0.6+datai.huping*0.1 +datai.pinde*0.1+datai.teacher*0.
34、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;printf(nt输入已完成!正在保存. n);data_*ieru();system(cls);15数据修改/*函数名 : data_*iugai()输入参数:无输出参数:无 功能 :学生成绩数据的修改*/void data_*iugai() /数据修改int pp;int i,j,k;data_daoru();printf(nt请输入要修改学生的*:);scanf(%d
35、,&pp);printf(n);for(i=0;i=count) printf(nt没有找到该学生!n); return;printf(nt*:%.0d :%s nnt语文:%d 数学:%d 英语:%d 品德成绩:%d 教师评分:%dnn,datai.number,,datai.chinese,datai.math,datai.english,datai.pinde,datai.teacher);printf(nt是否修改t 1.是 t 2.否 t );while(1) /询问 scanf(%d,&j); switch(j) case 1:for(k=0;kdatak.av
36、g) datak.ksmc=datak.ksmc-1;printf(nt请输入语文成绩:);scanf(%d,&datai.chinese);while( datai.chinese 100 ) printf(t对不起你输入的数据不是 1-100 之间,请从新输入真确的数值!n);printf(t请输入教师评分:);scanf(%d,&datai.chinese );printf(t请输入数学成绩:);scanf(%d,&datai.math);while( datai.math 100 ) printf(t对不起你输入的数据不是 1-100 之间,请从新输入真确的数值!n);printf(t
37、请输入数学成绩:);scanf(%d,&datai.math);printf(t请输入英语成绩:);scanf(%d,&datai.english);while( datai.english 100 ) printf(t对不起你输入的数据不是 1-100 之间,请从新输入真确的数值!n);printf(t请输入英语成绩:);scanf(%d,&datai.english);printf(nt请输入同学互评成绩:); scanf(%d,&datai.huping );while( datai.huping 100 ) printf(t对不起你输入的数据不是 1-100 之间,请从新输入真确的数值
38、!n);printf(t请输入同学互评成绩:);scanf(%d,&datai.huping );printf(nt请输入品德成绩:);scanf(%d,&datai.pinde);while( datai.pinde 100 ) printf(t对不起你输入的数据不是 1-100 之间,请从新输入真确的数值!n); printf(t请输入品德成绩:);scanf(%d,&datai.pinde);printf(t请输入教师评分:);scanf(%d,&datai.teacher);while( datai.teacher 100 ) printf(t对不起你输入的数据不是 1-100 之间,
39、请从新输入真确的数值!n); printf(t请输入教师评分:);scanf(%d,&datai.teacher);datai.avg=(datai.chinese+datai.math+datai.english)/3.0;datai.ceping=(datai.avg*0.6+datai.huping *0.1+ datai.pinde*0.1+datai.teacher*0.2);datai.ksmc=count;for(k=0;kdatak.avg) datak.ksmc=datak.ksmc+1; if(datai.ksmcdatak.ksmc-1)datai.ksmc=datak.ksmc-1;printf(nt修改成功!nn); data_*ieru(); return; /写入文件 case 2: return; default : printf(输入错误!请重新输入!);break; break;printf(n
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026江苏徐州物资市场有限公司招聘7人笔试模拟试题及答案详解
- 教案嵌入式应用基础(项目1第3周)
- 2026浙江交通资源投资集团有限公司招聘5人(二)笔试备考题库及答案详解
- 2026宿迁经济技术开发区招聘城市管理辅助人员4人笔试参考题库及答案详解
- 2026安徽淮南市第五人民医院专业技术人员招聘6人笔试参考题库及答案详解
- 攀枝花市东区事业单位2026年直接考核招聘副高职称及以上人才笔试参考题库及答案详解
- 赣州市肿瘤医院公开招聘劳务派遣制工作人员笔试备考试题及答案详解
- 2026安徽科技工程大学招聘高层次人才53人笔试备考试题及答案详解
- 2026广西河池都安瑶族自治县公安局第二次招聘警务辅助人员7人笔试备考试题及答案详解
- 2026北航实验学校教师岗 (第三批)招聘2人笔试参考题库及答案详解
- 汉字“仁”的演变
- DB41∕T 2886-2025 矿产地质勘查规范 花岗伟晶岩型高纯石英矿
- 中医五脏眼诊
- GB/T 9869.3-2025橡胶用硫化仪测定硫化特性第3部分:无转子硫化仪
- 法院解冻申请书文档
- 2025年安徽三支一扶人员招募考试(职业能力测试)综合试题及答案
- (正式版)DB65∕T 3952-2016 《反恐怖防范设置规范 学校》
- 2025年6月浙江省高考物理试卷真题(含答案解析)
- DB61T 447.1-2023 林麝人工繁育规范 第1部分:场舍建设
- 2025年新华书店考试真题及答案
- 慢性酒精相关性脑损害疑难病例讨论
评论
0/150
提交评论