版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
前言-----------------------------------------------------------2概要设计-------------------------------------------------------3详细设计-------------------------------------------------------4原程序清单和执行结果-------------------------------------------61.源程序--------------------------------------------------62.执行结果-----------------------------------------------34用户使用说明---------------------------------------------------36调试与测试-----------------------------------------------------36总结与体会-----------------------------------------------------36参考资料-------------------------------------------------------36一套管理软件成为很有必要的事情。小分别表示学号、姓名、性别、年龄、班级。一个管理类并定义公有成员函数voidAdd();voidShow();voidSearch();实现数据查询功能voidEdit();实现数据修改功能voidDelete();实现数据删除功能voidTotal();实现数据统计功能voidSave();实现数据保存功能voidRead();可从文件中将记录到该类的数组中;然后定义了一个主菜单函数和三个分菜单函rsonsheng数、函数功能介绍显示函数数xiaoxuesheng xiao_Managezhong_Manage xiaoMenu() main()此函数实现的功能主要是,添加一个学生的信息,也就是说调用一次这个函数只能添加一个学生的信息。在此函数中也使用文件处理的方式,但使用的是以追加的方式打开文件,使输入的学生信息写在文件里原有信息的后面。数此函数实现的功能主要是,删除一个学生的信息。在此函数中,先以读的方式打开文件,读出文件里的信息在显示在屏幕上,用户再根据提示信息输入想要删除第几个人的信息,关闭文件。再以写的方式打开文件,以一个if条件语句控制,再重新将学生信息写入文件(除了打算删除的那个学生的信息),由于是以写的方式打开的文件,所以文件里原有的输入就都没有了,存入的新的数此函数实现的功能主要是,修改一个学生的信息。此函数的设计方法和删除函数的设计思想相类似,应用的思想都是将学生信息重新写入文件的方法,有数据覆盖。数在查询功能中,可以按多条件查询,本系统分为两个查询条件,即按学号查1按学号查询根据提示信息输入学号后,然后使用一个for循环语句,从第一个学生开始检索,如果该学生的学号和输入的学号相等,则输出该学生的信息,由于学生2按姓名查询根据提示信息输入姓名后,然后使用一个for循环语句,从第一个学生开始检索,如果该学生的姓名和输入的姓名一样,则输出该学生的信息,由于学生的姓名有可能重复出现,所以不能使用break语句跳出循环,应该从第一个学生开始检索直到最后一名学生。数此函数实现的功能主要是,显示所有学生的信息。先是从文件中读取学生信统将输入程序的数据保存到文件中r源程序清单和执行结果#include<iostream>#include<string>#include<fstream>#include<iomanip>//输入操纵constintTMAX=50;//定义常变量usingnamespacestd;Person{ublicublicPerson(intn=0,stringnm="",stringb=0):num(n),name(nm),sex(s),age(a),banji(b;virtualvoidOutput(){};intGetNum(){returnnum;}//获取编号classzhongxuesheng:virtualpublicPerson//声明为虚基类是因为在派生类中只继{ublicrtubliczhongxuesheng(intn=0,stringd="上海路",intsp=0,intt=0,intyw=0,intsx=0,intyy=0)ersonnnmsabdepartdspecsptitle(t),yuwen(yw),shuxue(sx),yingyu(yy){voidInput(){cout<<"请输入学生生学号"<<endl;cout<<"请输入学生名字"<<endl;cout性别";cout<<"(1.男2.女)"<<endl;cout<<"请输入你的选择"<<endl;inchoiceoice{case1:sex="男";break;case2:sex="女";break;}cout<<"请输入学生年龄"<<endl;cout<<"请输入学生班级"<<endl;njicout<<"选择地址"<<endl;cout<<setw(10)<<"1.上海路京西路"<<setw(10)<<"4.顺外路"<<setw(10)<<"5.南京东路"<<setw(10)<<"6.南京西路放西路"<<setw(10)<<"9.青山湖大道"<<endl;cout<<"请输入你的选择"<<endl;inchoiceoice{case1:depart="上海路";break;case2:depart="北京东路";break;case3:depart="北京西路";break;case4:depart="顺外路";break;case5:depart="南京东路";break;case6:depart="南京西路";break;case7:depart="解放东路";break;case8:depart="解放西路";break;case9:depart="青山湖大道";break;}cout<<"地理成绩"<<endl;cout<<"历史成绩"<<endl;tlecout<<"语文成绩"<<endl;wencout<<"数学成绩"<<endl;shuxuecout<<"英语成绩"<<endl;yingyu}voidOutput()setw(10)<<"姓名"setw(10)<<"性别"setw(10)<<"年龄"setw(10)<<"班级"cout<<setw(10)<<numsetw(10)<<namesetw10)<<sexsetw10)<<age<<setw(10)<<banjicout<<setw(10)<<"地址"setw(10)<<"地理"setw(10)<<"历史"setw(10)<<"语文"setw(10)<<"数学"setw(10)<<"英语"cout<<setw(10)<<departsetw(10)<<spec<<setw(10)<<title<<setw(10)<<yuwen<<setw(10)<<shuxue<<setw(10)<<yingyu}n{ublicstringzzmm住址zcicexiublicdaxuesheng(intn=0,stringnm="",strings="男",inta=0,intb=0,stringz="",stringzc="",intyw=0,intsx=0,intyy=0,intdl=0,intls=0,stringlx="")ersonnnmsazzmmzzczcyuwenyw),shuxue(sx),yingyu(yy),dili(dl),lishi(ls),lianxi(lx){};voidInput(){cout<<"输入学号"<<endl;cout<<"输入名字"<<endl;cout性别";cout<<"(1.男2.女)"<<endl;cout<<"请输入你的选择"<<endl;inchoiceoice{case1:sex="男";break;case2:sex="女";break;}cout<<"输入年龄"<<endl;cout<<"请输入学生班级"<<endl;njicout<<"选择地址"<<endl;cout<<setw(10)<<"1.上海路京西路"<<setw(10)<<"4.顺外路"<<setw(10)<<"5.南京东路"<<setw(10)<<"6.南京西路放西路"<<setw(10)<<"9.青山湖大道"<<endl;cout<<"请输入你的选择"<<endl;inchoiceoice{case1:zzmm="上海路";break;case2:zzmm="北京东路";break;case3:zzmm="北京西路";break;case4:zzmm="顺外路";break;case5:zzmm="南京东路";break;case6:zzmm="南京西路";break;case7:zzmm="解放东路";break;case8:zzmm="解放西路";break;case9:zzmm="青山湖大道";break;}cout<<"输入专业"<<endl;cout<<"地理成绩"<<endl;cout<<"历史成绩"<<endl;shicout<<"语文成绩"<<endl;wencout<<"数学成绩"<<endl;shuxuecout<<"英语成绩"<<endl;yingyucout<<"联系电话"<<endl;lianxi}voidOutput(){cout<<setw(10)<<"学号"setw(10)<<"姓名"setw(10)<<"性别"setw(10)<<"年龄"cout<<setw(10)<<numsetw(10)<<namesetw10)<<sexsetw10)<<agecout<<setw(10)<<"班级"setw(10)<<"地址"setw(10)<<"专业"setw(10)<<"地理"setw(10)<<"历史"cout<<setw(10)<<banjisetw(10)<<zzmmsetw)<<zcsetw(10)<<dili<<setw(10)<<lishicout<<setw(10)<<"语文"setw(10)<<"数学"setw(10)<<"英语"<<setw(10)<<"联系电话"cout<<setw(10)<<yuwen<<setw(10)<<shuxue<<setw(10)<<yingyu<<setw(12)<<lianxi}on{ubliciceublics="男",inta=0,intb=0,intyw=0,intyy=0,intsx=0)rsonnnmsayuwenywyingyuyyvoidInput(){cout<<"输入学号"<<endl;cout<<"输入姓名"<<endl;cout性别";cout<<"(1.男2.女)"<<endl;cout<<"请输入你的选择"<<endl;inchoiceoice{case1:sex="男";break;case2:sex="女";break;}cout<<"输入年龄"<<endl;cout<<"输入班级"<<endl;njicout<<"语文成绩"<<endl;wencout<<"英语成绩"<<endl;yingyucout<<"数学成绩"<<endl;shuxue}voidOutput(){cout<<setw(10)<<"职工编号"setw(10)<<"姓名"setw(10)<<"性别"setw(10)<<"年龄"setw(10)<<"班级"setw(10)<<"语文"setw(10)<<"英语"setw(10)<<"数学"cout<<setw(10)<<numsetw(10)<<namesetw10)<<sexsetw10)<<age<<setw(10)<<banji<<setw(10)<<yuwen<<setw(10)<<yingyu<<setw(10)<<yingyu}classxiao_Manage//小学生管理类{xiaoxueshengzhong[TMAX];//TMAX为常量,为数组中可存储的教师记录的最大数;inttop;//top表示当前系统中个数;ublicxiao_Manage(){top=0;}//初始时记录的个voidAdd();voidShow();voidSearch();voidEdit();voidDelete();voidTotal();voidSave();voidRead();到该类的数组中;//可从文件中将记录voidxiao_Manage::Add()//小学生{{cout<<"用户已满"<<endl;turn}xiaoxueshengt;//声明对象cout<<"输入新添加的人员的信息"<<endl;for(inti=0;i<top;i++)if(t.GetNum()==zhong[i].GetNum())//输入的编号与存在的编号比较{cout<<"该编号的人员已存在"<<endl;turn}gtoptcout<<"添加成功!"<<endl;}voidxiao_Manage::Show()//小学生{{cout<<"无数据!"<<endl;turn}{for(inti=0;i<top;i++)zhong[i].Output();}}voidxiao_Manage::Search()//小学生{{cout<<"当前系统中没有存储记录"<<endl;turn}cout<<"请选择查找方式:1.按编号查找2.按姓名查找."<<endl;choicece{cout<<"请输入要查找的编号:"<<endl;for(inti=0;i<top;i++){ifzhongi].GetNum()==num){zhong[i].Output();turn}}cout<<"查无此人!"<<endl;cout<<"请输入要查找的姓名"<<endl;for(inti=0;i<top;i++){if(zhong[i].GetName()==name){zhong[i].Output();}}for(i=0;i<top;i++)if(zhong[i].GetName()==name)turncout<<"查无此人!"<<endl;default:cout<<"无此选项!请重试!"<<endl;break;}}voidxiao_Manage::Edit()//小学生{{turn}cout<<"请输入要查找的教编号:"<<endl;for(inti=0;i<top;i++){ifzhongi].GetNum()==num){zhongi].Input();cout<<"修改成功"<<endl;return;}}cout<<"查无此人"<<endl;}voidxiao_Manage::Delete()//小学生{{<<endl;turn}cout<<"1、按编号查姓名查找删除"<<endl;choicece{{cout"请输入编号:";for(inti=0;i<top;i++){mzhonginum{cout确认删除?2、否"<<endl;choicece{{zhong[j]=zhong[j+1];cout<<"删除成dlcasereturn;lbreak}}cout<<"无此人!"<<endl;{cout"请输入姓名:";for(inti=0;i<top;i++){ifnamezhonginame{cout<<"是否确认删除?choicece{{zhong[j]=zhong[j+1];cout<<"删除成dlcasereturn;lbreak}}cout<<"无此人!"<<endl;lbreak}}voidxiao_Manage::Total()//小学生{cout<<"1按人数统计2按性别统计cout<<"请输入你的选择"<<endl;choicece{case1:cout<<"小学生人数为:"<<top<<endl;break;{inta=0,b=0;//分别用于统计男女的人数for(inti=0;i<top;i++){ifzhongi].sex=="男")a++;ifzhongi].sex=="女")b++;}cout<<"男性人数为"<<a<<endl;cout<<"女性人数为"<<b<<endl;lbreak}}voidxiao_Manage::Save()//小学生{流对象,打开磁盘文件,ofstream用来支持从入{cout<<"打开失败!"<<endl;turn}cout<<"打开成功!"<<endl;for(inti=0;i<top;i++){out<<zhong[i].num<<""<<zhong[i].name<<""<<zhong[i].sex<<""<<zhong[i].age<<""<<zhong[i].yuwen<<""<<zhong[i].yingyu<<endl;//向磁盘文件输出数据}cout<<"写入成功!"<<endl;outclose);}voidxiao_Manage::Read()//小学生{持向磁盘文件的输出{cout<<"打开失败!"<<endl;turn}while(in>>zhong[i].hongisexhongiagezhongi].yuwen>>zhong[i].yingyu)//当读取成功执行{zhong[i].Output();}classzhong_Manage{zhongxueshengzhong[TMAX];//TMAX为常量,为数组中可存储的教师记录的最大数;inttop;//top表示当前系统ubliczhong_Manage(){top=0;}//初始时记录的个Add();archEdit;Delete();Total();Read文件;//读取到该类的数组voidzhong_Manage::Add(){{cout<<"用户已满"<<endl;turn}hongxueshengtcout<<"输入新添加的人员的信息"<<endl;for(inti=0;i<top;i++)if(t.GetNum()==zhong[i].GetNum()){cout<<"该编号的人员已存在"<<endl;turn}gtoptcout<<"添加成功!"<<endl;}voidzhong_Manage::Show(){{cout<<"无数据!"<<endl;turn}for(inti=0;i<top;i++)zhong[i].Output();}voidzhong_Manage::Search(){{cout<<"当前系统中没有存储记录"<<endl;turn}cout<<"请选择查找方式:1.按编号查找2.按姓名查找."<<endl;choicece{cout<<"请输入要查找的编号:"<<endl;for(inti=0;i<top;i++){ifzhongi].GetNum()==num){zhong[i].Output();turn}}cout<<"查无此人!"<<endl;cout<<"请输入要查找的姓名"<<endl;for(inti=0;i<top;i++){if(zhong[i].GetName()==name){zhong[i].Output();}}for(i=0;i<top;i++)if(zhong[i].GetName()==name)turncout<<"查无此人!"<<endl;default:cout<<"无此选项!请重试!"<<endl;break;}}voidzhong_Manage::Edit(){{turn}cout<<"请输入要查找的教编号:"<<endl;for(inti=0;i<top;i++){ifzhongi].GetNum()==num){zhongi].Input();cout<<"修改成功"<<endl;return;}}cout<<"查无此人"<<endl;}voidzhong_Manage::Delete(){{<<endl;turn}cout<<"1、按编号查姓名查找删除"<<endl;choicece{{cout"请输入编号:";for(inti=0;i<top;i++){mzhonginum{cout确认删除?2、否"<<endl;choicece{{zhong[j]=zhong[j+1];cout<<"删除成dlcasereturn;lbreak}}cout<<"无此人!"<<endl;{cout"请输入姓名:";for(inti=0;i<top;i++){ifnamezhonginame{cout<<"是否确认删除?choicece{{zhong[j]=zhong[j+1];cout<<"删除成dlcasereturn;lbreak}}cout<<"无此人!"<<endl;lbreak}}voidzhong_Manage::Total(){cout<<"1按人数统计2按性别统计按地址统计"<<endl;cout<<"请输入你的选择"<<endl;choicece{case1:cout<<"中学生人数为:"<<top<<endl;break;{for(inti=0;i<top;i++){ifzhongi].sex=="男")a++;ifzhongi].sex=="女")b++;}cout<<"男生人数为"<<a<<endl;cout<<"女生人数为"<<b<<endl;{a1=0,a2=0,a3=0,a4=0,a5=0,a6=0,a7=0,a8=0,a9=0;//分别统计各地的人数for(inti=0;i<top;i++){if(zhong[i].depart=="上海路")if(zhong[i].depart=="顺外路")fzhongidepart}cout<<"上海路人数为"<<a1<<endl;cout<<"北京东路人数为"<<a2<<endl;cout<<"北京西路人数为"<<a3<<endl;cout<<"顺外路人数为"<<a4<<endl;cout<<"南京东路人数为"<<a5<<endl;cout<<"南京西路人数为"<<a6<<endl;cout<<"解放东路人数为"<<a7<<endl;cout<<"解放西路人数为"<<a8<<endl;cout<<"青山湖大道人数为"<<a9<<endl;lbreak}}voidzhong_Manage::Save(){ofstreamout("D:\\ying2.txt",ios::out);{cout<<"打开失败!"<<endl;turn}cout<<"打开成功!"<<endl;for(inti=0;i<top;i++){out<<zhong[i].num<<""<<zhong[i].name<<""<<zhong[i].sex<<""<<zhong[i].age<<""<<zhong[i].depart<<""<<zhong[i].spec<<""zhong[i].title}cout<<"写入成功!"<<endl;outclose);}voidzhong_Manage::Read(){ifstreamin("D:\\ying2.txt",ios::in);{cout<<"打开失败!"<<endl;turn}while(in>>zhong[i].hongisexhongiage>zhong[i].departzhongi.spec>zhong[i].title){zhong[i].Output();}classdaManage{daxueshengzhong[TMAX];//TMAX为常量,为数组中可存储的教师记录的最大数;inttop;//top表示当前系统ublicda_Manage(){top=0;}//初始时记录的个数voidAdd();voidShow();voidSearch();voidEdit();voidDelete();voidTotal();voidSave();voidRead();voidda_Manage::Add(){文件;//读取到该类的数组{cout<<"用户已满"<<endl;turn}ueshengtcout<<"输入新添加的人员的信息"<<endl;for(inti=0;i<top;i++)if(t.GetNum()==zhong[i].GetNum()){cout<<"该编号的人员已存在"<<endl;turn}gtoptcout<<"添加成功!"<<endl;}voidda_Manage::Show(){{cout<<"无数据!"<<endl;turn}for(inti=0;i<top;i++)zhong[i].Output();}voidda_Manage::Search(){{cout<<"当前系统中没有存储记录"<<endl;turn}cout<<"请选择查找方式:1.按编号查找2.按姓名查找."<<endl;choicece{cout<<"请输入要查找的编号:"<<endl;for(inti=0;i<top;i++){ifzhongi].GetNum()==num){zhong[i].Output();turn}}cout<<"查无此人!"<<endl;cout<<"请输入要查找的姓名"<<endl;for(inti=0;i<top;i++){if(zhong[i].GetName()==name){zhong[i].Output();}}for(i=0;i<top;i++)if(zhong[i].GetName()==name)turncout<<"查无此人!"<<endl;default:cout<<"无此选项!请重试!"<<endl;break;}}voidda_Manage::Delete(){{<<endl;turn}cout<<"1、按编号查姓名查找删除"<<endl;choicece{{cout"请输入编号:";for(inti=0;i<top;i++){mzhonginum{cout确认删除?2、否"<<endl;choicece{{zhong[j]=zhong[j+1];cout<<"删除成dlcasereturn;lbreak}}cout<<"无此人!"<<endl;for(inti=0;i<top;i++){ifnamezhonginame{cout<<"是否确认删除?choicece{{zhong[j]=zhong[j+1];cout<<"删除成dlcasereturn;lbreak}}cout<<"无此人!"<<endl;lbreak}}voidda_Manage::Edit(){{turn}cout<<"请输入要查找的学号:"<<endl;for(inti=0;i<top;i++){ifzhongi].GetNum()==num){cout<<"请修改该生信息:"<<endl;zhongi].Input();cout<<"修改成功"<<endl;return;}}cout<<"查无此人"<<endl;}voidda_Manage::Total(){cout<<"1按人数统计2按性别统计cout<<"请输入你的选择"<<endl;choicece{case1:cout<<"大学生人数为:"<<top<<endl;break;{for(inti=0;i<top;i++){ifzhongi].sex=="男")a++;ifzhongi].sex=="女")b++;}cout<<"男性人数为"<<a<<endl;cout<<"女性人数为"<<b<<endl;lbreak}}voidda_Manage::Save(){ofstreamout("D:\\ying3.txt",ios::out);{cout<<"打开失败!"<<endl;turn}cout<<"打开成功!"<<endl;for(inti=0;i<top;i++){out<<zhong[i].num<<""<<zhong[i].name<<""<<zhong[i].sex<<""<<zhong[i].age<<""<<zhong[i].zzmm<<""hongizc}cout<<"写入成功!"<<endl;outclose);}voidda_Manage::Read(){ifstreamin("D:\\ying3.txt",ios::in);{cout<<"打开失败!"<<endl;turn}while(in>>zhong[i].hongisexhongiagezhongi.zzmmzhongizc{zhong[i].Output();}voidxiaoMenu();voidzhongMenu();voiddaMenu();{cout<<"***欢迎进入高校人员信息管理系统***"<<endl;*****\n"<<endl;*****主菜单cout<<"<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"<<endl;中学=>退出cout<<">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"<<endl;choicece{case1:xiaoMenu();break;case2:zhongMenu();break;case3:daMenu();break;"<<endl;break;选."<<endl;break;}whilechoice=0);cout<<"\n***欢迎您下次再使用本系统!***"<<endl;return0;}voidxiaoMenu(){xiao_Managet;while(choice!=0){*****\n"<<endl;*****小学生cout<<"<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"<<endl;4=>删除=>保存8=>统计>退出cout<<">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"<<endl;choice
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广播器材采购合同范例
- 发廊入股合同范例
- 夫妻合伙生意合同范例
- 天津滨海汽车工程职业学院《代谢组学》2023-2024学年第一学期期末试卷
- 云南代建合同范例
- 农资经营聘用合同范例
- 停车场 施工合同范例
- cro服务合同范例
- 保险会计合同范例
- 高级财务会计模拟习题(含答案)
- 红色简约中国英雄人物李大钊课件
- 2024版《大学生职业生涯规划与就业指导》 课程教案
- 上海市住院医师规范化培训公共科目考试题库-重点传染病防治知识
- 人民日报出版社有限责任公司招聘笔试题库2024
- 2024年煤矿事故汇编
- Unit 2 Different families(教学设计)-2024-2025学年人教PEP版英语三年级上册
- 西师大版五年级上册小数混合运算题100道及答案
- 2022年7月国家开放大学本科《中国法律史》期末纸质考试试题及答案
- 行政文秘笔试题
- 2024年部门年终工作总结参考(四篇)
- 主题四 第1课 节气与我们的生活(教学设计)教科版五年级下册综合实践活动
评论
0/150
提交评论