学生综合测评系统

上传人:zhan****gclb 文档编号:137848735 上传时间:2022-08-19 格式:DOC 页数:37 大小:25.83KB
收藏 版权申诉 举报 下载
学生综合测评系统_第1页
第1页 / 共37页
学生综合测评系统_第2页
第2页 / 共37页
学生综合测评系统_第3页
第3页 / 共37页
资源描述:

《学生综合测评系统》由会员分享,可在线阅读,更多相关《学生综合测评系统(37页珍藏版)》请在装配图网上搜索。

1、# include # include stdlib.h # include string.h#include struct student *Read();void save(struct student *head);void sinput(struct student *p);struct student *input();void paixu_num(struct student *head);struct student *insert();struct student *alter();struct student *del();void find_num(struct stude

2、nt *phead);void find_name(struct student *phead);void output();void min_student(struct student *phead);void max_student(struct student *phead);void ave_student(struct student *phead);void every_student(struct student *phead);void score_paixu(struct student *head);void help();void tj_menu(struct stud

3、ent *head);void find_menu(struct student *head);void menu();struct student/定义学生信息结构数组,用于学生信息输入 char number13;char name13;char sex4;char adds15;char phone14; char qq14;float chinese,math,english,txhp,pinde,teacher;int zcmc,ksmc;double ave,zc;struct student *next;#define Len sizeof(struct student)int

4、len; /链表长度int a=0,b=0,c=0,d=0,e=0;/用来存放成绩各阶的人数char stu10;struct student *Read() /读取数据文件保存到链表中,返回指向此链表头指针struct student *head=NULL;struct student *p1, *p2;FILE *fp;cout请输入你要打开的文件(.dat)stu;if(fp=fopen(stu,rb+)=NULL)cout打开文件出错!endl;exit(0);while(!feof(fp) if( (p1=(struct student*)malloc(Len)=NULL )cout

5、内存申请出错next=p1;p2=p1;fclose(fp);return head;void save(struct student *head)/数据存盘FILE *fp;struct student *p;p=head;cout请输入你要存进去的文件(.dat)stu;if(fp = fopen(stu, wb)=NULL)cout无法打开文件!endl;system(pause);menu();while(p) if(fwrite(p,Len,1,fp)!=1)cout写入数据出错next;cout数据存入成功!请按任意键继续!endl;getchar();fclose(fp);/单次

6、输入void sinput(struct student *p)cout请输入学号:p-number;cout请输入姓名: p-name;cout请输入性别: p-sex;cout请输入家庭住址: p-adds;cout请输入联系电话: p-phone;cout请输入qq: p-qq;cout请输入语文成绩:p-chinese;if(p-chinese100|p-chinese0)cout成绩输入不符合规定,请重新输入:p-chinese;cout请输入数学成绩:p-math;if(p-math100|p-math0)cout成绩输入不符合规定,请重新输入:p-math;cout请输入英语成绩

7、:p-english;if(p-english100|p-english0)cout成绩输入不符合规定,请重新输入:p-english;cout请输入同学互评分:p-txhp;if(p-txhp100|p-txhp0)cout成绩输入不符合规定,请重新输入:p-txhp;cout请输入品德成绩:p-pinde;if(p-pinde100|p-pinde0)cout成绩输入不符合规定,请重新输入:p-pinde;cout请输入任课教师评分:p-teacher;if(p-teacher100|p-teacher0)cout成绩输入不符合规定,请重新输入:p-teacher;p-ave=(p-chi

8、nese+p-math+p-english)/3.0;p-zc=(p-ave*0.6+p-txhp*0.1+p-pinde*0.2+p-teacher*0.1);coutendl;coutendl;cout你刚输入的信息为:endl;couttt学号:numberendl;couttt姓名:nameendl;couttt性别:sexendl;couttt家庭住址:addsendl;couttt联系电话:phoneendl;coutttQQ号:qqendl;couttt语文成绩:chineseendl;couttt数学成绩:mathendl;couttt英语成绩:englishendl;cout

9、tt品德成绩:pindeendl;couttt教师评分:teacherendl;coutendl;return;/学生成绩录入函数struct student *input()struct student *head=NULL,*p1,*p2;/输入p1,p2链表最后节点char ch=y;len=1; p2=p1=(struct student *)malloc(sizeof(struct student);cout请输入第len个学生的信息:endl;sinput(p1);coutendl;cout按n退出或按任意键继续ch;while(1)if(len=1)/作为头结点 head=p1;

10、else p2-next=p1;p2=p1;if(ch=N|ch=n)break;p1=(struct student *)malloc(sizeof(struct student);system(cls);len+;cout请输入第len个学生的信息:endl;sinput(p1);coutendl;cout按n退出或按任意键继续ch;p2-next=NULL;paixu_num(head);cout输入学生信息完成!请按任意键返回主菜单!endl;getchar();return head;/学号排序void paixu_num(struct student *head) struct s

11、tudent t,*r,*p,*q;/t交换p、q,r头结点 r=head; if(r=NULL) cout学生信息不存在,请先输入学生信息!next;while(q) if(strcmp(q-number,p-number)0) /qnumber);strcpy(t.name,q-name); strcpy(t.sex,q-sex); strcpy(t.adds,q-adds); strcpy(t.phone,q-phone); strcpy(t.qq,q-qq); t.chinese=q-chinese; t.math=q-math; t.english=q-english; t.txhp

12、=q-txhp; t.pinde=q-pinde; t.teacher=q-teacher;strcpy(q-number,p-number);strcpy(q-name,p-name); strcpy(q-sex,p-sex); strcpy(q-adds,p-adds); strcpy(q-phone,p-phone); strcpy(q-qq,p-qq); q-chinese=p-chinese; q-math=p-math; q-english=p-english; q-txhp=p-txhp; q-pinde=p-pinde; q-teacher=p-teacher;strcpy(p

13、-number,t.number);strcpy(p-name,t.name); strcpy(p-sex,t.sex); strcpy(p-adds,t.adds); strcpy(p-phone,t.phone); strcpy(p-qq,t.qq); p-chinese=t.chinese; p-math=t.math; p-english=t.english; p-txhp=t.txhp; p-pinde=t.pinde; p-teacher=t.teacher; q=q-next; r=r-next; /插入函数struct student *insert()struct stude

14、nt *p,*p1,*head;head=Read();p1=head;p=(struct student *)malloc(sizeof(struct student);char num14,ch;cout请输入你要插入的前一个学生的学号:num;while(p1)if(!strcmp(p1-number,num)sinput(p);p-next=p1-next;p1-next=p;len+;elsep1=p1-next;cout按n退出或按任意键继续ch;if(ch=N|ch=n)break;cout学生信息插入成功!请按任意键返回!endl;getchar();return head;/

15、修改学生信息struct student *alter()char temp13; struct student *p,*head;head=Read();p=head;couttemp;while(p)if(!strcmp(p-number,temp)sinput(p);p=p-next;coutendl;cout学生信息修改成功!请按任意键返回!endl;coutendl;system(pause);return head;/删除学生信息struct student *del() char temp13;int m=0;struct student *p1,*p,*head;/p1删除he

16、ad=Read();p1=p=head;cout请输入你要删除学生的学号:temp;while(p)if(strcmp(p1-number,temp)=0)if(p1=head)/删除的头结点head=p1-next;else p-next=p1-next;len-;m=1;cout学生信息删除成功!请按任意键返回主菜单.next;if(!m)cout查找不到这个信息!endl;return head;void find_num(struct student *head)/按学号查找 struct student *p=head;char temp9;int m = 0;cout请输入要查找的

17、学生的学号temp;while(p!=NULL) if(strcmp(p-number,temp) = 0) cout该学生的具体信息为:endl;coutendl;coutendl;couttt学号:numberendl;couttt姓名:nameendl;couttt性别:sexendl;couttt家庭住址:addsendl;couttt联系电话:phoneendl;coutttQQ号:qqendl;couttt语文成绩:chineseendl;couttt数学成绩mathendl;couttt英语成绩englishendl;couttt平均成绩aveendl;couttt品德成绩pin

18、deendl;couttt老师评分teacherendl;couttt综合成绩zcendl;score_paixu(head);couttt考试名次ksmcendl;couttt综测名次zcmcendl;coutendl;coutnext;/继续向下寻找if(!m)cout查找不到这个学号的信息!endl;cout按任意键返回主菜单endl;getchar();return ;void find_name(struct student *head)/按姓名查找 struct student *p= head;char temp9;int m = 0;cout请输入要查找的学生的姓名temp;w

19、hile(p)if(strcmp(p-name,temp) = 0)cout该学生的具体信息为:endl;coutendl;coutendl;cout学号:numberendl;couttt姓名:nameendl;couttt性别:sexendl;couttt家庭住址:addsendl;couttt联系电话:phoneendl;coutttQQ号:qqendl;couttt语文成绩:chineseendl;couttt数学成绩mathendl;couttt英语成绩englishendl;couttt平均成绩aveendl;couttt品德成绩pindeendl;couttt老师评分teache

20、rendl;couttt综合成绩zcendl;score_paixu(head);couttt考试名次ksmcendl;couttt综测名次zcmcendl;coutendl;coutnext;if(!m)cout查找不到这个学号的信息!endl;cout按任意键返回主菜单endl;getchar();return ;void output()struct student *p,*head;head=Read();p=head;int i=1; while(p) coutendl;couttt学号:numberendl;couttt姓名:nameendl;couttt性别:sexendl;co

21、uttt家庭住址:addsendl;couttt联系电话:phoneendl;coutttQQ号:qqendl;couttt语文成绩:chineseendl;couttt数学成绩:mathendl;couttt英语成绩:englishendl;couttt品德成绩:pindeendl;couttt老师评分:teacherendl;couttt平均成绩:aveendl;couttt综合成绩:zcendl;score_paixu(head);couttt考试名次ksmcendl;couttt综合测评名次zcmcnext;i+; coutendl;coutendl;cout请按任意键返回主菜单chi

22、nesec2) c2=p-chinese;if(p-mathm2) m2=p-math;if(p-englishe2) e2=p-english;if(p-chinese+p-math+p-english)s2) s2=(p-chinese+p-math+p-english);if(p-pindep2) p2=p-pinde;if(p-txhpstu2) stu2=p-txhp;if(p-teachert2) t2=p-teacher;if(p-avea2)a2=p-ave;if(p-zczc2)zc2=p-zc;p=p-next;coutendl;couttt语文最高分:c2endl;cou

23、ttt数学最高分:m2endl;couttt英语最高分:e2endl;couttt总成绩最高分:s2endl;couttt品德最高分:p2endl;couttt同学互评分最高:stu2endl;couttt教师评分最高:t2endl;couttt平均分最高:a2endl;couttt综测最高分:zc2endl;coutendl;coutendl;cout请按任意键返回.chinesechinese;if(p-mathmath;if(p-englishenglish;if(p-chinese+p-math+p-english)chinese+p-math+p-english);if(p-pind

24、epinde;if(p-txhptxhp;if(p-teacherteacher;if(p-aveave;if(p-zczc; p=p-next;coutendl;couttt语文最低分:c1endl;couttt数学最低分:m1endl;couttt英语最低分:e1endl;couttt总成绩最低分:s1endl;couttt品德最低分:p1endl;couttt同学互评分最低分:stu1endl;couttt教师评分最低分:t1endl;couttt平均分最低分:a1endl;couttt综测最低分:zc1endl;coutendl;coutendl;cout请按任意键返回.chinese

25、; m_sum+=p-math; e_sum+=p-english;p_sum+=p-pinde;stu_sum+=p-txhp;t_sum+=p-teacher;zc_sum+=p-zc;p=p-next;c_ave=c_sum/len;m_ave=m_sum/len;e_ave=e_sum/len;all_ave=(c_ave+m_ave+e_ave)/3;p_ave=p_sum/len;stu_ave=stu_sum/len;t_ave=t_sum/len;zc_ave=zc_sum/len;coutttendl;couttt语文平均分为:c_aveendl;couttt数学平均分为:m

26、_aveendl;couttt英语平均分为:e_aveendl;couttt总成绩平均为:all_aveendl;couttt品德平均分为:p_aveendl;couttt同学互评平均分为:stu_aveendl;couttt教师评分平均分为:t_aveendl;couttt综测平均分为:zc_aveendl;coutttendl;coutendl;cout请按任意键返回.ave/10)case 10:case 9:a+;break;case 8:b+;break;case 7:c+;break;case 6:d+;break;default:e+;p=p-next;coutendl;cout

27、平均成绩在90分以上的有:aendl;cout平均成绩在80分以上的有:bendl;cout平均成绩在70分以上的有:cendl;cout平均成绩在60分以上的有:dendl;cout平均成绩在60分以下的有:echinese/10)case 10:case 9:a+;break;case 8:b+;break;case 7:c+;break;case 6:d+;break;default:e+;p=p-next;coutendl;cout语文成绩在90分以上的有:aendl;cout语文成绩在80分以上的有:bendl;cout语文成绩在70分以上的有:cendl;cout语文成绩在60分以

28、上的有:dendl;cout语文成绩在60分以下的有:emath/10)case 10:case 9:a+;break;case 8:b+;break;case 7:c+;break;case 6:d+;break;default:e+;p=p-next;coutendl;cout数学成绩在90分以上的有:aendl;cout数学成绩在80分以上的有:bendl;cout数学成绩在70分以上的有:cendl;cout数学成绩在60分以上的有:dendl;cout数学成绩在60分以下的有:eenglish/10)case 10:case 9:a+;break;case 8:b+;break;ca

29、se 7:c+;break;case 6:d+;break;default:e+;p=p-next;coutendl;cout英语成绩在90分以上的有:aendl;cout英语成绩在80分以上的有:bendl;cout英语成绩在70分以上的有:cendl;cout英语成绩在60分以上的有:dendl;cout英语成绩在60分以下的有:epinde/10)case 10:case 9:a+;break;case 8:b+;break;case 7:c+;break;case 6:d+;break;default:e+;p=p-next;coutendl;cout品德成绩在90分以上的有:aend

30、l;cout品德成绩在80分以上的有:bendl;cout品德成绩在70分以上的有:cendl;cout品德成绩在60分以上的有:dendl;cout品德成绩在60分以下的有:etxhp/10)case 10:case 9:a+;break;case 8:b+;break;case 7:c+;break;case 6:d+;break;default:e+;p=p-next;coutendl;cout同学互评在90分以上的有:aendl;cout同学互评在80分以上的有:bendl;cout同学互评在70分以上的有:cendl;cout同学互评在60分以上的有:dendl;cout同学互评在6

31、0分以下的有:eteacher/10)case 10:case 9:a+;break;case 8:b+;break;case 7:c+;break;case 6:d+;break;default:e+;p=p-next;coutendl;cout教师评分在90分以上的有:aendl;cout教师评分在80分以上的有:bendl;cout教师评分在70分以上的有:cendl;cout教师评分在60分以上的有:dendl;cout教师评分在60分以下的有:ezc/10)case 10:case 9:a+;break;case 8:b+;break;case 7:c+;break;case 6:d

32、+;break;default:e+;p=p-next;coutendl;cout综测成绩在90分以上的有:aendl;cout综测成绩在80分以上的有:bendl;cout综测成绩在70分以上的有:cendl;cout综测成绩在60分以上的有:dendl;cout综测成绩在60分以下的有:eendl;coutendl;cout请按任意键退出.next;double *ave1=new doublen;double *zc1=new doublen;for(int i=0;iave;zc1i=p1-zc;p1=p1-next; for(i=0;in;i+)/冒泡排序 for(int j=0;j

33、n;j+) if(ave1jave1j+1) double ave11=ave1j;ave1j=ave1j+1; ave1j+1=ave11; if(zc1jzc1j+1) double zc11=zc1j;zc1j=zc1j+1; zc1j+1=zc11; while(r)for(i=0;iave) r-ksmc=i+1;if(zc1i=r-zc) r-zcmc=i+1;r=r-next;cout排名完成!请按任意键返回主菜单的浏览学生信息查看!(如果是浏览学生信息则按任意键得到名次!)endl;delete ave1;delete zc1;getchar();return;/帮助void

34、help()system (cls);/清屏cout *欢迎使用学生综合测评系统* endl;coutendl;cout本系统可以存储学生的基本信息和数据信息,所有信息按学号以小到大的顺序存入文件。endl;cout基本信息包括:学号、姓名、性别、家庭住址、联系电话、qqendl;cout数据信息包括:语文、数学、外语三门单科成绩、考试平均成绩、考试名次、同学互评分、品德成绩、任课教师评分、综合测评分、综合测评名次endl;cout综合测评分(考试平均成绩)*0.6+(同学互评分)*0.1+品德成绩*0.1+任课老师评分*0.2。endl;cout考试成绩(语文+数学+外语)/3 endl;c

35、outendl;cout该菜单分为三个菜单,一个主菜单,两个子菜单。endl;cout主菜单提供基本信息操作,子菜单分别提供学生信息查找功能、学生数据统计功能。endl;coutendl;cout希望帮助对您有用endl;coutendl;system(pause);void tj_menu(struct student *head)int c;for(;)system(cls);coutnntt学生数据统计菜单endl;coutendl;coutttt*endl;coutttt*1.*各科成绩最高分 *endl;coutttt*2.*各科成绩最低分 *endl;coutttt*3.*各科成绩

36、平均分 *endl;coutttt*4.*各个分数段人数 *endl;coutttt*5.*成绩排序 *endl;coutttt*0.*返回主菜单 *endl;coutttt*endl;cout当前已录入(表示当次录入的学生数量!)len人信息endl;cout请输入序号选择操作(05):c;system(cls);switch(c)case 0:menu();break;case 1:max_student(head);break;case 2:min_student(head);break;case 3:ave_student(head);break;case 4:every_studen

37、t(head);break;case 5:score_paixu(head);break;default:cout输入有误!请重新输入:endl;break;void find_menu(struct student *head)int c;for(;)system(cls);coutnntt学生信息查找菜单endl;coutendl;coutttt*endl;coutttt*1.*按学号查找学生信息 *endl;coutttt*2.*按姓名查找学生信息 *endl;coutttt*0.*返回主菜单 *endl;coutttt*endl;cout当前已录入(表示当次录入的学生数量!)len人信

38、息endl;cout请输入序号选择操作(02):c;system(cls);switch(c)case 0:menu();break;case 1:find_num(head);break;case 2:find_name(head);break;default:cout输入有误!请重新输入:endl;break;void menu()/主菜单int c;struct student *head;for(;)system(cls);coutnntt学生综合测评系统endl;coutendl;coutttt*endl;coutttt*1.*输入学生信息 *endl;coutttt*2.*插入学生信息 *endl;coutttt*3.*修改学生信息 *endl;couttt

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!