




免费预览已结束,剩余25页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
#include /#include #include #include using namespace std; #define max 100; class student public: student *next; public: string name;/姓名 string sex;/性别long num;/学号 int x,y,z;/数学,语文,英语 int AA;/总分 void play()cout 姓名:name 性别:sex 学生的学号是:num 数学:x 语文:y 英语:z 总分:AAnext; delete stu; stu=p; stu=0; void sadd(); /添加 void sremove(); /删除 void samend(); /修改 void ssearch(); /查询 void staxis(); /排序 void ssave(); /保存 void display_chinese(); /均分 及格率/排序函数 void pxh(); void psx(); void pyw(); void pyy(); void pAA(); private: student *stu; /头接点 ; void cla:sadd()/添加 int e=1; student *q; string name1;string sex1; long num1; int x1,y1,z1; system(cls); cout请输入学生信息endl;cout学生姓名:name1;docout性别(男,女):sex1;if(sex1!=男&sex1!=女) cout性别错误(男或女)!请重新输入!endl; e=1;else e=0;while(e);return ;cout学号:num1;cout数学:x1;cout语文:y1;cout英语:z1;q=new student(name1,sex1,num1,x1,y1,z1); q-next=0; q-AA=x1+y1+z1; if(stu) student *t; t=stu;if(t-num=num1) cout学号已存在,请重新输入next) if(t-num=num1) cout学号已存在,请重新输入next; t-next=q; else stu=q; cout输入完毕endl; void cla:sremove()/删除 system(cls); int num1; coutn* 删除学生信息 *n; coutnum1; /查找要删除的结点 student *p1,*p2; p1=stu; while(p1) if(p1-num=num1) break; else p2=p1; p1=p1-next; /删除结点 if(p1!=NULL)/若找到结点,则删除 p1-play(); cout确定删除吗?Y/Nc; if(toupper(c)!=Y) return; if(p1=stu) /若要删除的结点是第一个结点 stu=p1-next; delete p1; else /若要删除的结点是后续结点 p2-next=p1-next; delete p1; cout找到学号为num1的学生,并删除n; else /未找到结点 cout未找到想要删除的学生!n; void cla:samend()/修改 system(cls); long num1; coutn* 修改学生信息 *n; coutnum1; /查找要修改的结点 student *p1,*p2; p1=stu; while(p1) if(p1-num=num1) break; else p2=p1; p1=p1-next; if(p1!=NULL) cout学号是(num1)的学生的信息:endl; cout姓名:name性别:sex数学:x语文:y英语:zendl; cout请输入修改后的信息:姓名 性别 数学成绩 语文成绩 英语成绩p1-namep1-sexp1-xp1-yp1-z; p1-AA=p1-x+p1-y+p1-z; cout修改成功endl; else /未找到接点 cout未找到!n; void cla:ssearch()/查询 system(cls); coutn* 查询学生信息 *nendl; cout请输入查询方式:endl; cout1.按学号查询endl; cout2.按姓名查询endl; cout3.返回c; switch (c) case 1: long num1; cout要查询的学号:num1; /查找要查询的结点 student *p1,*p2; p1=stu; while(p1) if(p1-num=num1) break; else p2=p1; p1=p1-next; if(p1!=NULL) cout学号是:num1的学生的信息:endl; cout 姓名:name 性别:sex 数学:x 语文:y 英语:zendl; cout查询完毕; else /未找到接点 cout未找到!n; break; case 2: string name1; cout要查询的学生姓名:name1; /查找要查询的结点 student *p1,*p2; p1=stu; while(p1) if(p1-name=name1) break; else p2=p1; p1=p1-next; if(p1!=NULL) coutname1的学生的信息:endl; cout 性别:sex学号:num 数学:x 语文:y 英语:zendl; cout查询完毕; else /未找到接点 coutnext) n+; p1=p1-next; cout共有n条信息endl; int i; p1=stu; for(i=1;inump1-next-num) / 如果头结点大于第二个的 p2=p1-next; p1-next=p1-next-next; p2-next=p1; /头结点交换 stu=p2; p1=stu; while(p1-next-next) /中间的交换 p2=p1; p1=p1-next; if(p1-nump1-next-num) p2-next=p1-next; p1-next=p1-next-next; p2-next-next=p1; p1=p2-next; /交换 p1=stu; do p1-play(); p1=p1-next; while(p1); void cla:psx()/按数学成绩排序 student *p1,*p2; int n; p1=stu; n=1; while(p1-next) n+; p1=p1-next; cout共有n条信息endl; int i; p1=stu; for(i=1;ixp1-next-x) / 如果头结点大于第二个的 p2=p1-next; p1-next=p1-next-next; p2-next=p1; /头结点交换 stu=p2; p1=stu; while(p1-next-next) /中间的交换 p2=p1; p1=p1-next; if(p1-xp1-next-x) p2-next=p1-next; p1-next=p1-next-next; p2-next-next=p1; p1=p2-next; /交换 p1=stu; do p1-play(); p1=p1-next; while(p1); void cla:display_chinese()/均分及及格率student *p1,*p2,*p3;double a=0.0,b=0.0,c=0.0;double sum_chinese=0.0;double ave_chinese=0.0;double sum_math=0.0; double ave_math=0.0;double sum_english=0.0; double ave_english=0.0; int n; p1=stu; n=1; while(p1-next) n+; p1=p1-next; /cout共有n条信息endl; int i; p1=stu;/语文for(i=0;iy=60) a=a+;sum_chinese+=p1-y;p1=p1-next;ave_chinese=sum_chinese/n;cout*各科均分及及格率*endl;cout*endl;cout语文均分:ave_chinese 语文及格率:a/nendl;p2=stu; /数学for(i=0;ix=60) b=b+1;sum_math+=p2-x;p2=p2-next;ave_math=sum_math/n;cout数学均分:ave_math 数学及格率:b/nendl;p3=stu;/英语for(i=0;iz=60) c=c+1; sum_english+=p3-z;p3=p3-next;ave_english=sum_english/n;cout英语均分:ave_english 英语及格率:c/nendl;cout*next) n+; p1=p1-next; cout共有n条信息.endl; int i; p1=stu; for(i=1;iyp1-next-y) / 如果头结点大于第二个的 p2=p1-next; p1-next=p1-next-next; p2-next=p1; /头结点交换 stu=p2; p1=stu; while(p1-next-next) /中间的交换 p2=p1; p1=p1-next; if(p1-yp1-next-y) p2-next=p1-next; p1-next=p1-next-next; p2-next-next=p1; p1=p2-next; /交换 p1=stu; do p1-play(); p1=p1-next; while(p1); void cla:pyy()/按英语成绩排序 student *p1,*p2; int n; p1=stu; n=1; while(p1-next) n+; p1=p1-next; cout共有n条信息endl; int i; p1=stu; for(i=1;izp1-next-z) / 如果头结点大于第二个的 p2=p1-next; p1-next=p1-next-next; p2-next=p1; /头结点交换 stu=p2; p1=stu; while(p1-next-next) /中间的交换 p2=p1; p1=p1-next; if(p1-zp1-next-z) p2-next=p1-next; p1-next=p1-next-next; p2-next-next=p1; p1=p2-next; /交换 p1=stu; do p1-play(); p1=p1-next; while(p1); void cla:pAA()/按总分排序 student *p1,*p2; int n; p1=stu; n=1; while(p1-next) n+; p1=p1-next; cout共有n条信息endl; int i; p1=stu; for(i=1;iAAp1-next-AA) / 如果头结点大于第二个的 p2=p1-next; p1-next=p1-next-next; p2-next=p1; /头结点交换 stu=p2; p1=stu; while(p1-next-next) /中间的交换 p2=p1; p1=p1-next; if(p1-AAp1-next-AA) p2-next=p1-next; p1-next=p1-next-next; p2-next-next=p1; p1=p2-next; /交换 p1=stu; do p1-play(); p1=p1-next; while(p1); void cla:staxis()/排序 system(cls); char c; cout请选择以何种方式排序:endl; cout1以学号排序endl; cout2以数学成绩排序endl; cout3以语文成绩排序endl; cout4以英语成绩排序endl; cout5以总分排序endl; cout6返回endl; cout请选择(1-6)c; switch (c) case 1:pxh(); break; case 2:psx(); break; case 3:pyw(); break; case 4:pyy(); break; case 5:pAA(); break; case 6:return; void cla:ssave() /保存到文件 system(cls); ofstream tfile(date.txt,ios_base:binary); student *p=stu; while(p)/ 写入文件 tfilenametnumtxtytz; tfilenext; tfile.close(); cout保存完毕endl; void main() char c; cla a; do coutn*学 生 成 绩 管 理 系 统*n; cout*n; cout n; cout 1录入学生信息 n; cout 2删除学生信息 n; cout 3修改学生 n; cout 4
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025届东北三省三校高三下学期第二次联合模拟考试语文试题(解析版)
- 求职面试礼仪与技巧简历面试准备面试实战面后努力培训
- 食品安全管理制度版7篇
- 佛山海天公司管理制度
- 作业环境安全管理制度
- 供应活动流程管理制度
- 供暖泵房安全管理制度
- 供水公司保洁管理制度
- 笔产品质量河南省监督抽查实施细则(2023年版)
- 供热用户投诉管理制度
- 2023年江苏省盐城市大丰区部分事业单位招聘专职安监人员8人(共500题)笔试必备质量检测、历年高频考点模拟试题含答案解析
- EXCEL常用函数的教程课件
- 湖北省武汉市江汉区2022-2023学年三年级下学期期末数学试卷
- 井下变电所检修高爆开关施工安全技术措施
- 广东省广州市白云区2022-2023学年数学六年级第二学期期末质量检测试题含解析
- 医疗设备、医用耗材管理制度培训讲座
- 导游基础知识(中职)全套PPT教学课件
- 魅力台州优质获奖课件
- ZZ028 中职法律实务赛项赛题-2023年全国职业院校技能大赛拟设赛项赛题完整版(10套)
- 电动剪刀式升降车作业风险辨识及控制措施清单
- 巨力索具(河南)有限公司年生产10万吨钢丝及5万吨钢丝绳项目环境影响报告
评论
0/150
提交评论