![学生综合测评系统(C语言设计)_第1页](http://file3.renrendoc.com/fileroot_temp3/2022-5/14/a0cffae5-7bf0-46cd-a6d0-57b0f27c2d61/a0cffae5-7bf0-46cd-a6d0-57b0f27c2d611.gif)
![学生综合测评系统(C语言设计)_第2页](http://file3.renrendoc.com/fileroot_temp3/2022-5/14/a0cffae5-7bf0-46cd-a6d0-57b0f27c2d61/a0cffae5-7bf0-46cd-a6d0-57b0f27c2d612.gif)
![学生综合测评系统(C语言设计)_第3页](http://file3.renrendoc.com/fileroot_temp3/2022-5/14/a0cffae5-7bf0-46cd-a6d0-57b0f27c2d61/a0cffae5-7bf0-46cd-a6d0-57b0f27c2d613.gif)
![学生综合测评系统(C语言设计)_第4页](http://file3.renrendoc.com/fileroot_temp3/2022-5/14/a0cffae5-7bf0-46cd-a6d0-57b0f27c2d61/a0cffae5-7bf0-46cd-a6d0-57b0f27c2d614.gif)
![学生综合测评系统(C语言设计)_第5页](http://file3.renrendoc.com/fileroot_temp3/2022-5/14/a0cffae5-7bf0-46cd-a6d0-57b0f27c2d61/a0cffae5-7bf0-46cd-a6d0-57b0f27c2d615.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上 郑州科技学院C语言课程设计 设计(论文)题目: 学生成绩管理系统 所 在 院: 信息工程学院 专 业 班 级: 15计算机科学与技术3班学 生 姓 名: 宋建军 学 号: 指 导 教 师: 周丽 2016年9月11日郑州科技学院课程设计(论文)任务书设计题目: 学生综合信息测评系统 专业班级: 15计算机科学与技术3班 学号 姓名 宋建军 主要内容设计学生成绩管理系统,主要包含:输入记录模块、查询记录模块、更新记录模块、统计记录模块和输出记录模块。采用字符用户界面,通过菜单选择相应的操作,直观且操作简单。数据的存储选用数据文件方式;编辑平台选用Microsoft V
2、isual C+ 6.0 。所用到的知识点有:三种基本程序结构,数组,函数,指针,结构体,文件操作和链表。基本要求:按照内容要求,设计完整的学生成绩管理系统。要求调试通过,不存在漏洞,方便用户操作。功能的实现上力求容错能力要强且提示信息完备。完成期限: 2016年9月11日 指导教师签名: 1.1程序要求.1 1.2具体分工情况.1 1.3开发环1 3.1程序主界面设计. 3.2学生信息处理子界面设计. 3.3学生数据处理子界面设计专心-专注-专业1 概述1 ) 程序要求每个学生的信息为:学号、姓名、性别、家庭住址、联系电话、语文、数学、外语三门单科成绩、考试平均成绩、考试名次、同学互评分、品
3、德成绩、任课教师评分、综合测评总分、综合测评名次。考试平均成绩、同学互评分、品德成绩、任课教师评分分别占综合测评总分的60%,10%,10%,20%。A、学生信息处理(1) 输入学生信息、学号、姓名、性别、家庭住址、联系电话,按学号以小到大的顺序存入文件中。(2) 插入(修改)同学信息:(3) 删除同学信息:(4) 浏览学生信息:B、学生数据处理:(1) 按考试科目录入学生成绩并且按公式:考试成绩(语文+数学+外语)/3 计算考试成绩,并计算考试名次,提示:先把学生信息读入数组,然后按提示输入每科成绩,计算考试成绩,求出名次,最后把学生记录写入一个文件中。(2) 学生测评数据输入并计算综合测评
4、总分及名次。综合测评总分(考试成绩)*0.6+(同学互评分)*0.1+品德成绩*0.1+任课老师评分*0.2。(3) 学生数据管理输入学号,读出并显示该同学信息,输入新数据,将改后信息写入文件(4) 学生数据查询:输入学号或其他信息,即读出所有数据信息,并显示出来。C、学生综合信息输出。3 ) 开发环境 Microsoft Visual C+ 6.02 需求分析为什么要做个学生综合测评系统。以下有几点理由1,我们都知道学校考核一个学生的主要依据就是学生的综合成绩,综合素质。这就让一个学生的综合测评系统的建立显得尤为重要。2一个学生综合测评系统包括学生的方方面面信息,这有利于学校的管理。3大家都
5、知道学生是流动的,而且综合测评是每年评比一次,所以这学生综合测评系统的更改录入功能重要性不明而喻。4现在是个时间就是金钱的社会。老师本身就工作繁忙。这系统可以大大减轻老师的包袱。5这是个开放的平台,每个学生都可以轻易地查询自己的成绩。灵活性强。3 总体设计 1) 程序主界面设计主界面 数据处理系统学生信息处理退出综合信息输出 2 ) 学生信息处理子界面设计学生信息处理浏览学生信息修改学生信息返回删除学生信息输入学生信息 3)学生数据处理子界面设计学生数据处理学生数据查询返回 修改学生数据录入成绩 4 ) 主菜单程序流程图 开始Data-menu退出I=9?输入数字主菜单 i=0? 是info-
6、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)学生信息处理子
7、菜单 (1) 函数描述函 数 名 : info_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("tt
8、t 4.浏览学生信息n"); printf("ttt 0.返回主菜单nn"); printf("tt请输入序号选择操作:"); scanf("%d",&choice); if(choice=0) break; switch(choice) case 1: system("cls");info_input(); info_xieru(); break; case 2: system("cls");info_xiugai(); break; case 3: system("
9、;cls");info_del(); break;case 4: system("cls");info_output(); break; default:system("cls"); printf("nt输入有误!请重新输入!nn"); break; 3)学生数据处理子菜单 (1) 函数描述 函 数 名: data_menu()输入参数 :无输出参数:无功 能 :显示学生数据处理系统菜单 (2) 函数程序 Void data_menu() /数据处理菜单int choice;/printf("nt在进入学生数据管理
10、前,请确认学生信息已全部完成!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")
11、; printf("ttt 0.返回主菜单nn"); printf("tt请输入序号选择操作:"); scanf("%d",&choice); if(choice=0) break; switch(choice) case 1: system("cls");data_input(); break; case 2: system("cls");data_xiugai(); break; case 3: system("cls");data_chaxun(); break
12、; default: system("cls");printf("nt输入有误!请重新输入!nn"); break;4)学生综合信息输出 (1) 函数描述 函 数 名 : shuchu()输入参数 :无输出参数 :无功 能 :学生信息的综合输出 (2)函数程序 void shuchu() /学生综合信息输出int i;data_daoru();printf("n"); printf(" _ _ _ _ _ _ n");printf(" 学号 姓名 电话 平均分 名次 测评总分n");printf
13、(" _ _ _ _ _ _ n");for(i=0;i<count;i+) printf("|%10d %10s %14s %10.1f %10d %10.1f n",infoi.number,,infoi.phone,datai.avg,datai.ksmc,datai.ceping);printf("|_|_|_|_|_|_|n");printf("nntt");system("pause");printf("n");5)帮助函数 /* 函数名
14、 : help()输入参数:无输出参数:无 功能 :显示本系统的信息*/void help() /帮助信息system("cls"); /清屏 printf("n");printf("ttt学生综合测评系统!nn");printf(" 本系统可以存储学生的基本信息和各科成绩,并能计算考试成绩,综合测评成绩和排名。nn");printf(" 基本信息包括:学号、姓名、性别、家庭住址、联系电话;nn 各科成绩包括:语文、数学、英语成绩;nn");printf(" 其它包括:考试名次、同学互
15、评分、品德成绩、任课教师评分等。nn");printf(" 说明:考试成绩排名是按照考试成绩计算的(考试成绩=(语+数+外)/3);nn");printf(" 综合测评总分=(考试成绩)*0.6+(同学互评分)*0.1+(品德成绩)*0.1n +(任课教师评分)*0.2)nn");printf(" 其它请按照提示操作即可。nn");printf("nntt");system("pause");6)学生信息导入函数 /* 函数名 : info_daoru()输入参数:无输出参数:无 功能
16、 :打开存放的学生信息*/void info_daoru() /学生信息导出文件函数FILE *f_info;printf("nnt正在导入.nn");if(f_info=fopen("info.txt","r")=NULL)printf("nt打开文件失败!nn");return;count=0; while(!feof(f_info)fscanf(f_info,"%d %s %s %s %s ",&p.number,&,&p.sex,&p.addr
17、 ,&p.phone);infocount=p;count+;printf("nt导入已完成!共导入 %d 条记录!nnn",count);fclose(f_info);system("cls");7)学生信息输入函数/* 函数名 : info_input()输入参数:无输出参数:无 功能 :录入学生个人信息*/void info_input() /学生信息输入函数int i,j; info_daoru();for( ; ; )printf("t请输入学号(输入0退出):");scanf("%d",&
18、;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.sex);if( ( strcmp(p.sex ,"男&quo
19、t;)!=0 ) | (strcmp(p.sex ,"女")!=0) ) printf("t你输入的内容不符合要求,请从新输入!按任意键继续n"); getchar(); continue; printf("t请输入家庭地址");scanf("%s",&p.addr );printf("t请输入电话号码:");scanf("%s",&p.phone);infocount=p;for(i=0;i<count;i+) /按学号排序if(infoi.numbe
20、r>infocount.number) for(j=count;j>i;j-)infoj=infoj-1;infoi=p;break;count+;8)输出函数/* 函数名 : info_output()输入参数:无输出参数:无 功能 :显示学生个人信息*/void info_output() /学生信息浏览FILE *f_info;int i;if(f_info=fopen("info.txt","r")=NULL) /判断 printf("nt没有学生信息!");printf("nntt"); sy
21、stem("pause");return;info_daoru(); printf("n");if(count=0) /判断 printf("nt没有学生信息!");printf("nntt"); system("pause"); return; elseprintf(" 学号 姓名 性别 家庭地址 联系电话n"); /输出学生信息for(i=0;i<count;i+)printf(" %d",infoi.number);printf("
22、%8s",);printf(" %8s",infoi.sex);printf(" %10s",infoi.addr);printf(" %10snn",infoi.phone);printf("t请按任意键返回上级:");printf("nntt");system("pause");printf("nnnn");9)学生信息写入文件 /* 函数名 : info_xieru()输入参数:无输出参数:无 功能 :把学生个人信息数据
23、写入到文件*/void info_xieru() /学生信息写入文件函数FILE *f;int i;if(f=fopen("info.txt","w")=NULL)printf("nt打开文件失败!nn");exit(0); for(i=0;i<count;i+) /保存文件 if(infoi.number=w.number) continue; else fprintf(f,"%d %s %s %s %s ",infoi.number,,infoi.sex,infoi.addr ,inf
24、oi.phone);fclose(f);printf("nt保存成功!nn");printf("nntt");system("pause"); system("cls");return;10)删除学生信息函数/* 函数名 : info_del()输入参数:无输出参数:无 功能 :删除学生个人信息*/void info_del() /学生信息删除int pp;int i,j;info_daoru();printf("nt请输入要删除学生的学号:");scanf("%d",&am
25、p;pp);printf("n");for(i=0;i<=count;i+) /判断 if(infoi.number=pp) break;if(i>=count)printf("nt没有找到该学生!n"); return;printf("学号 姓名 性别 地址 联系电话n"); /显示删除信息printf(" %d ",infoi.number);printf(" %5s ",);printf(" %5s ",infoi.sex); print
26、f(" %10s ",infoi.addr);printf(" %10snn",infoi.phone);printf("nt是否删除?t 1.是 t 2.否 t ");while(1) scanf("%d",&j); switch(j)case 1: infoi=w; printf("nt删除成功!nn"); info_xieru(); return; case 2: return; default : printf("输入错误!请重新输入!");break;bre
27、ak;printf("nntt"); system("pause");11)学生信息修改函数/* 函数名 : info_xiugai()输入参数:无输出参数:无 功能 :修改学生信息*/void info_xiugai() /修改学生信息int pp;int i,j;info_daoru();printf("nt请输入要修改学生的学号:"); /查找scanf("%d",&pp);printf("n");for(i=0;i<=count;i+) if(infoi.number=pp
28、) break; if(i>=count) printf("nt没有找到该学生!n"); return;printf("学号 姓名 性别 家庭地址 联系电话n"); /显示printf(" %d",infoi.number);printf(" %10s",);printf(" %10s",infoi.sex);printf(" %16s",infoi.addr);printf(" %13sn",infoi.phone);print
29、f("nt是否修改?t 1.是 t 2.否 t ");while(1) /修改 scanf("%d",&j); switch(j) case 1:printf("t学号为:%.0dn",infoi.number);printf("t请输入姓名:"); scanf("%s",); printf("t请输入性别:"); scanf("%s",infoi.sex);if( ( strcmp(p.sex ,"男")!
30、=0 ) | (strcmp(p.sex ,"女")!=0) ) printf("t你输入的内容不符合要求,请从新输入!按任意键继续n"); getch(); continue;printf("t请输入家庭地址");scanf("%s",&infoi.addr); printf("t请输入电话号码:"); scanf("%s",infoi.phone);printf("nt修改成功!nn"); info_xieru(); return; /保存 c
31、ase 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_data=fopen("data.t
32、xt","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+;pri
33、ntf("nt导入已完成!共导入 %d 条记录!nnn",count);fclose(f_data); /关闭文件system("cls");13)数据写入/* 函数名 : data_xieru()输入参数:无输出参数:无 功能 :学生数据写入到文件*/void data_xieru() /写入文件函数FILE *f;int i;if(f=fopen("data.txt","w")=NULL)printf("nt打开文件失败!nn");exit(0); for(i=0;i<count;i+
34、) 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 ,datai.pinde,datai.teacher,datai.ceping);fclose(f);printf("nntt");system("pause"); system("cls");return;14)数据输入函数/* 函数名 : data_in
35、put()输入参数:无输出参数:无 功能 :录入学生数据*/void data_input() /数据输入FILE *f_info;int choice,i,k; /printf("nt警告!原有成绩将被覆盖!n");printf("nt输入数字选择(0.返回;其余数字继续)nn");scanf("%d",&choice);if(choice=0) return;printf("nnt正在导入.nn"); /判断if(f_info=fopen("info.txt","r&quo
36、t;)=NULL)printf("nt打开文件失败!nn");return;count=0; while(!feof(f_info) /导出学生信息fscanf(f_info,"%d %s %s %s %s ",&p.number,,p.sex,p.addr ,p.phone);datacount.number =p.number ;infocount=p;count+;printf("nt导入已完成!共导入 %d 条记录!nnn",count);fclose(f_info); for(i=0;i<count
37、;i+) /输入学生数据 printf("t学号:%dn",infoi.number); printf("n");printf("t姓名:%sn",);printf("n");printf("t请输入语文成绩:");scanf("%d",&datai.chinese);while( datai.chinese < 0 | datai.chinese > 100 ) printf("t对不起你输入的数据不是 1-100 之间,请
38、从新输入真确的数值!n"); printf("t请输入语文成绩:"); scanf("%d",&datai.chinese);printf("n");printf("t请输入数学成绩:");scanf("%d",&datai.math);while( datai.math < 0 | datai.math > 100 ) printf("t对不起你输入的数据不是 1-100 之间,请从新输入真确的数值!n"); printf("
39、t请输入数学成绩:"); scanf("%d",&datai.math);printf("n");printf("t请输入英语成绩:");scanf("%d",&datai.english);while( datai.english < 0 | datai.english > 100 ) printf("t对不起你输入的数据不是 1-100 之间,请从新输入真确的数值!n"); printf("t请输入英语成绩:"); scanf(&qu
40、ot;%d",&datai.english);printf("n"); printf("t请输入同学互评成绩:"); scanf("%d",&datai.huping );while( datai.huping < 0 | datai.huping > 100 ) printf("t对不起你输入的数据不是 1-100 之间,请从新输入真确的数值!n"); printf("t请输入同学互评成绩:"); scanf("%d",&dat
41、ai.huping );printf("n");printf("t请输入品德成绩:");scanf("%d",&datai.pinde);while( datai.pinde < 0 | datai.pinde > 100 ) printf("t对不起你输入的数据不是 1-100 之间,请从新输入真确的数值!n"); printf("t请输入品德成绩:");scanf("%d",&datai.pinde);printf("n")
42、;printf("t请输入老师评分:");scanf("%d",&datai.teacher);while( datai.teacher < 0 | datai.teacher > 100 ) printf("t对不起你输入的数据不是 1-100 之间,请从新输入真确的数值!n"); printf("t请输入老师评分:");scanf("%d",&datai.teacher);datai.avg=(datai.chinese+datai.math+datai.engl
43、ish)/3.0;datai.ceping=(datai.avg*0.6+datai.huping*0.1 +datai.pinde*0.1+datai.teacher*0.2);datai.ksmc=i+1;for(k=0;k<i;k+) /名次排序if(datai.avg>datak.avg) datak.ksmc=datak.ksmc+1;if(datai.ksmc>datak.ksmc-1)datai.ksmc=datak.ksmc-1;printf("nt输入已完成!正在保存. n");data_xieru();system("cls&
44、quot;);15)数据修改/* 函数名 : data_xiugai()输入参数:无输出参数:无 功能 :学生成绩数据的修改*/void data_xiugai() /数据修改int pp;int i,j,k;data_daoru();printf("nt请输入要修改学生的学号:");scanf("%d",&pp);printf("n");for(i=0;i<=count;i+) if(datai.number=pp) break; if(i>=count) printf("nt没有找到该学生!n&quo
45、t;); 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;k<=count;k+) /重新排名次if(datai.avg>datak.avg) datak.ksmc=datak.ksmc-1;printf("nt请输入语文成绩:");scanf(&
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度出租车司机劳动权益保护协议范本
- 二零二五年度留学生就业创业扶持与职业发展规划协议
- 2025年度企业合同终止法律咨询及执行律师合同
- 游客卡(游客俱乐部)景区合作协议书范本
- 台球室合伙合同范本
- 二零二五年度事业单位退休人员返聘管理合同
- 二零二五年度辣椒产业链融资担保合同
- 2025年度砍伐合同范文:绿色林业发展合作协议
- 二零二五年度养老机构护理员劳动权益保障与管理协议
- 2025年度车辆不过户责任界定与赔偿标准协议
- 城乡环卫一体化保洁服务迎接重大节日、活动的保障措施
- 医院-9S管理共88张课件
- 设立登记通知书
- 高考作文复习:议论文论证方法课件15张
- 2022医学课件前列腺炎指南模板
- MySQL数据库项目式教程完整版课件全书电子教案教材课件(完整)
- 药品生产质量管理工程完整版课件
- 《网络服务器搭建、配置与管理-Linux(RHEL8、CentOS8)(微课版)(第4版)》全册电子教案
- 职业卫生教学课件生物性有害因素所致职业性损害
- 降“四高”健康教育课件
- 五十铃、丰田全球化研究
评论
0/150
提交评论