版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.#include#includeclass STUpublic:longintxh;charxm20,xb20,jg20;float c,eng,phy;STU *next;friend class BJ;class BJpublic:STU *Input(int n)STU *p,*pend,*h=0; int i=0;if(n1)return 0;cout学号姓名性别籍贯VC+ 成绩英语成绩物理成绩 endl;while(i(*p).xh(*p).xm(*p).xb(*p).jg(*p).c(*p).eng(*p).phy;(*p).next=0;if(h=0)h=p;pend=p;el
2、sepend-next=p;pend=p;i+;return h;void calculate(STU *h,int n);void search(STU *h);void scoreswap(float a,float b);void intswap(long int a,long int b);void sort(STU *h,int a,int n);void deletestudent(STU *h,int data);void scholar(STU *h,int n);void shxs(STU *h,int n);void print(STU *h);void welcome()
3、;void Introduction();STU *Input(int n)STU *p,*pend,*h=0; int i=0;if(n1)return 0;cout学号姓名性别籍贯VC+ 成绩英语成绩物理成绩 endl;while(i(*p).xh(*p).xm(*p).xb(*p).jg(*p).c(*p).eng(*p).phy;.(*p).next=0;if(h=0)h=p;pend=p;elsepend-next=p;pend=p;i+;return h;void BJ:calculate(STU *h,int n)float S20,aver20,aver1=0,aver2=0,
4、aver3=0,MAX,max1,max2,max3;float s120,s220,s320;STU *p;p=h;for(int i=0;in;i+)Si=(*p).c+(*p).eng+(*p).phy;averi=Si/3;p=(*p).next;for(p=h,i=0;in;i+)aver1+=(*p).c;aver2+=(*p).eng;aver3+=(*p).phy;p=(*p).next;aver1=aver1/n;aver2=aver2/n;aver3=aver3/n;for(p=h,i=0;in;i+)s1i=(*p).c;s2i=(*p).c;s3i=(*p).phy;p
5、=(*p).next; MAX=0;max1=0;max2=0;max3=0;for(i=0;in;i+)if(MAXSi)MAX=Si;if(max1s1i)max1=s1i;if(max2s2i)max2=s2i;if(max3s3i)max3=s3i;cout总成绩最高的学生:n;for(p=h,i=0;in;i+)if(MAX=Si)cout(*p).xht(*p).xmtMAXendl;p=(*p).next;coutVC+成绩最高的学生:n;for(p=h,i=0;in;i+)if(max1=s1i)cout(*p).xht(*p).xmtmax1e ndl;p=(*p).next
6、;.cout英语成绩最高的学生:n;for(p=h,i=0;in;i+)if(max2=s2i)cout(*p).xht(*p).xmtmax2e ndl;p=(*p).next;cout物理成绩最高的学生:n;for(p=h,i=0;in;i+)if(max3=s3i)cout(*p).xht(*p).xmtmax3endl;p=(*p).next;void BJ:search(STU *h)STU *p;p=h;int r,t;char xm10;cout 按学号查询请输入 1,按姓名查询请输入 2!r;switch(r)case 1:cout请输入要查询的学号:t;while(p)if(
7、*p).xh=t)print(p);break;else p=(*p).next;break;case 2:cout 请输入要查询的姓名:xm;while(p)if( strcmp(xm,(*p).xm)=0)print(p);break;else p=(*p).next;break;void BJ:scoreswap(float a,float b)float temp=a; a=b; b=temp;.void BJ:intswap(long int a,long int b)long int temp=a; a=b; b=temp;void BJ:sort(STU *h,int a,int
8、 n) STU *p,*p1,*p2;char XM20,XB20,JG20;float S20,aver20;p=h;for(int i=0;in;i+)Si=(*p).c+(*p).eng+(*p).phy;averi=Si/3;p=(*p).next;cout请选择排序方式!endl;cout 按姓名排序请输入1endl;cout 按 VC+成绩排序请输入2endl;cout 按英语成绩排序请输入3endl;cout 按物理成绩排序请输入4endl;cout 按总成绩排序请输入5endl;cout 按平均成绩排序请输入6a;switch(a)case 1:if(h=0)cout无结点 n
9、;else p1=h;while(*p1).next)for(i=0;in-1;i+)p2=(*p1).next;for(int j=i+1;jn;j+)if(strcmp(*p1).xm,(*p2).xm)=1)intswap(*p1).xh,(*p2).xh);strcpy(XM,(*p1).xm);strcpy(*p1).xm,(*p2).xm);strcpy(*p2).xm,XM);strcpy(XB,(*p1).xb);strcpy(*p1).xb,(*p2).xb);strcpy(*p2).xb,XB);strcpy(JG,(*p1).jg);strcpy(*p1).jg,(*p2
10、).jg);strcpy(*p2).jg,JG);scoreswap(*p1).c,(*p2).c);scoreswap(*p1).eng,(*p2).eng);scoreswap(*p1).phy,(*p2).phy);p2=(*p2).next;.p1=(*p1).next;p=h;for( i=0;in;i+)print(p);p=(*p).next;coutendl;break;case 2:if(h=0)cout无结点 n;else p1=h;while(*p1).next)for(i=0;in-1;i+)p2=(*p1).next;for(int j=i+1;j=(*p2).c)i
11、ntswap(*p1).xh,(*p2).xh);strcpy(XM,(*p1).xm);strcpy(*p1).xm,(*p2).xm);strcpy(*p2).xm,XM);strcpy(XB,(*p1).xb);strcpy(*p1).xb,(*p2).xb);strcpy(*p2).xb,XB);strcpy(JG,(*p1).jg);strcpy(*p1).jg,(*p2).jg);strcpy(*p2).jg,JG);scoreswap(*p1).c,(*p2).c);scoreswap(*p1).eng,(*p2).eng);scoreswap(*p1).phy,(*p2).ph
12、y);p2=(*p2).next;p1=(*p1).next;p=h;for(i=0;in;i+)print(p);p=(*p).next;coutendl;break;case 3:if(h=0)cout无结点 n;else p1=h;while(*p1).next)for( i=0;in-1;i+).p2=(*p1).next;for(int j=i+1;j=(*p2).eng)intswap(*p1).xh,(*p2).xh);strcpy(XM,(*p1).xm);strcpy(*p1).xm,(*p2).xm);strcpy(*p2).xm,XM);strcpy(XB,(*p1).x
13、b);strcpy(*p1).xb,(*p2).xb);strcpy(*p2).xb,XB);strcpy(JG,(*p1).jg);strcpy(*p1).jg,(*p2).jg);strcpy(*p2).jg,JG);scoreswap(*p1).c,(*p2).c);scoreswap(*p1).eng,(*p2).eng);scoreswap(*p1).phy,(*p2).phy);p2=(*p2).next;p1=(*p1).next;p=h;for(i=0;in;i+)print(p);p=(*p).next;coutendl;break;case 4:if(h=0)cout无结点
14、 n;else p1=h;while(*p1).next)for(i=0;in-1;i+)p2=(*p1).next;for(int j=i+1;j=(*p2).c)intswap(*p1).xh,(*p2).xh);strcpy(XM,(*p1).xm);strcpy(*p1).xm,(*p2).xm);strcpy(*p2).xm,XM);strcpy(XB,(*p1).xb);strcpy(*p1).xb,(*p2).xb);strcpy(*p2).xb,XB);strcpy(JG,(*p1).jg);strcpy(*p1).jg,(*p2).jg);strcpy(*p2).jg,JG)
15、; scoreswap(*p1).c,(*p2).c);scoreswap(*p1).eng,(*p2).eng);.scoreswap(*p1).phy,(*p2).phy);p2=(*p2).next;p1=(*p1).next;p=h;for(i=0;in;i+)print(p);p=(*p).next;coutendl;break;case 5:if(h=0)cout无结点 n;else p1=h;while(*p1).next)for( i=0;in-1;i+) p2=(*p1).next;for(int j=i+1;j=Sj)intswap(*p1).xh,(*p2).xh);st
16、rcpy(XM,(*p1).xm);strcpy(*p1).xm,(*p2).xm);strcpy(*p2).xm,XM);strcpy(XB,(*p1).xb);strcpy(*p1).xb,(*p2).xb);strcpy(*p2).xb,XB);strcpy(JG,(*p1).jg);strcpy(*p1).jg,(*p2).jg);strcpy(*p2).jg,JG);scoreswap(*p1).c,(*p2).c);scoreswap(*p1).eng,(*p2).eng);scoreswap(*p1).phy,(*p2).phy);p2=(*p2).next;p1=(*p1).n
17、ext;p=h;for(i=0;in;i+)cout(*p).xht(*p).xmt(*p).xbt(*p).jgt(*p).c t(*p).engt(*p).phytSin;.p=(*p).next;coutendl;break;case 6:if(h=0)cout无结点 n;else p1=h;while(*p1).next)for( i=0;in-1;i+)p2=(*p1).next;for(int j=i+1;j=averj)intswap(*p1).xh,(*p2).xh);strcpy(XM,(*p1).xm);strcpy(*p1).xm,(*p2).xm);strcpy(*p2
18、).xm,XM);strcpy(XB,(*p1).xb);strcpy(*p1).xb,(*p2).xb);strcpy(*p2).xb,XB);strcpy(JG,(*p1).jg);strcpy(*p1).jg,(*p2).jg);strcpy(*p2).jg,JG);scoreswap(*p1).c,(*p2).c);scoreswap(*p1).eng,(*p2).eng);scoreswap(*p1).phy,(*p2).phy);p2=(*p2).next;p1=(*p1).next;p=h;for(i=0;in;i+)cout(*p).xht(*p).xmt(*p).xbt(*p
19、).jgt(*p).ct (*p).engt(*p).phytaverin;p=(*p).next;coutendl;break;default: cout无可排序的依据!endl;void BJ:deletestudent(STU *h,int data)STU *p1,*p2;int b;cout 如果要删除学生的信息请输入1! n如果不需要删除学生的信息请输.入 2! b;switch(b)case 1:cout输入要删除信息学生的学号:data;if(h=0)coutxh=data)p2=h;h=h-next;delete p2;cout成功删除学生的信息!endl;else p2=p
20、1=h;while(*p2).xh!=data&(*p2).next!=0)p1=p2;p2=(*p2).next;if(*p2).xh=data)(*p1).next=(*p2).next;delete p2;cout成功删除学号为data 学生的信息 endl;else cout没有找到要删除的信息;case 2:break;void BJ:scholar(STU *h,int n)STU *p;char xm2020,xb2020,jg2020,b20,c20,d20;double s20,xh20,vc20,english20,physics20,pe20,S;p=h;for(int
21、i=0;in;i+)si=(*p).c*4.5+(*p).eng*4+(*p).phy*3)/11.5-50)/10;xhi=(*p).xh;strcpy(xmi,(*p).xm);strcpy(xbi,(*p).xb);strcpy(jgi,(*p).jg);vci=(*p).c;vci=(*p).eng;physicsi=(*p).phy;p=(*p).next;for(i=0;in-1;i+)for(int j=i+1;jn;j+)if(si=sj)S=si;si=sj;sj=S;intswap(xhi,xhj);.strcpy(b,xmi);strcpy(xmi,xmj);strcpy
22、(xmj,b);strcpy(c,xbi);strcpy(xbi,xbj);strcpy(xbj,c);strcpy(d,jgi);strcpy(jgi,jgj);strcpy(jgj,d);scoreswap(vci,vcj);scoreswap(englishi,englishj);scoreswap(physicsi,physicsj);for(i=0;in;i+)coutxhitxmitsin;cout特等奖学金名单:n;for(i=0;i=4.0)coutxmin;cout一等奖学金名单:n;for(i=0;i=3.6&si4.0)coutxmin;cout二等奖学金名单:n;for
23、(i=0;i=3.2&si3.6)coutxmin;cout三等奖学金名单:n;for(i=0;i=2.8&si3.2)coutxmin;void xhxs(STU *h,int n) double s20;char XM2020;long int XH20;STU *p;p=h;for(int i=0;in;i+)si=(*p).c*4.5+(*p).eng*4+(*p).phy*3)/11.5-50)/10;strcpy(XMi,(*p).xm);XHi=(*p).xh;p=(*p).next;cout三好学生的名单:n;for(i=0;i=3.0|si3.5&(*p).c-50)/10)
24、=1.0&(*p).c-50)/10)3.5& &(*p).eng-50)/10)=1.0&(*p).eng-50)/10)3.5&(*p).phy-50)/10) =1.0&(*p).phy-50)/10)=2.0)coutXHitXMitsin;void BJ:shxs(STU *h,int n) double s20;char XM2020;long int XH20;STU *p;p=h;for(int i=0;in;i+)si=(*p).c*4.5+(*p).eng*4+(*p).phy*3)/11.5-50)/10;strcpy(XMi,(*p).xm);XHi=(*p).xh;p
25、=(*p).next;cout三好学生的名单:n;for(i=0;i=3.0|si3.5&(*p).c-50)/10)=1.0&(*p).c-50)/10)3.5& &(*p).eng-50)/10)=1.0&(*p).eng-50)/10)3.5&(*p).phy-50)/10) =1.0&(*p).phy-50)/10)=2.0)coutXHitXMitsin;void BJ:print(STU *h)STU *p;p=h;cout 学号 姓名 性别 籍贯 vc+ 成绩 英语成绩 物理成绩 endl; while(p)cout(*p).xht(*p).xmt(*p).xbt(*p).jgt
26、(*p).ct (*p).engt(*p).phyn;p=(*p).next;void BJ:welcome()cout*n;cout*n;cout*n;cout*欢迎进入江苏科技大学学生管理系统!*n;cout*n;cout*n;cout*n;.void BJ:Introduction()cout 关于 :n;cout本程序为学生成绩管理系统,可实现对班级学生的成绩的管理及奖学金、三好生的评定工作,具备查询和检索等功能。endl;void main() STU *h;long int data;int n,a,r,m;BJ xg12;xg12.Introduction();xg12.welc
27、ome();docoutn请选择要操作的内容!n;cout要输入学生的信息请输入1!endl;cout要查询学生的信息请输入2!endl;cout要输出学生的信息请输入3!endl;cout对学生的信息进行排序请输入4! endl;cout要删除某学生的信息请输入5! r;switch(r)case 1:cout 请输入班级人数! endln;coutendl;cout请输入班级学生信息!endl;h=xg12.Input(n);break;case 2:xg12.search(h);break;case 3:xg12.print(h);xg12.calculate(h,n);xg12.sch
28、olar(h,n);xg12.shxs(h,n);break;case 4:xg12.sort(h,a,n);break;case 5:xg12.deletestudent(h,data);break;.cout如果要继续操作请输入1!退出请输入0! m;while(m);/* 设计要求:应严格按照开发小型项目的基本流程进行设计。成绩管理程序至少应具有以下功能:输入:学生的基本信息,包括学号、姓名、性别、籍贯、 VC+成绩、英语成绩、物理成绩等;计算:每个学生的总成绩、平均成绩,所有学生单科的平均成绩,找出总成绩和单科成绩最高的学生并输出;查询:可以按学号、姓名等进行成绩查询;排序:可以按学号、姓名、 VC+成绩、英语成绩、物理成绩、总成绩、平均成绩等进行排序并输出;删除:删除某条记录;按学分积点计算办法计算出每个学生的学分积点,并按从高到低的顺序排列输出。按奖学金评定办法,从特等奖开始, 输出获得奖学金的学生名单及该生的学习成绩与学分积点。按三好生评定办法,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 国家事业单位招聘2023中国(教育部)留学服务中心招聘拟录用人员(非事业编制)(二)笔试历年参考题库典型考点附带答案详解(3卷合一)
- 金融行业面试技巧经典问题与答案指南
- 培训师团队成员考核评价标准
- 酒店厨师面试题及答案
- 空调维修技师技能考试题含答案
- 2025年生态旅游投资分析可行性研究报告
- 2025年社区医疗卫生服务项目可行性研究报告
- 2025年智能电表推广应用项目可行性研究报告
- 2025年社区共享资源平台开发项目可行性研究报告
- 2026年重庆电信职业学院单招职业倾向性测试题库参考答案详解
- 利用EXCEL画风机特性曲线-模版
- 基层销售人员入职培训课程完整版课件
- 2023年郴州职业技术学院单招职业适应性测试题库及答案解析word版
- 西南大学PPT 04 实用版答辩模板
- D500-D505 2016年合订本防雷与接地图集
- 颅脑损伤的重症监护
- 《史记》上册注音版
- JJF 1985-2022直流电焊机焊接电源校准规范
- GB/T 19867.2-2008气焊焊接工艺规程
- 国家开放大学《刑法学(1)》形成性考核作业1-4参考答案
- 商户类型POS机代码
评论
0/150
提交评论