版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、/由于对fsream的不熟练,不会对指定部分的数据的修改,因而删除了一些功能,同时也导致了只能对消费额进行加减,但不能导入txt文件。Code:Uni-card system.h#include using namespace std;class person public: void buildAdmin(); void buildUndergraduate(); void buildPostgraduate(); protected: char name20; char sex; char shape10; char tel12;class consumer:public person p
2、rotected: double money;class student :public consumer /定义学生类 protected: char number20; int age; char nowClass20; char birthPlace20;class admin :public person /定义管理员类 public: void login(); void adminRegister(); void adminRegister2(); private: char account12; char password12; char title;class undergra
3、duate :public student /定义本科生类 public: void searchUndergraduate(); void displayUndergraduate(); void inputUndergraduate_wrapper(); void inputUndergraduate(); void inputUndergraduate1(); void underPayout(char str); void monitorPower(); void outputClassStudent(char s); void underSearchAll(); private: c
4、har monitor;class postgraduate :public student /定义研究生类 public: void searchPostgraduate(); void displayPostgraduate(); void inputPostgraduate_wrapper(); void inputPostgraduate(); void inputPostgraduate1(); void postPayout(char str); void postSearchAll(); protected: double wage;/不清楚教职工是否配备有一卡通,所以暂不考虑教
5、职工类Uni-card system.cpp#include #include #include #include #include #include uni-card system.husing namespace std;void onUndergraduate();void onPostgraduate();bool comp(char s1,char s2);void inputStudent();void adminOnLogin();/-/-以下为person类中成员函数-/-void person:buildAdmin() /建立Admin.txt fstream file(Ad
6、min.txt,ios:out|ios:app); /打开文件,指针指向文件尾file.close(); /关闭文件void person:buildUndergraduate() /建立Undergraduate.txt fstream file(Undergraduate.txt,ios:out|ios:app); /打开文件,指针指向文件尾file.close(); /关闭文件void person:buildPostgraduate() /建立Postgraduate.txt fstream file(Postgraduate.txt,ios:out|ios:app); /打开文件,指
7、针指向文件尾file.close(); /关闭文件/-/-以下为admin类中成员函数-/-void admin:login() /管理员登录及验证 int ensurance=0; char account212,password212; admin ad; cout endl 管理员登录界面 endl; cout account2; cout password2; fstream file(Admin.txt,ios:in);/打开文件,指针在文件头file.read(char*)&ad,sizeof(ad); /读取类信息while(!file.eof() /判断文件指针是否到文件尾if
8、(comp(ad.account,account2)&comp(ad.password,password2) /判断输入的字符是否与文件中的一样 cout 登录成功! endl; ensurance=1;break; file.read(char*)&ad,sizeof(ad);/如果指针没到文件尾,继续读取file.close();if(ensurance=0) cout 您的账号或密码输入错误! endl;file.close(); /关闭文件if(ensurance) adminOnLogin();void admin:adminRegister() /管理员在文件外录入信息 admin
9、 adm; char choose; int loop=1,loop1=1; cout endl 管理员注册 endl; while(loop1) loop1=0; cout account; fstream file(Admin.txt,ios:in);/打开文件,指针在文件头 file.read(char*)&adm,sizeof(adm); /读取类信息 while(!file.eof() /判断文件指针是否到文件尾 if(comp(adm.account,account) /判断输入的字符是否与文件中的一样 cout 账号已被占用! endl; loop1=1; break; file
10、.read(char*)&adm,sizeof(adm);/如果指针没到文件尾,继续读取 file.close(); cout password; cout name; while(loop) cout choose; if(choose=a|choose=A) sex=m;loop=0; else if(choose=b|choose=B) sex=f;loop=0; else cout 您的输入有误,请重新选择! endl; strcat(shape,Admin); cout tel; loop=1; while(loop) cout choose; if(choose=y|choose=
11、Y) title=y;loop=0; else if(choose=n|choose=N) title=n;loop=0; else cout 您的输入有误,请重新选择! endl; void admin:adminRegister2() /将管理员信息录入admin.txt admin ad; ad.adminRegister(); fstream file(admin.txt,ios:out|ios:app); /打开文件,指针指向文件尾file.write(char*)&ad,sizeof(ad); /把类信息写入文件file.close(); /关闭文件cout .信息已保存 endl
12、;/-/-以下为undergraduate类中成员函数-/-void undergraduate:searchUndergraduate() /通过学号及姓名查找学生信息 undergraduate unde1; int ensurance=1; char number220,name220; cout number2; cout name2; fstream file(Undergraduate.txt,ios:in); /打开文件,指针在文件头 file.read(char*)&unde1,sizeof(unde1); /读取类信息 while(!file.eof() /判断文件指针是否到
13、文件尾 if(comp(unde1.number,number2) if(comp(,name2) cout endl endl 本科生基本信息查询结果 endl; cout 学号: unde1.number endl; cout 姓名: endl; cout 专业班级: unde1.nowClass endl; cout 年龄: unde1.age endl; cout 性别: ; if(unde1.sex = m) cout 男 endl; else if(unde1.sex = f) cout 女 endl; cout 班干部: ; if(und
14、e1.monitor = y) cout 班长 endl; else if(unde1.monitor = n) cout 无 endl; cout 籍贯: unde1.birthPlace endl; cout 电话: unde1.tel endl; cout 余额: unde1.money endl; else cout 您所输入姓名与学号不符! endl; ensurance=0; break; file.read(char*)&unde1,sizeof(unde1);/如果指针没到文件尾,继续读取 if(ensurance) cout 该学号不存在! endl; file.close(
15、);void undergraduate:outputClassStudent(char s) undergraduate under4; cout endl endl s 学生基本信息 endl 学号 姓名 专业班级 班长 年龄 性别 籍贯 电话 余额 endl; fstream file(Undergraduate.txt,ios:in);/打开文件,指针在文件头 file.read(char*)&under4,sizeof(under4); /读取类信息 while(!file.eof() /判断文件指针是否到文件尾 if(comp(under4.nowClass,s) cout set
16、w(12) under4.number setw(8) setw(16) under4.nowClass setw(3) under4.monitor setw(4) under4.age setw(3) under4.sex setw(12) under4.birthPlace setw(14) under4.tel setw(6) under4.money endl; file.read(char*)&under4,sizeof(under4);/如果指针没到文件尾,继续读取 file.close();void undergraduate:monitorPower(
17、) undergraduate under3; int ensure=0,ensureExit=1; char number220; char name220; cout number2; cout name2; fstream file(Undergraduate.txt,ios:in);/打开文件,指针在文件头 file.read(char*)&under3,sizeof(under3); /读取类信息 while(!file.eof() /判断文件指针是否到文件尾 if(comp(under3.number,number2) if(comp(,name2) if(u
18、nder3.monitor=y) ensure =1 ; else cout 你不是班长,别冒牌了! endl; else cout 您输入的学号和姓名不符! endl; ensureExit=0; break; file.read(char*)&under3,sizeof(under3);/如果指针没到文件尾,继续读取 file.close(); if(ensureExit) cout 您所输入的学号不存在! endl; if(ensure) outputClassStudent(under3.nowClass);void undergraduate:inputUndergraduate()
19、 /管理员录入本科生信息 undergraduate undInput; char choose; int loop=1,loop1=1; strcat(shape,Undergraduate); while(loop1) loop1=0; cout number; fstream file(Undergraduate.txt,ios:in);/打开文件,指针在文件头 file.read(char*)&undInput,sizeof(undInput); /读取类信息 while(!file.eof() /判断文件指针是否到文件尾 if(comp(undInput.number,number)
20、 /判断输入的字符是否与文件中的一样 cout 该学号已经录入 endl; loop1=1; break; file.read(char*)&undInput,sizeof(undInput);/如果指针没到文件尾,继续读取*/ file.close(); cout name; cout nowClass; cout age; while(loop) cout choose; if(choose=a|choose=A) sex=m;loop=0; else if(choose=b|choose=B) sex=f;loop=0; else cout 您的输入有误,请重新选择! endl; cou
21、t birthPlace; cout tel; money = 0; loop=1; while(loop) cout choose; if(choose=y|choose=Y) monitor=y;loop=0; else if(choose=n|choose=N) monitor=n;loop=0; else cout 您的输入有误,请重新选择! endl; void undergraduate:inputUndergraduate1() /管理员本科生信息进Undergraduate.txt文件 undergraduate undInput1; undInput1.inputUnderg
22、raduate(); fstream file(Undergraduate.txt,ios:out|ios:app); /打开文件,指针指向文件尾file.write(char*)&undInput1,sizeof(undInput1); /把类信息写入文件file.close(); /关闭文件cout .信息已保存 endl;void undergraduate:inputUndergraduate_wrapper() /OK!管理员录入本科生信息时单个录入或多个录入 char totalChar; int total,loop=1,i; undergraduate underInputWr
23、apper; while(loop) loop=0; cout 本科生信息录入 endl; cout totalChar; if(totalChar9) cout 您的输入有误,请重新输入! endl; loop = 1; continue; total = totalChar-0; for(i = 0; i total; i+) cout 第 i+1 位同学: endl; underInputWrapper.inputUndergraduate1() ; void undergraduate:underPayout(char str) char choose; double payMoney
24、; undergraduate undePay1; fstream file(Undergraduate.txt,ios:in); /打开文件,指针在文件头 file.read(char*)&undePay1,sizeof(undePay1); /读取类信息 while(!file.eof() /判断文件指针是否到文件尾 if(comp(undePay1.number,str) cout 您的姓名为: undeP choose; if(choose=y|choose=Y) cout payMoney; undePay1.money -= payMoney; cout 您的余额为
25、: undePay1.money endl; break; else if (choose=n|choose=N) break; else cout 您的输入错误 endl; break; file.read(char*)&undePay1,sizeof(undePay1);/如果指针没到文件尾,继续读取 void undergraduate:underSearchAll() undergraduate under5; cout endl endl 本科生基本信息 endl 学号 姓名 专业班级 班长 年龄 性别 籍贯 电话 余额 endl; fstream file(Undergraduat
26、e.txt,ios:in);/打开文件,指针在文件头 file.read(char*)&under5,sizeof(under5); /读取类信息 while(!file.eof() /判断文件指针是否到文件尾 cout setw(12) under5.number setw(8) setw(16) under5.nowClass setw(3) under5.monitor setw(4) under5.age setw(3) under5.sex setw(12) under5.birthPlace setw(14) under5.tel setw(6) under
27、5.money endl; file.read(char*)&under5,sizeof(under5);/如果指针没到文件尾,继续读取 file.close();/-/-以下为postgraduate类中成员函数-/-void postgraduate:searchPostgraduate() /通过学号及姓名查找学生信息 postgraduate post1; int ensurance=1; char number220,name220; cout number2; cout name2; cout endl endl 研究生基本信息查询结果 endl; fstream file(Pos
28、tgraduate.txt,ios:in); /打开文件,指针在文件头 file.read(char*)&post1,sizeof(post1); /读取类信息 while(!file.eof() /判断文件指针是否到文件尾 if(comp(post1.number,number2) if(comp(,name2) post1.displayPostgraduate(); else cout 您所输入姓名与学号不符! endl; ensurance=0; break; file.read(char*)&post1,sizeof(post1);/如果指针没到文件尾,继续读取
29、if(ensurance) cout 该学号不存在! endl; file.close();void postgraduate:inputPostgraduate() /管理员录入本科生信息 postgraduate postInput; char choose; int loop=1,loop1=1; strcat(shape,Postgraduate); while(loop1) loop1=0; cout number; fstream file(Postgraduate.txt,ios:in);/打开文件,指针在文件头 file.read(char*)&postInput,sizeof
30、(postInput); /读取类信息 while(!file.eof() /判断文件指针是否到文件尾 if(comp(postInput.number,number) /判断输入的字符是否与文件中的一样 cout 该学号已经录入 endl; loop1=1; break; file.read(char*)&postInput,sizeof(postInput);/如果指针没到文件尾,继续读取*/ file.close(); cout name; cout nowClass; cout age; while(loop) cout choose; if(choose=a|choose=A) sex=m;loop=0; else if(choose=b|choose=B) sex=f;loop=0; else cout 您的输入有误,请重新选择! endl; cout birthPlace; cout tel; cout wage; money = 0; loop=1;void postgraduate:inputPostgraduate1() /管理员本科生信息进Undergraduate.txt文件 postgradua
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 吉林艺术学院《音乐剧鉴赏与实践Ⅰ》2021-2022学年第一学期期末试卷
- 吉林艺术学院《色彩基础II》2021-2022学年第一学期期末试卷
- 夫妻公司的解散协议书范本范本
- 2024年供货环保协议书模板
- 2024年大宗贸易合作共赢协议书模板
- 相桥书院车位转让协议书范文
- 吉林师范大学《网球教学与训练Ⅰ》2021-2022学年第一学期期末试卷
- 整车零配件收购协议书范文范本
- 教育软件开发具体流程及管理规范
- 移动医疗服务护理团队配置方案
- 主要负责人和安全生产管理人员安全培训课件初训修订版
- 人教版2024新版八年级全一册信息技术第1课 开启物联网之门 教学设计
- 2024220kV 预制舱式模块化海上风电升压站
- 2024秋期国家开放大学《国家开放大学学习指南》一平台在线形考(任务一)试题及答案
- 2024年新人教版道德与法治一年级上册 9 作息有规律 教学课件
- 2024新人教版道法一年级上册第二单元:过好校园生活大单元整体教学设计
- 2024年深圳技能大赛-鸿蒙移动应用开发(计算机程序设计员)职业技能竞赛初赛理论知识
- 大数据与会计专业实习报告个人小结
- 人教版初中生物新旧教材对比与分析
- 教师资格考试《高中地理专业面试》真题一
- 肩胛背神经卡压综合征
评论
0/150
提交评论