已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
#include#include#include#includeclass Student /学生类/public:void sr() /输入数据/coutn1;for(int i=0;in1;i+)coutsetw(20)学号:i+1n;coutsetw(20)xmi; coutsetw(20)yyi; coutsetw(20)sxi;coutsetw(19)ci; zfi=(yyi+sxi+ci)/3;coutsetw(20)总分:; coutzfi*3n;save();void ave() /计算各科和总分的平均值/yya=sxa=ca=zfa=0;coutsetw(20)英语平均成绩:; for(int i=0;in1;i+) yya+=int(yyi);coutyya/n1t;coutnsetw(20)数学平均成绩:; for(i=0;in1;i+) sxa+=int(sxi);coutsxa/n1t;coutnsetw(19)c+平均成绩:; for(i=0;in1;i+) ca+=int(ci);coutca/n1t;coutnsetw(20)总分平均成绩:; for(i=0;in1;i+) zfa+=int(zfi);coutzfa/n1t;void tj(double *p,int n,double pp) /计算优良中差的比例/for(int i=0;i5;i+)ppi=0; for(i=0;i=90&pi=80&pi=70&pi=60&pi70) pp3+=1;else pp4+=1;void xktj(double t)double temp=0;for(int i=0;i5;i+) temp+=ti; cout优秀:100*t0/temp良好:100*t1/temp中等:100*t2/temp及格:100*t3/temp不及格:100*t4/tempendl;void yybl()cout英语:(百分之); xktj(yyt);void sxbl()cout数学:(百分之); xktj(sxt);void cbl()coutc+: (百分之); xktj(ct);void zfbl()cout总分:(百分之);xktj(zft);void qk() /清空所有数据/fstream qkl;qkl.open(xm.txt,ios:trunc);qkl.close();sr();void pm()/总分排名double s100;for(int k=0;kn1;k+)sk=zfk; for(int i=1;in1;i+)for(int j=0;jn1-i;j+)if(sjsj+1)double temp; temp=sj;sj=sj+1;sj+1=temp;for(int q=0;q100;q+)for(int w=0;w100;w+)if(zfq=sw)pq=w+1;for(int op=0;opn1-1;op+)for(int po=op+1;pon1;po+)if(pop=ppo)ppo-;int htoi(char *tt) /把字符转成十进制数字/int temp2=0;for(int o=0;tto!=0&o3;o+) temp2=(tt0-48)*10+(tt1-48);return temp2;void read() /读取数据/ char xmmm400;int count=0;fstream infiles;infiles.open(xm.txt,ios:in);if(!infiles)coutwrong;abort();/功 能: 异常终止一个进程。中止当前的过程,返回一个错误代码。while(!infiles.eof()while(infiles.getline(xmmm,6)if(xmmm0=$)count+;infiles.close();fstream infile;infile.open(xm.txt,ios:in);if(!infile)coutwrong;abort();n1=count;char xmm4007;int k=0;while(!infile.eof() for (int i=0;i4;i+)infile.getline(xmmi,6);if (xmmi0=0)break;switch(i)case 0:infile.getline(xmk,6);break;case 1:yyk=htoi(xmmi);break;case 2:sxk=htoi(xmmi);break;case 3:ck=htoi(xmmi);break;default:break;zfk=(yyk+sxk+ck)/3;k+;infile.close();void save() /保存数据/fstream outfile;outfile.open(xm.txt,ios:out);if (!outfile)coutwrong;abort();for (int o=0;on1;o+)outfile$n;outfilexmon;outfileyyon;outfilesxon;outfilecon;outfile.close();void del() /删除学生数据/int tempx=0;coutsetw(30)你想删除哪个学号的成绩?tempx;if(tempxn1) goto end;else if(tempx=n1)n1-;goto end;else if(tempx=1&tempxn1)for(int h=0;hn1-1;h+)yytempx-1+h=yytempx+h;sxtempx-1+h=sxtempx+h;ctempx-1+h=ctempx+h; zftempx-1+h=(yytempx-1+h+sxtempx-1+h+ctempx-1+h)/3;for(int cc=0;cc7;cc+)xmtempx-1+hcc=xmtempx+hcc;n1-; end:;fstream clg;clg.open(xm.txt,ios:trunc);clg.close(); save();read();pm(); void add() /添加学生数据/int tempz=0;couttempz;for(int j=0;jtempz;j+)coutsetw(28)学号:n1+1+jn;coutsetw(28)xmn1+j; coutn;coutsetw(28)yyn1+j; coutn;coutsetw(28)sxn1+j; coutn;coutsetw(27)cn1+j; coutn;zfn1+j=(yyn1+j+sxn1+j+cn1+j)/3;coutsetw(28)总分:; coutzfn1+j*3n;fstream outfilez;outfilez.open(xm.txt,ios:app);if (!outfilez)coutwrong;abort();for (int oo=0;ootempz;oo+)outfilez$n;outfilezxmn1+oon;outfilezyyn1+oon;outfilezsxn1+oon;outfilezcn1+oon;outfilez.close();n1+=tempz;read();pm();void modify() /修改学生的记录/couttemp;coutsetw(28)学号:tempendl;coutsetw(28)xmtemp-1; coutsetw(28)yytemp-1; coutsetw(28)sxtemp-1; coutsetw(27)ctemp-1; zftemp-1=(yytemp-1+sxtemp-1+ctemp-1)/3;coutsetw(28)总分:;coutzftemp-1*3endl;save();read();pm();void type() /打印数据表/pm();coutendl;cout学号姓名英语数学编程总分平均排名endl;coutendl;for(int a=0;an1;a+)coutsetw(4)a+1setw(4)xmasetw(4)yyasetw(4)sxasetw(4)casetw(4)zfa*3setw(4)int(zfa)setw(4)paendl;coutendl;coutendl;void menu() /菜单选项/begin:coutnsetw(40)主菜单:endl;cout输入1.输入数据!endl; cout输入2.显示各科和总分平均成绩!endl; cout输入3.显示优良中的比例!endl; cout输入4.修改学生数据!endl; cout输入5.查看成绩排名!endl; cout输入6.删除记录!endl; cout输入7.数据保存!endl; cout输入8.读取数据!endl; cout输入9.添加数据!endl; cout输入10.清空所有数据!endl;couttem;if (tem=1) sr();goto begin;if(tem10) cout你所输入的数字不符合,请重新输入!0)if(tem=2)ave();goto begin;else if(tem=3)tj(yy,n1,yyt);tj(sx,n1,sxt);tj(c,n1,ct);tj(zf,n1,zft);yybl();sxbl();cbl();zfbl();goto begin;else if (tem=4)modify();goto begin;else if(tem=5)type();goto begin;else if(tem=6)del();goto begin;else if(tem=7)save();goto begin;else if(tem=8)read();goto begin;else if(tem=9)add();goto begin ;else if(tem=10)qk();goto begin;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025安徽交控集团安联公司所属企业招聘2人备考题库含答案详解(培优a卷)
- 2025湖南君山生态渔业集团有限公司下属子公司湘北水产良种场按劳务派遣制招聘专业技术人员的备考题库附答案详解ab卷
- 2026广州南方投资集团有限公司校园招聘备考题库附答案详解(夺分金卷)
- 2025年甘肃电影集团有限公司新兴影城广电中心店人员招聘12人备考题库附答案详解(轻巧夺冠)
- 浙江国企招聘-2025年度绍兴滨海新区控股集团有限公司下属合资公司社会化公开招聘11人备考题库及答案详解(夺冠)
- 2026中国储备粮管理集团有限公司内蒙古分公司招聘备考题库及答案详解(夺冠系列)
- 2026国网宁夏电力有限公司招聘高校毕业生统一考试(第一批)备考题库及答案详解(全优)
- 2025福建泉州厦港拖轮有限公司拖轮轮机员社会招聘2人备考题库附答案详解(巩固)
- 2025福建南平市武夷山市供销总公司招聘1人备考题库附答案详解(精练)
- 2025河北石家庄市某大型国有企业招聘3人备考题库附答案详解(典型题)
- DB11T 1937-2021 河道水环境维护和河道绿地管护分级作业规范
- 学生发展指导中心方案
- 新能源发电技术 电子课件 7.2 波浪能发电
- 农资采购合同模板
- 2024年甘肃高考地理试卷(真题+答案)
- 银行保洁服务投标方案(技术标)
- 介绍结构性心脏病
- 在线网课知慧《大凉山精准脱贫(西昌学院)》单元测试考核答案
- 《关于中国共产党党费收缴、使用和管理的规定》学习解读
- 数形结合在三角函数教学中的应用
- 中国动画赏析
评论
0/150
提交评论