ImageVerifierCode 换一换
格式:DOCX , 页数:38 ,大小:21.64KB ,
资源ID:9320064      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9320064.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C学生信息管理系统一卡通.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C学生信息管理系统一卡通.docx

1、C学生信息管理系统一卡通/由于对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:pub

2、lic person protected: 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;cl

3、ass undergraduate :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()

4、; private: char 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 fst

6、ream file(Admin.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

7、:app); /打开文件,指针指向文件尾 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(

8、) /判断文件指针是否到文件尾 if(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:adminRegiste

9、r() /管理员在文件外录入信息 admin 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

10、; loop1=1; break; file.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 choos

11、e; if(choose=y|choose=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(

12、); /关闭文件 cout .信息已保存 endl;/-/-以下为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); /读取类信息 whi

13、le(!file.eof() /判断文件指针是否到文件尾 if(comp(unde1.number,number2) if(comp(unde1.name,name2) cout endl endl 本科生基本信息查询结果 endl; cout 学号: unde1.number endl; cout 姓名: unde1.name endl; cout 专业班级: unde1.nowClass endl; cout 年龄: unde1.age endl; cout 性别: ; if(unde1.sex = m) cout 男 endl; else if(unde1.sex = f) cout 女

14、 endl; cout 班干部: ; if(unde1.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

15、该学号不存在! endl; file.close();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(un

16、der4.nowClass,s) cout setw(12) under4.number setw(8) under4.name 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 un

17、dergraduate:monitorPower() 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(com

18、p(under3.name,name2) if(under3.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 undergrad

19、uate:inputUndergraduate() /管理员录入本科生信息 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(com

20、p(undInput.number,number) /判断输入的字符是否与文件中的一样 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 cou

21、t 您的输入有误,请重新选择! endl; cout 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 undInpu

22、t1; undInput1.inputUndergraduate(); 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

23、; undergraduate underInputWrapper; 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; undergraduate undePay1; fstream file(Undergraduate.txt,ios:in); /打开文件,指针在文件头 file.read(char*)&undePay1,sizeof(undePay1); /读取类信息 while(!file.

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1