版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C++程序设计源程序: 《学生成绩管理系统》#iiiclude<iostreain.h>#iiiclude<stnng.h>#iiiclude<process.h>#iiiclude<cstruig>//数组比较头文件#iiiclude<fstieam.h>//文件的输入输出#iiiclude<stdio.h>mttime=O;charname_[20];classCPerson//CPerson基类成员:IDNoNameAddrTel(public:charIDNo[30];charNaine[30];charAddr[30];charTel[30];);classCStudent:publicCPerson//——CStudent类―继承自CPerson成员:SmdNoMathEnglishAverage(public:charStudNo[30];doubleMath;doubleEnglish;doubleAverage;};classCClass//CClass类成员:CClassNameCStudent(private:charCClassName[30];CStudent*stu[50];public:CClassQ;〜CClass。;voidCreateClassQ;//voidOutClassNaine();//输出班级名字voidNewAStuQ;//1.创建学生信息voidchangeQ;//3.修改学生信息voiddel();〃4.删除学生信息voidwriteinQ;//文件写入voidwnteoutQ;〃文件读出voidwriteino();//文件另存为voidwiiteouto();〃打开其他文件voidfindO;〃6.查询学生信息);cout«\t\t\t执行成功!«endl;HMsystem(pause);〃任意键继续HMsystem(cls);〃清除屏幕HHvoidback_no()HM);〃任意键继续system(pauseHH);system(cls〃清除屏幕voidtitle。//voidCClass::writemoQ//文件另存为system(cls);Hncout«---------学生信息管理程序HvoidCClass::writeiiiQ//---------------保存文件(ofstieamSaveFile(HmyH);SaveFile«CClassName«M\tM«time«endl;{SaveFile«stu[i]->IDNo«n\tM«stu[i]->Naine«H\tH«stu[i]->Addr«H\tH«stu[i].>Tel«,,\tH«stu[i]->StudNo«,^\t,^«stu[i]->Math«H\tH«stu[i]->English«,,\t"«stu[i]・>AveragevVendl;}Save();ofstieamSave(name_);Save«CClassName«,,\tH«tiine«endl;fbr(mtj=0J<time;j++){Savevvstu[J]・>IDNovv”\t"«stu|j]->Naiiie«H\tH«stu|j]->Addr«H\tM«stuU]->Tel«M\tH«stuU]->StudNo«,,\tH«stu|j]->Math«H\tnwstu[j]・>Englishvv”\t”«stu[j]->Average«endl;}Save.close();charchoice[30];
\n您现在的位置:\t主菜单ofstieamfop;ifstreainfip;cout«H文件己默认保存了!\t现在需要另存为?(Y/N),,«endl;ciii»choice;while(sticmp(choice「'Y”)==0||sticmp(choice「'y”)=0){cout«H请输入文件名称:\tn«endl;ciii»name_;sticat(name_,".txtH);fop.open(naine_);fop«CClassNaine«,,\t,,«tmie«endl;fbr(inti=0;i<time;i++){fbpv<stu[i]・>n)No<v”\t”«stu[i]->Naine«H\tH«stu[i]->Addr«H\tM«stu[i]->Tel«M\tH«stu[i]->StudNo«M\tn«stu[i]->Math«H\tH«stu[i]->English«n\tH«stu[i]->Average«endl;}fip.close();cout«H另存为H«name_«n成功!H«endl;back_noQ;return;}wlule(sticmp(choice/,nn)==0||strcmp(choice/,Nn)==0){back_noQ;return;}wlule(sticmp(choice/,YH)!=0||sticnip(choice/y*)!=0){cout«H输入错误!n«endl;back_noQ;return;}voidCClass::writeout()//inti=0;charc[30];FILE*fp;if((fp=fbpen(Hmy,7,rH))==NULL)coutvv”cann'topentheexit(O);}fscaiif(fpj,%s%d,\c,&time);sticpy(CClassName,c);wlule(i<time){fscaiif(fpJ,%s%s%s%s%s%lf%lf%lf\stu[i]->IDNo,stu[i]->Name,stu[i]->Addi;&sni[i]->Tel,stu[i]->StudNo,&stu[i]->Math,&stu[i]->English,&stu[i]->Average);1++;}fclose(fp);/*关闭文件*7cout«H恭喜你!成功读取班级信息!\n”;}voidCClass::writeouto()//打开其他文件(int1=0;charc[30];FILE*fp;fstream_file;ofstieamfop;ifstreainfip;coutvv”请输入文件名称:\tH«endl;ciii»name_;sticat(naine_,”.txt”);〃创建文件名ifstreainfin(name_);_(naine_jos::m);wliile(!_file){cout«name_vv”没有被创建4”;cout«M请输入文件名称:\t"«endl;ciii»name_;}if((fp=fbpen(name_/rH))=NULL){cout«Hcaiurtopenthefile\iiH;exit(0);}fscaiif(fpj,%s%d,\c,&time);sticpy(CClassName,c);fscaiif(fpj,%s%s%s%s%s%lf%lf%lf\stu国AEDNo’stuE.'Nam&stuUJ-AAddi.&sniUJoTeLstupl.AStudNo,&stu[i]->Math,&stu[i]->English,&stu[i]->Average);i++;}fclose(fp);/*关闭文件*7cout«H恭喜你!成功读取班级信息!\n”;}CClass::CClass()//(i=0;i<50;i++){stu[i]=newCStudentQ;}}CClass:>CClass()//(i=0;i<50;i++){deletestu[i];}}voidCClass::CreateClass()//创建班级(charchoice[30];char*c;charcname[30];cout«H学生信息管理程序"«endl;cout«Mlx创建班级H«endl«”2、读取班级信息“vvendlvv”3、退出程序"«endl;COUtVV,请选择:”;ciii»choice;O=0;O<1;O-H-){while(strcmp(choice,”1”)==0){system(HclsM);cout«"学生信息管理程序,'«endl;cout«"请输入班级名称二c=newchar[];cin»c;strcpy(CClassName,c);retuni;)while(sticmp(choice,n2H)==0)system(HclsM);title。;cout«H\nl.打开上次的文件,f«endl«M2.打开其他文件n«endl«M\n请选择二cin»cname;fbr(intk=0;k<1;k++){while(strcmp(cname/r1”)==0)(writeout();return;)while(strcmp(cname/2M)=0)(writeouto();return;)cout«M请在1〜2中选择二cin»cname;}}wlule(sticmp(choice/,0H)==0)exit(O);cout«H请在1〜2中选择:”;ciii»choice;}voidCClass::NewAStuQ//0.创建学生(cout«-'->输入学生信息\n”;coutvv“请输入身份证号码(18位):\t\t”;ciii»stu[time]->IDNo;//检验身份证位数wlule(stu[time]->IDNo[18]!='\0){cout«HDataEnor!\n请输入18位身份证号码:\t\t";ciii»stu[time]->IDNo;}cout«HiW输入姓名:\t\t”;cm»stu[time]->Name;COUtVV"请输入住址:cm»stu[tune]->Addi;COUtVV”请输入电话号码:\t\t”;cm»stu[tune]->Tel;coutvv”请输入学号(12位ciii»stu[tune]->StudNo;fbr(mto=0;o<10:o-H-)wliile(stu[time]->StudNo[12]!=,\0,)//检验学号位数{cout«MDataError!\n请输入12位学号:\t\t\t”;cin»sm[tmie]->StudNo;}for(inti=O;i<time;i-H-)//检验是否重复{if(strcmp(stu[i]->StudNo,stu[time]->StudNo)=0){cout«nDataEiror!\n学号重复:请重新输入An”;cin»stu[tHiie]->StudNo;}}}cout«H请输入数学成绩:cm»stu[tune]->Math;wlule(stu[time]->Math<0|stu[time]->Math>1){cout«nDataEnor?\ii请重新输入一个分数(0〜1):\t”;ciii»stu[time]->Math;}cout«H请输入英语成绩:\t\t”;ciii»stu[tune]->English;wlule(stu[time]->English<0|stu[time]->English>1){cout«nDataEnor?\ii请重新输入一个分数(0〜1):\t”;ciii»stu[time]->English;}stu[time]->Av-eiage=(stu[time]->Math+stu[time]->English)/2;back();voidCClass::OutClassNameQ//2.打印班级名称(intfenshu;chartemp[30];doubletemp_;change=O;change<tmie;change-H-){fenshu=chaiige;fbr(intj=changej<timeJ++)if(strcmp(stu[j]->StudNo,stu[fenshu]->StudNo)<0)fenshu=j;strcpy(temp,stu[fenshu]->Addr);strcpy(stu[fenshu]->Addr,stu[change]->Addr);strcpy(stu[change]->Addi;temp);/*地址*/strcpy(temp,stu[fenshu]->StudNo);strcpy(stu[fenshu]->StudNo,stu[chaiige]->StudNo);strcpy(stu[change]->StudNo,temp);/*身份证*/strcpy(temp,stu[fenshu]->Name);strcpy(stu[fenshu]->Name,stu[chaiige]->Name);strcpy(stu[change]->Naine,temp);/*姓名*/strcpy(temp,stu[fenshu]->Tel);strcpy(stu[fenshu]->TeLstu[chaiige]->Tel);strcpy(stu[change]->Tel,temp);/*电话*/strcpy(temp,stu[fenshu]->IDNo);strcpy(stu[fenshu]->IDNo,stu[change]^:-IDNo);strcpy(stu[change]->IDNo,temp);/*学号*/temp_=stu[fenshu]->Math;stu[fenshu]->Math=stu[change]->Matli;stu[change]->Math=temp_;/*数学*/temp_=stu[fenshu]->English;stu[fenshu]->English=stu[change]->English;stu[change]->English=temp_;/*英语*/temp_=stu[fenshu]->A\rerage;stu[fenshu]->Average=stu[change]->Average;stu[change]->Average=temp_;/*平均分*/}//cout«\n班级名称:,«CClassName«\t«人数:«tmie«endl«endl;H,,,nHHcout«"学号身份证号码姓名住址电话数学英语平均分«endl;H{cout«stu[i]->StudNo«Hn«stu[i]->IDNo«Mn«stu[i]->Naine«Hn«stu[i]->Addr«Mn«stu[i]->Tel«-\tM«stu[i]->Math«-\tM«stu[i]->English«-\tM«stu[i]->Average«endl;}back_iio。;voidCClass::change()//3.修改学生的信息(charstr[3O];inti.had=0;char*a;charx[30];cout«^请输入您要修改学生的学号/名字二ciii»str;foi(i=0;i<50;i++)if(strcmp(stu[i]->StudNo.str)=0|strcmp(stu[i]->Naine,sti)=O)had=l;cout«,,\tH«M身份证号码:,,«,,\t,,«stu[i]->IDNo«eiidlvv”\t”vv”姓名HHH«\t«stu[i]->Name«endlvv”\t”vv”住址HH,«stu[i]->Addr«endl«\fvv”\t”vv”电话HHH«\t«stu[i]->Tel«endlnM«"学号H«H\tH«stu[i]->StudNo«endl«\tVV"\t”VV”数学成绩H«H\tH«stu[i]->MathHHH«stu[i]->Enghsh,,«\t«\t"«"英语成绩H,H<<sni[i]->Average<<endl<<endl;VV”\t”VV”平均分<<^tMl>修改地址M«endl;cout«M2、修改电话号码H«endl;cout«cout«"3、修改数学成绩,,«endl;Hcout«4>修改英语成绩”vvendl;M0>返回”vvendl;cout«M请选择操作二cin»x;cout«fbr(intk=0;k<1;k++){while(strcmp(x,M1H)==0){COUtVV”请输入新的地址:”;a=newchar[];ciii»a;strcpy(stu[i]->Addr,a);back。;xeturn;)while(strcmp(x,M2H)==0){coutvv”请输入新的电话号码:”;cin»stu[i]->Tel;backQ;return;)while(strcmp(x,M3H)==0)coutvv,,请输入新的数学成绩二cin»stu[i]->Matli;while(stu[i]->Math>1|stu[i]-^-Math<0)cout«"请重新输入OTOO:”;cin»stu[i]・>Math;}stu[i]->Average=(stu[i]->Math+stu[i]->English)/2;backQ;return:)while(strcmp(x/,4H)==0)(cout«H请输入新的英语成绩:";cin»stu[i]->English;while(stu[i]->English>1|stu[i]->English<0)(cout«"请重新输入0〜1:";cin»stu[i]・>English;};stu[i]->Average=(stu[i]->Math+stu[i]->English)/2;backQ;return:)cout«M请在1〜4中选择二cin»x;}if(had==0)(cout«n对不起!没有查询到H«str«n的信息!H«endl;back_no();}voidCClass::delQ//4.删除学生的信息(charstr[30];inti,had=0;if(tiine!=0){coutvv”请输入您要删除的学号二cm»sti;for(i=0;i<50;i++)if(strcmp(stu[i]->StudNo,str)=0){had=l;cout«M第”vvi+i«”位学生:H«endl;cout«,,\f«M身份证号码:H«n\tH«stu[i]->IDNo«eiidlvv,,\t“vv”姓名:”vv*yvstu[i].>Namev<endlvv,,\t“vv”住址«"\r«stu[i]->Addr«endlvv,,\t”vv”电话:”vv*yvstu[i].>Telv<endlvv,,\t”vv”学号:”vv*”vvstu[i].>StudNov<endlw,,\t“vv”数学成绩:H«"\tH«stu[i]->Math«endlvv,,\t“vv”英语成绩:H«"\tH«stu[i]->English«endlvv,,\t”vv”平均分:”vv*yvstu[i].>Averagev<endl«endl;for(intj=ij<=tiine-lJ++){strcpy(stu[j]->IDNo,sni[j-rl]->IDNo);strcpy(stuIj]->Name,stu[j+l]->Name);strcpy(stuIj]->Addi;sniIj+l]->Adclr);strcpy(stu[j]->Tel,stu[j+l]->Tel);strcpy(stu[j]->StudNo,stu[j+l]->StudNo);stuU]->Math=stu|j+1]->Math;stu[j]->English=stu[j+1]->English;stuU]->Average=stu°+1]・>Average;}back();}iRhad==O)(cout«H对不起!没有查询到n«str«n的信息!”VVendl;back_no();}}}voidCClass::fiiid()//6.查询学生的信息(charstr[3O];coutvv”请输入您要查询学生的姓名/学号/身份证号码/电话号码:\t”;ciii»str;i=0;i<time;i++)if(sticnip(stu[i]->Name,sti)==0||sticmp(sni[i]->IDNo,str)==0||sticmp(sni[i]->StudNo,str)==0||strcmp(stu[i]->TeLstr)=O)cout«\n\t«身份证号码:«\t«stu[i]->IDNo«eiidlMHHnnHvv,,\t,,vv”姓HHH«\t«stu[i]->Name«endl名住址VV”\t”VV”电话学号VV”\t”VV”数学成绩«,,\t"«"英语成绩back_no();return;
H«H\tH«stu[i]->Addi«endlH«H\tH«stu[i]->Tel«endlH«H\tH«stu[i]->SmdNo«endlH«H\tH«stu[i]->MathH«H\tH«stu[i]->EnglishH<<,^tH<<sni[i]->Aveiage<<endl<<e
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度工业设备维修服务合同
- 政府机关公务用车服务合同
- 2024年度农产品买卖合同with冷藏物流服务协议
- 2024年度仓库租赁及回收服务合同
- 2024年度锚具研发与技术服务合同
- 2024年度物流专线公司安全责任合同
- 2024年度批发洁具产品购销合同
- 2024年度物业服务租赁合同
- 2024年度项目咨询合同
- 2024年度船运沥青运输合同
- 全国高职高专英语写作大赛
- 微机原理与接口技术8259A练习题及答案
- 幼儿园小朋友认识医生和护士(课堂PPT)
- 汽车总线测试方案概要
- 商铺装修工程施工方案.
- 形式发票样本(Proforma Invoice)
- 草坪铺设施工方案
- 临床路径实施情况、存在问题及整改措施
- (完整word版)上海博物馆文物术语中英文对照
- 调度自动化及通信技术监督实施细则
- 学、练、评一体化课堂模式下赛的两个问题与对策
评论
0/150
提交评论