下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程设计报告课程名称C语言程序设计课题名称学生综合测评系统专业通信工程班级1503学号2015014109,2015014128姓名汤华贝,余旭升,郭梦婷,雍甜甜指导教师毛德梅编写2016年6月一、问题描述:每个学生的信息为:学号、性别、家庭住址、联系、语文、数学、外语三门单科成绩、考试平均成绩、考试名次、同学互评分、品德成绩、任课教师评分、综合测评总分、综合测评名次。考试平均成绩、同学互评分、品德成绩、任课教师评分分别占综合测评总分的60%,10%,10%,20%。二、功能描述:(1) A、学生信息处理输入学生信息、学号、性别、家庭住址、联系,按学号以小到大的顺序存入文件中。提示:学生信息可
2、先输入到数组中,排序后可写到文件中。(2) 插入修改同学信息:(3) 提示:先输入将插入的同学信息,然后再打开源文件并建立新文件,把源文件和输入的信息合并到新文件中保持按学号有序假设存在该同学则将新记录内容替换源内容,删除同学信息:提示:输入将删除同学号,读出该同学信息,要求对此进行确认,以决定是否删除将删除后的信息写到文件中。(4) 浏览学生信息:提示:打开文件,显示该文件的学生信息。B、学生数据处理:按考试科目录入学生成绩并且按公式:考试成绩=语文+数学+外语/3计算考试成绩,并计算考试名次,提示:先把学生信息读入数组,然后按提示输入每科成绩,计算考试成绩,求出名次,最后把学生记录写入一个
3、文件中。(1) 学生测评数据输入并计算综合测评总分及名次。提示:综合测评总分=考试成绩*0.6+同学互评分*0.1+品德成绩*0.1+任课老师评分*0.2。(2) 学生数据管理提示:输入学号,读出并显示该同学信息,输入新数据,将改后信息写入文件学生数据查询:提示:输入学号或其他信息,即读出所有数据信息,并显示出来。C、学生综合信息输出提示:输出学生信息到屏幕。1、数据结构:结构体类型数组2、数据库结构:下表构成该系统的基本数据库。学号考试成绩评分CharCharstructint总体设计方案三.程序源代码#include<stdio.h>#include<stdlib.h&g
4、t;#defineN100voidinit();charwelcome();voidInputInfo();voidview();voidxiugai();voidDeleteInfo();voidpaiming1(structstudent_infostudent);voidpaiming2(structstudent_infostudent);voidViewAll();voidclean();voidPaimingView();voidexits();structstudent_infoinput();voidSortInfo(structstudent_infostudent);voi
5、dViewInfo(structstudent_info*sp);voidSaveStruct(structstudent_info*sp,intsize,intn,charfilename20);voidLoadStruct(structstudent_info*sp,intsize,intn,charfilename20);voidSaveInt(int*p,intsize,intn,charfilename20);voidLoadInt(int*p,intsize,intn,charfilename20);intNumExist(structstudent_infostudent,int
6、num);structstudent_info(intnum;/学号charname6;/charsex5;/性别charadress20;/家庭住址chartel10;/intchinese,math,english,huping,pingde,jiaoping,paiming1,paiming2;/语文数学英语互评品德教评doubleave,zhongping;structstudent_infostudentN;intcounter,PM;voidmain()(charselect;init();/调用初始化函数while(1)(select=welcome();switch(selec
7、t)(case'1':system("cls");InputInfo();break;/选项1:输入学生信息case'2':system("cls");view();break;/选项2:浏览学生信息case'3':system("cls");xiugai();break;/选项3:修改学生信息case'4':system("cls");DeleteInfo();break;/选项4:删除学生信息case'5':system("
8、;cls");paiming1(student);paiming2(student);PM=1;getchar();getchar();system("cls");break;/选项5:学生信息排名case'6':system("cls");ViewAll();break;/选项6:浏览全部学生信息case'7':system("cls");clean();break;/选项7:清除所有信息case'8':system("cls");PaimingView(
9、);break;/选项8:查询排名case'0':system("cls");exits();break;/选项9:退出voidinit()(FILE*fp;fp=fopen("counter.dat”,"rb”);/打开计数变量counter文件if(fp!=NULL)/载入counter初始为(fclose(fp);LoadInt(&counter,sizeof(counter),1,"counter.dat");else(fp=fopen("counter.dat”,"wb”);/假设
10、没有counter文件,则创建一个,counterfclose(fp);counter=0;if(counter!=0)/载入学生数据LoadStruct(student,sizeof(structstudent_info),counter,"student_info.dat");charwelcome()charselect;while(1)system("cls");printf("tt欢送使用学生信息管理系统n");printf("n");printf("1.录入学生信息printf("2
11、.浏览学生信息printf("3.修改学生信息printf("4.删除学生信息printf("5.排名学生成绩printf("6.浏览所有学生信息printf("7.清除所有数据printf("8.查询排名printf("0.退出nn");nn");nn");nn");nn");nn");nn");nn");nn");printf(-输入相应的功能序号:");select=getchar();if(select='1&
12、#39;|select='2'|select='3'|select='4'|select='5'|select='6'|select='7'|select='8'|select='0')returnselect;system("cls");continue;voidInputInfo()inti,n;printf("需要录入多少位学生的信息:”);scanf("%d",&n);system("cls&
13、quot;);for(i=1;i<=n;i+)studentcounter=input();counter+;PM=0;SortInfo(student);SaveStruct(student,sizeof(structstudent_info),counter,"student_info.dat");SaveInt(&counter,sizeof(counter),1,"counter.dat");voidview()(inti,num;printf(-请输入需要游览的学生信息的学号:,scanf("%d”,&num);
14、getchar();if(i=NumExist(student,num)=-1)(printf(-不存在该学号,按回车键返回.");getchar();system("cls");return;ViewInfo(&studenti);printf("n按回车键返回.”);getchar();system("cls");return;voidxiugai()(inti,num;charYN,select;printf(-请输入需要修改的学生信息的学号:,scanf("%d”,&num);getchar();if
15、(i=NumExist(student,num)=-1)printf(-不存在该学号,按回车键返回.");getchar();system("cls");return;ViewInfo(&studenti);printf("是否要修改?(Y/N):");scanf("%c",&YN);getchar();if(YN!='Y'&&YN!='y')printf("修改取消.");getchar();system("cls");
16、return;system("cls");printf("1.学号n");printf("2.性别n");printf("3.家庭住址n");printf("4.联系n");printf("5.语文成绩n");printf("6.数学成绩n");printf("7.外语成绩n");printf("8.同学互评分n");printf("9.品德成绩n");printf("0.任课教师教师评
17、分n")scanf("%c”,&select);switch(select)(case'1':printf("修改学号:");scanf("%d",&studenti.num);break;case'2':printf("修改性别:,scanf("%s”,&studenti.sex);break;case'3':printf("修改家庭住址:");scanf("%s",&studenti.adre
18、ss);break;case'4':printf("修改联系:,scanf("%s",&studenti.tel);break;case'5':printf("修改语文成绩:");scanf("%d",&studenti.chinese);break;case'6':printf("修改数学成绩:");scanf("%d",&studenti.math);break;case'7':printf(&
19、quot;修改外语成绩:");scanf("%d",&studenti.english);break;case'8':printf("修改同学互评分:");scanf("%d",&studenti.huping);break;case'9':printf("修改品德成绩:");scanf("%d",&studenti.pingde);break;case'0':printf("修改任课教师评分:”);sc
20、anf("%d”,&studenti.jiaoping);break;Sortlnfo(student);SaveStruct(student,sizeof(structstudent_info),counter,"student_info.dat");PM=0;getchar();printf("修改完成.”);getchar();system("cls");voidDeleteInfo()inti,j,num;charYN;printf("请输入要删除的学生信息学号:,scanf("%d”,&n
21、um);getchar();if(i=NumExist(student,num)=-1)printf(-没有该学号,按回车键返回.");getchar();system("cls");return;ViewInfo(&studenti);printf("n确认删除(Y/N):");scanf("%c”,&YN);getchar();if(YN!='Y'&&YN!='y')(printf("删除取消.”);else(for(j=i;j<counter-1;j
22、+)studentj=studentj+1;counter-;PM=0;SaveStruct(student,sizeof(structstudent_info),counter,"student_info.dat");SaveInt(&counter,sizeof(counter),counter,"counter.dat");printf("删除完成.”);getchar();system("cls");voidpaiming1(structstudent_infostudent)(structstudent_i
23、nfo*pN,*temp;inti,j;for(i=0;i<counter;i+)pi=&studenti;for(i=0;i<counter-1;i+)for(j=i+1;j<counter;j+)if(pi->ave<pj->ave)temp=pi;pi=pj;pj=temp;for(i=0;i<counter;i+)pi->paiming1=i+1;printf("平均分排名完成.n");voidpaiming2(structstudent_infostudent)structstudent_info*pN,*t
24、emp;inti,j;for(i=0;i<counter;i+)pi=&studenti;for(i=0;i<counter-1;i+)for(j=i+1;j<counter;j+)(if(pi->zhongping<pj->zhongping)(temp=pi;pi=pj;pj=temp;for(i=0;i<counter;i+)pi->paiming2=i+1;printf("综合测评分排名完成.n");voidViewAll()(inti;for(i=0;i<counter;i+)(ViewInfo(&am
25、p;studenti);printf("n");getchar();printf("回车键返回.”);getchar();system("cls");voidclean()(counter=0;SaveInt(&counter,sizeof(counter),1,"counter.dat");printf(-清除完毕.");getchar();getchar();system("cls");voidPaimingView()(inti,num;printf("输入要查询的学号:
26、,scanf("%d”,&num);getchar();i=NumExist(student,num);if(i=-1)(printf(-该学号不存在.");getchar();return;if(PM=0)(printf("请先进行成绩排名.”);getchar();return;printf("%s的平均分排名dn”,,studenti.paiming1);printf("%s的综合测评分排名dn”,,studenti.paiming2);printf(-按回车键返回."
27、);getchar();return;voidexits()(printf(-谢谢使用!n");structstudent_infoinput()(structstudent_infostu,*sp;charYN;sp=&stu;while(1)while(1)(printf("录入学号:");scanf("%d”,&sp->num);getchar();if(NumExist(student,sp->num)!=-1)(printf(-该学号已存在,请重新输入.");getchar();system("c
28、ls");continue;break;printf("录入:");gets(sp->name);printf("录入性别:,gets(sp->sex);printf("录入家庭住址:");gets(sp->adress);printf("录入联系:,gets(sp->tel);printf("n接下来录入成绩n");printf("语文:”);scanf("%d”,&sp->chinese);printf("数学:");sca
29、nf("%d”,&sp->math);printf("英语:");scanf("%d”,&sp->english);sp->ave=(sp->chinese+sp->math+sp->english)/3.0;printf("同学互评:");scanf("%d”,&sp->huping);printf("品德分数:");scanf("%d",&sp->pingde);printf("教师评价:&q
30、uot;);scanf("%d”,&sp->jiaoping);getchar();sp->zhongping=(sp->ave*0.6+sp->huping*0.1+sp->pingde*0.1+sp->jiaoping*0.2);printf(-录入完毕,确认信息是否正确(Y/N)");YN=getchar();getchar();if(YN='Y'|YN='y')break;elseprintf(-按回车键重新录入信息。");getchar();system("cls&qu
31、ot;);continue;system("cls");returnstu;voidSortInfo(structstudent_infostudent)(inti,j;structstudent_infotemp;for(i=0;i<counter-1;i+)for(j=i+1;j<=counter-1;j+)(if(studenti.num<studentj.num)(temp=studenti;studenti=studentj;studentj=temp;voidViewInfo(structstudent_info*sp)printf("学号tt性别t家庭住址t联系n");printf("%dt%st%st%stt%sn”,sp->num,sp->name,sp->sex,sp->adress,sp->tel);printf("语文t数学t英语t互评t品德t教评n");printf("%dt%dt%dt%dt%dt%dtn”,sp->chinese,sp->ma
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 IEC 62115:2017/AMD1:2025 FR Amendment 1 - Electric toys - Safety
- GB/T 46303-2025螺旋藻种质资源鉴定技术规范
- 中国白补芯项目投资可行性研究报告
- 中国防雨漆项目投资可行性研究报告
- T型接线端子行业深度研究报告
- 2025年人大机关公开遴选公务员笔试试题及答案解析
- 有机锑稳定剂行业深度研究报告
- 热收缩商标胶合中封机行业深度研究报告
- 甲基环戊烯酮醇行业深度研究报告
- 中国双联天幕散光灯项目投资可行性研究报告
- 九年级语文基础通关每日一练【空白】
- 2025年工会社会工作者招聘笔试模拟试题库及答案
- GB/T 14996-2025变形高温合金冷轧板材和带材
- 人教版(2024)八年级上册地理第二章《中国的自然环境》大单元教学设计
- 维护食堂就餐秩序课件
- 排水管网运维养护服务方案投标文件(技术标)
- 医院客服培训课件
- 铁路冬季安全知识培训课件
- 湿地保护工程项目建设标准
- 2025江苏苏州市张家港市基层公共服务岗位招聘14人(第一批)备考题库及答案解析
- 设备管理基础知识培训课件
评论
0/150
提交评论