学生综合测评系统_第1页
学生综合测评系统_第2页
学生综合测评系统_第3页
学生综合测评系统_第4页
学生综合测评系统_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课程设计报告课程名称C语言程序设计课题名称学生综合测评系统专业班级学号姓名指导教师2012年 1 月2日湖南工程学院课程设计任务书课程名称 C语言程序设计课 题学生综合测评系统专业班级学生姓名 学号指导老师审批任务书下达日期2012年 12月 25日任务完成日期 2013年1月 2 日设计内容与设计要求1 .设计内容:课题十:学生综合测评系统一、问题描述:每个学生的信息为:学号、姓名、性别、家庭住址、联系电话、语文、数学、外语三门单科成绩、 考试平均成绩、考试名次、同学互评分、品德成绩、任课教师评分、综合测评总分、综合测评名次。考 试平均成绩、同学互评分、品德成绩、任课教师评分分别占综合测评总

2、分的60%, 10%, 10%, 20%。二、功能描述:A、学生信息处理(1) 输入学生信息、学号、姓名、性别、家庭住址、联系电话,按学号以小到大的顺序存入文件中。 提示:学生信息可先输入到数组中,排序后可写到文件中。(2) 插入(修改)同学信息:提示:先输入将插入的同学信息,然后再打开源文件并建立新文件,把源文件和输入的信息合并到 新文件中(保持按学号有序)若存在该同学则将新记录内容替换源内容,(3) 删除同学信息:提示:输入将删除同学号,读出该同学信息,要求对此进行确认,以决定是否删除将删除后的信息 写到文件中。(4) 浏览学生信息:提示:打开文件,显示该文件的学生信息。B、学生数据处理:

3、(1) 按考试科目录入学生成绩并且按公式:考试成绩=(语文+数学+外语)/3计算考试成绩,并计算考试名次,提示:先把学生信息读入数组,然后按提示输入每科成绩,计算考试成绩,求出名次,最后把学生记录写入一个文件中。(2) 学生测评数据输入并计算综合测评总分及名次。提示:综合测评总分=(考试成绩)*0.6+ (同学互评分)*0.1+品德成绩*0.1 +任课老师评分*0.2。(3) 学生数据管理提示:输入学号,读出并显示该同学信息,输入新数据,将改后信息写入文件(4) 学生数据查询:提示:输入学号或其他信息,即读出所有数据信息,并显示出来。C、学生综合信息输出提示:输出学生信息到屏幕。三、算法提示:

4、1、数据结构:结构体类型数组2、数据库结构:下表构成该系统的基本数据库。学号姓名考试成绩评分CharCharstructint四、测试数据:学生人数:N=10学生综合测评系统1. 课程设计目的掌握结构化程序设计的主体思想,以自顶向下逐步求精的方法编制程序解决一些实际的问题,为将来编写软件积累一些典型的案例处理经验。2. 课程设计主要任务一、问题描述:的信息为:学号、姓名、性别、家庭住址、联系电话、语文、数学、外语三门单科成绩、考试平均 成绩、考试名次、同学互评分、品德成绩、任课教师评分、综合测评总分、综合测评名次。考试平均成 绩、同学互评分、品德成绩、任课教师评分分别占综合测评总分的60%,

5、10%, 10%, 20%。二、功能描述:A学生信息处理(1) 输入学生信息、学号、姓名、性别、家庭住址、联系电话,按学号以小到大的顺序存入文件中。(2) 插入(修改)同学信息:(3) 删除同学信息:(4) 浏览学生信息:B、学生数据处理:(1) 按考试科目录入学生成绩并且按公式:考试成绩=(语文+数学+外语)/3计算考试成绩,并计算考试名次。(2) 学生测评数据输入并计算综合测评总分及名次。(3) 学生数据管理(4) 学生数据查询:C、学生综合信息输出3. 设计环境1) 硬件:PC机,档次不低于 CPU为PIII667,内存为128M 4G硬盘,其它硬件与此相配套。2) 软件:Windows

6、 XP,VC+6.04. 总体设计方案的选定本设计采用模块化结构设计,主要包括:主菜单(menu)下的学生信息处理系统(info_menu )、学生数据处理系统(data_menu)、学生综合信息输出(shuchu)、帮助信息(help )、退出系统;学生信息处 理系统(info_menu)下的输入学生信息(info_input )、修改学生信息(xiugai)、删除学生信息(info_del )、 浏览学生信息(info_output)、返回主菜单;学生数据处理系统 下的(data_menu)录入成绩数据(data_input)、 修改学生数据(data_xiuga)、学生数据查询(data

7、_chaxur)、返回主菜单。学生综合测评系统结构框图5.源程序清单# in clude/包含文件# in elude stdlib.h# in elude stri ng.hint count;void in fo_daoru();void in fo_xieru();void in fo_del();void in fo_xiugai();void data_xieru();void data_daoru();void data_xiugai();void data_chax un();void data_i nput();void shuchu();struct stude ntdoub

8、le nu mber;char n ame11;char sex4;char adds15;char phon e14;p,i nfo100,w=0, , , , ,;struct datadouble nu mber;/定义学生信息结构数组/定义学生数据结构数组/主函数nn);/帮助信息char n ame11;char sex4;char adds15;char phon e14;int chi nese,math,e nglish,stu,ksmc,p in de,teacher;float aver,cep ing;data100;int mai n()system(color 9e)

9、;void data_me nu();void in fo_me nu();void help();void menu();printf(nnntt欢迎使用学生综合管理系统prin tf(tt tt本程序由宗幸幸借鉴陈伟的程序编写nn);prin tf(nntt);system(pause);menu();return 0;void help()/清屏system(cls);prin tf(本系统可以存储学生的基本信息和各科成绩,并能计算考试平均成绩,综合测 评成绩和排名。n);printf(基本信息包括:学号、姓名、性别、家庭住址、联系电话;n各科成绩包括:语文、数学、外语成绩;n);pri

10、n tf(其它包括:考试名次、同学互评分、品德成绩、任课教师评分等。n);printf(说明:考试成绩排名是按照考试成绩计算的(考试成绩=(语+数+外)/3);n);printf(综合测评总分=(考试成绩)*0.6+(同学互评分)*0.1+ (品德成绩)*0.1+(任课教师评 分)*0.2)n);printf(其它请按照提示操作即可。gnn);prin tf(如有疑问,请联系:QQ:905524188nn);prin tf(nntt);system(pause);void info_daoru()/学生信息导出文件函数FILE *f_info;struct stude nt p=NULL;pr

11、intf(nnt正在导入nn);if(f_i nfo=fope n(i nfo.txt,r)=NULL)printf(nt 打开文件失败!nn);return;coun t=0;while(!feof(f_i nfo)fscan f(f_i nfo,%lf %s %s %s %s ,&p.nu mber,p .n ame,p.sex,p.adds,p.ph on e);in foco un t=p;coun t+;printf(nt导入已完成!共导入%d条记录!nnn,count);fclose(f_i nfo);void info_input()/学生信息输入函数int i,j;in fo_

12、daoru();for( ; ; )printf(t请输入学号(输入0退出):);scan f(%lf,&p. nu mber);if(p.number=0) return;for(i=0;i=count;i+)/判断是否存在该学生if(p.nu mber=in foi. nu mber)printf(nnt该学号已存在!请重新输入!nn);return;printf(t请输入姓名:);getchar();gets(p. name);printf(t请输入性别:);getchar();gets(p.sex);printf(t请输入家庭住址:);getchar();gets(p.adds);pr

13、intf(t请输入电话号码:);getchar();gets(p.ph on e);in foco un t=p;for(i=0;ii nfoco un t. nu mber) for(j=co un t;ji;j-)in foj=i nfoj-1;in foi=p;/输入学生信息/按学号排序break;coun t+;/学生信息浏览void in fo_output() FILE *f_info;int i;if(f_info=fopen(info.txt,r)=NULL)/ 判断printf(nt没有学生信息!);prin tf(nntt);system(pause);return;in

14、fo_daoru();if(co un t=0)/判断printf(nt没有学生信息!);prin tf(nntt);system(pause);return;else/输出学生信息for(i=0;ico un t;i+)printf(%10.0lf,i nfoi. number);printf(%10s,i nfoi. name);printf(%10s,i nfoi.sex);printf(%15s,i nfoi.adds);printf(%13snn,i nfoi.pho ne);printf(t请按任意键返回上级:);prin tf(nntt);system(pause);prin t

15、f(nnnn);void info_menu()/学生信息菜单int choice;while(1)system(cls);/ 清屏prin tf(nnnntt学生信息处理系nn);printf(ttt 1.输入学生信息 n);printf(ttt 2.修改学生信息 n);printf(ttt 4.浏览学生信息 n);printf(ttt 0.返回主菜单 nn);prin tf(tt请输入序号选择操作:);scan f(%d,&choice);if(choice=0) break;switch(choice)case 1: info_in put(); in fo_xieru(); break

16、;case 2: in fo_xiugai(); break;case 3: in fo_del(); break;case 4: in fo_output(); break;default: printf(nt 输入有误!请重新输入!nn); break;void data_menu()/数据处理菜单int choice;prin tf(nt在进入学生数据管理前,请确认学生信息已全部完成!n);printf(nt是否继续?输入数字选择(0:返回;其它数字继续。)n);scan f(%d,&choice);if(choice=0) retur n;while(1)system(cls);/清屏

17、1.录入成绩数据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: data_i nput(); break;case 2: data_xiugai(); break;case 3: data_chax un(); break;/主菜单函数default: printf(nt 输入有误!请重新输入!nn); break;void menu()int

18、 choice;while(1)system(cls);prin tf(nnnntt主菜单nn);prin tf(ttt1学生信息处理系统n);prin tf(ttt2.学生数据处理系统n);prin tf(ttt3.学生综合信息输出n);prin tf(ttt4.帮助信息n);prin tf(ttt0.退出系统nn);prin tf(tt请输入序号选择操作:);sea nf(%d,&choice);prin tf(n);if(choice=0)printf(tt 你已经退出,谢谢使用! nntt); break;switch(choice)case 1 : in fo_me nu(); br

19、eak;case 2 : data_me nu(); break;case 4 : help(); break;case 3 : shuchu(); break;default: printf(nt 输入有误!请重新输入!nn); break;void info_xieru()/学生信息写入文件函数FILE *f;int i;if(f=fope n(i nfo.txt,a)=NULL)printf(nt 打开文件失败!nn);exit(0);for(i=0;icount;i+)/ 保存文件if(i nfoi. nu mber=w .nu mber) con ti nue;elsefprin t

20、f(f,%.OIf %s %s %s %s,i nfoi. nu mber,i nfoi. name,i nfoi.sex,i nfoi.adds,i nfoi.ph on e);fclose (f);printf(nt 保存成功!nn);prin tf(nntt);system(pause);return;void info_del()/学生信息删除double pp;int i,j;in fo_daoru();prin tf(nt请输入要删除学生的学号:);scan f(%lf,&pp);prin tf(n);for(i=0;i=co un t)printf(nt 没有找到该学生!n);

21、return;printf( t学号t姓名t性别家庭住址t联系电话n);/显示删除信息printf(%10.0lf,i nfoi. number);qprintf(%10s,i nfoi. name);printf(%10s,i nfoi.sex);printf(%13snn,i nfoi.pho ne);printf(nt是否删除?t 1.是 t 2.否 t while(1)scan f(%d,&j);switch(j)case 1: infoi=w; printf(nt 删除成功!nn); info_xieru(); return;case 2: retur n; break;prin t

22、f(nntt);system(pause);void info_xiugai()/ 修改学生信息double pp;int i,j;in fo_daoru();printf(nt请输入要修改学生的学号:);/查找scan f(%lf,&pp);prin tf(n);for(i=0;i=co un t;i+)if(i nfoi. nu mber=pp) break;printf(nt 没有找到该学生!n); return;prin tf( t学号t 姓名t性别t 家庭住址t 联系电话n);/显示printf(%10.0lf,i nfoi. nu mber);printf(%10s,i nfoi.

23、 name);prin tf(%10s,i nfoi.sex);printf( %13snn,i nfoi.pho ne);printf(nt 是否修改?t 1.是 t 2.否 t );while(1)/ 修改scan f(%d,&j);switch(j)case 1:printf(t 学号为:%.0lfn,infoi.number);printf(t请输入姓名:);sca nf(%s,i nfoi. name);printf(t请输入性别:);scan f(%s,i nfoi.sex);printf(t请输入家庭住址:);scan f(%s,i nfoi.adds);printf(t请输入电

24、话号码:);sca nf(%s,i nfoi.ph on e);printf(nt 修改成功!nn);info_xieru(); return;/ 保存case 2: retur n;default : printf(输入错误!请重新输入!);break;break;system(pause);/学生数据导出void data_daoru()FILE *f_data;struct data p=NULL;printf(nnt 正在导入nn);if(f_data=fope n( data.txt,r)=NULL)printf(nt 打开文件失败!nn);return;coun t=0;彳whil

25、e(!feof(f_data)fscanf(f_data,%lf %s %s %s %s %d %d %d %d %f %d %d %d %f,&p. nu mber,p. name,p.sex,p.adds,p.ph one,&p.chi nese,&p.math,&p.e nglish,&p.stu,&p.aver,&p.ksmc, &p.p in de,&p.teacher,&p.cep in g);dataco un t=p; nna se ad p ch ma en su av ks pi te cecoun t+;printf(nt导入已完成!共导入%d条记录!nnn,count)

26、;fclose(f_data);/ 关闭文件/写入文件函数void data_xieru()FILE *f;int i;if(f=fope n(data.txt,w)=NULL)printf(nt 打开文件失败!nn);exit(0);for(i=0;ico un t;i+)fprintf(f,%.OIf %s %s %s %s %d %d %d %.1f %d %d %d %.1f,datai.number,,datai. sex,datai.adds,datai.pho ne,datai.chi nese,datai.math,datai.e nglish,datai.

27、aver,datai.ksmc,datai. stu,datai.p in de,datai.teacher,datai.cep in g);/num nam s ad tel c m e ave ks stu t cepfclose (f);prin tf(nntt);system(pause);return;void data_input()/ 数据输入FILE *f_info;int choice,i,k;struct data p=NULL;printf(nt警告!原有成绩将被覆盖! n);printf(nt是否继续?输入数字选择(0.返回;其余数字继续)nn);scan f(%d,&

28、choice);if(choice=0) retur n;printf(nnt 正在导入nn);/ 判断if(f_i nfo=fope n(i nfo.txt,r)=NULL)printf(nt 打开文件失败!nn);return;coun t=0;while(!feof(f_info)/ 导出学生信息fscan f(f_i nfo,%lf %s %s %s %s ,&p.nu mber,p .n ame,p.sex,p.adds,p.ph on e); dataco un t=p;coun t+;printf(nt导入已完成!共导入%d条记录!nnn,count);fclose(f_i nf

29、o);for(i=0;icount;i+)/ 输入学生数据printf(nt 学号:%.0lf 姓名:%sn,datai.number,); printf(nt请输入语文成绩:);scan f(%d,&datai.chi nese);printf(t请输入数学成绩:);scan f(%d,&datai.math);printf(t请输入英语成绩:);scan f(%d,&datai.e nglish);printf(t请输入同学互评分:);scan f(%d,&datai.stu);printf(t请输入品德成绩:);scan f(%d,&datai.pi nde);pri

30、ntf(t请输入老师评分:);scan f(%d,&datai.teacher);datai.aver=(datai.chi nese+datai.math+datai.e nglish)/3.0;datai.cep in g=(datai.aver*0.6+datai.stu*0.1+datai.pi nde*0.1+datai.teacher*0.2); datai.ksmc=i+1;for(k=0;kdatak.aver)datak.ksmc=datak.ksmc+1;if(datai.ksmcdatak.ksmc-1)datai.ksmc=datak.ksmc-1;printf(nnt

31、输入已完成!正在保存n);data_xieru();/数据修改void data_xiugai()double pp;int i,j,k;data_daoru();prin tf(nt请输入要修改学生的学号:);scan f(%lf,&pp);prin tf(n);for(i=0;i=co un t;i+)if(datai. nu mber=pp) break;printf(nt 没有找到该学生!n); return;printf(nt学号:.0lf姓名:%s nnt *语文:%d数学:%d英语:%d同学互评分:%d品德成绩:%d老师评分:%dnn,datai.number,datai.nam

32、e,datai.chinese,datai.math,datai.english,datai.stu,datai.pi n de,datai.teacher);printf(nt 是否修改?t 1.是 t 2.否 t );while(1)/ 询问scan f(%d,&j);switch(j)case 1:for(k=0;kdatak.aver) datak.ksmc=datak.ksmc-1;prin tf(nt请输入语文成绩:);scan f(%d,&datai.chi nese);printf(t请输入数学成绩:);scan f(%d,&datai.math);printf(t请输入英语成

33、绩:);scan f(%d,&datai.e nglish);printf(t请输入同学互评分:);sca nf(%d,&datai.stu);printf(t请输入品德成绩:);scan f(%d,&datai.pi nde);printf(t请输入老师评分:);scan f(%d,&datai.teacher);datai.aver=(datai.chi nese+datai.math+datai.e nglish)/3.0;datai.cepi ng=(datai.aver*0.6+datai.stu*0.1+datai.pi nde*0.1+datai.teacher*0.2);dat

34、ai.ksmc=co unt;for(k=0;kdatak.aver)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);/数据查询/导出文件数据void data_chax un()double pp;int i;data_daoru()

35、;prin tf(nt请输入要查询学生的学号:);scan f(%lf,&pp);prin tf(n);for(i=0;i=co un t)printf(nt没有找到该学生!n);return;printf(nt 学号:.OIf姓名:s性别:s nnt 语文:d数学:d英语:d平均成绩:.1fnnt 名次:%d品德成绩:%d老师评分:%d综合成绩:%.1fnn,datai.number,,datai.sex,datai.chinese,datai.math,datai.english,datai. aver,datai.ksmc,datai.pi nde,datai.teacher,datai.cepi ng);p

温馨提示

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

评论

0/150

提交评论