饭卡管理系统(共21页).docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《饭卡管理系统(共21页).docx》由会员分享,可在线阅读,更多相关《饭卡管理系统(共21页).docx(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上宁波大学饭卡管理系统指导教师 班 级 姓 名 学 号 完成日期 系统需求:随着宁波大学的发展,学生,教师及外来人员的不断增加,对于食堂来讲,普通意义上的现金交易严重影响了工作效率,使消费者等待时间加长,食堂交易方式数字化已经刻不容缓,宁波大学饭卡管理系统就是基于以上问题开发,基本上能实现普通交易的功能,同时又能提高工作效率。功能分析:宁大高校饭卡信息包括:饭卡号码、饭卡所有者信息、初次办卡时间、余额。其中,饭卡的所有者分为学生、教师、临时人员,学生有各自的班级号,教师有所属学院等信息。实现功能:(1) 学生入学或老师新调入,需要新建一张饭卡。(2) 学生毕业或老师调离
2、,撤销当前对象的饭卡。(3) 饭卡的充值和消费。(4) 查询和排序功能A:按饭卡所有人姓名查询,输出此饭卡的所有信息。B:按饭卡号码查询,输出此饭卡的所有信息。C:按饭卡号码大小排序,输出所有饭卡的信息。程序设计:Ccard类:基类,设置初始信息,设置充值,消费,余额,信息查询对象函数,初始信息中包括人的公有特征,如姓名,性别,身份证号码。声明代码:Cstudent类: 从Ccard类公有继承初始信息函数、查询函数,自己再设置独立的关于学生的对象,譬如班级号和类别,并要求对卡号保存。声明代码: Cteacher类:从Ccard类公有继承初始信息函数、查询函数,自己再设置独立的关于教师的对象,譬
3、如所属学院、职称,并要求对卡号保存。声明代码: Ctemp类:从Ccard类公有继承初始信息函数、查询函数,由于是临时卡,不保存卡号。声明代码:遇到问题:(1) 当查询充值余额和消费余额时,程序正常是调用double result();/充值函数、double consume();/消费函数、double balance();/余额函数,但是当运行余额函数时,总会2次调用充值和消费函数,这样就直接导致充值的金额和消费的余额扩大一倍,最后发现原来是返回函数写错了,因为money是余额,money1是充值金额,money2是消费金额,我在而我都返回了money值给充值函数、消费函数和余额函数。(2
4、) 按照卡号查询饭卡所有者信息时,除了初始信息,姓名,性别,身份证号码外,最主要的还是查询出这个号码的所剩余额,刚开始时我使用的是调用充值,消费函数,这样一来,当输出余额是会弹出对话框,问你充了多少钱,消费了多少钱,一般情况下查询时肯定不会充值和消费,所以应该输入充值0消费0,但是这样对于操作会很繁琐,虽然结果一样会输出,最后我直接调用money对象,直接输出,这样就不用再手动输入了,结果直接会显示在显示屏上。(3) 删除信息函数,最后由于查的可以用指针的方法用new和delet函数彻底释放内存中的信息,但是由于对C+的认识不够深,不会用指针的方法处理这个删除任务,所以简而求其次,把各个初值都
5、赋0值,这样的话信息就会以0初值的方式显示,也可以说基本完成删除信息的任务(4) 用姓名查找,首先想到怎么去掉用姓名函数,然后通过再把和姓名相关的信息输出,但是写好程序后,不管输入怎么的姓名,程序就是无动于衷,什么都输不出,最后和老师一讨论,决定用匹配的方式,就是输入的姓名和原始建卡时所存在的姓名匹配,成功的话sflag设1,输出建卡时的内容,简单易懂改进:这个程序只能说够用,挺基本的,很多功能还需要修改完善,譬如可以实现个人历史充值记录和消费记录,然后可以知道他的日平均消费或者月平均消费,对于数字的输入也没有比较好的识别,譬如金额可以输入负数可以输入字母,虽然程序中写明用数字,但是实用中难免
6、会出现误输入,系统就不会报错。感想:最最有体会的地方就是我对C+程序员致以最高的尊敬,写程序真的是太痛苦了,对于初学C+语言的我来说,亲自写个程序对我是莫大的考验,整个程序涉及到了C+的各个方面,如书中的继承,结构,类,运算符操作,数值定义方法等等,一旦程序写完觉得自己整个人都轻松了很多,其中我要感谢帮助过我的人,我的指导老师,我的同窗,我想要真正写个能在实际生活中使用的程序,凭现在的我是万万不可能的,这得积累几年的经验,几年的锻炼才可以啊,虽然这是个基础程序,但也凝结了我几天的辛勤劳作,万事开头难,有了这次实践,我想我以后会做的更好。功能框图:主界面公有继承基类Ccard,初始信息,初始设置
7、对象,消费,充值,余额,构造函数调用学生类里的对象函数新建调用信息对象充值消费调用充值消费函数查询调用查询函数调用临时类里的对象函数新建调用信息对象充值消费调用充值消费函数查询调用查询函数调用教师类里的对象函数新建调用信息对象充值消费调用充值消费函数查询调用查询函数有效代码无效代码退出系统饭卡查询饭卡消费饭卡充值撤销饭卡新建饭卡帮助程序系统总程序:#include#include#includeusing namespace std;class CCard/卡类protected:char sex;/拥卡者性别string idnum;/拥卡者IDint cardnum1;/拥卡者卡号stri
8、ng name;/拥卡者姓名string chucitime;/初次办卡的时间double balance;/卡内余额static int cardnum;/卡号设为静态,可以使卡号连续增加public:CCard();void setsex(char);/设置拥卡者性别char getsex();/获得拥卡者性别void setidnum(string);/设置拥卡者IDstring getidnum();/获得拥卡者的IDvoid setname(string);/设置拥卡者名字string getname();/获取拥卡者名字void setchuci(string);/设置办卡时间st
9、ring getchuci();/获取办卡时间void chongzhi(double);/充值void consume(double);/消费double getbalance();/获取卡内余额 int getcardnum();/获取饭卡编号void del();/消除饭卡void add();/新建饭卡; class CStudent:public CCard/学生类,派生自卡类protected:string class1;/班级char lei;/学生属性(本科、研究生)public:void check();/核查身份void display();/现实信息void setcla
10、ss(string);/设置班级string getclass();/获得班级void setlei(char); /设置学生属性char getlei();/获得学生属性addcstudent();/添加学生;class CTeacher:public CCard/教师类,派生自卡类protected:string xueyuan;/教师所属学院char zhicheng;/教师职称public:void setxueyuan(string);/设置教师所属学院string getxueyuan();/获得教师所属学院void setzhicheng(char);/设置教师职称char ge
11、tzhicheng();/获得教师职称void check();/查询信息void display();/显示信息;class CTemp:public CCard/临时人员类,派生自卡类public:void check(); /核查信息void display(); /显示信息;int CCard:cardnum=1; /初始化卡号为1CCard:CCard() /卡类构造函数cardnum1=cardnum+; /拥卡者卡号为初始卡号加1,当创建对象时,会自动加1name=0; balance=0; /余额 sex=0; idnum=0; /拥卡者IDchucitime=0; /初次办卡
12、的时间 0CCard:CCard(); /卡类析构函数void CCard:setname(string na)/卡类对象函数,设置拥卡者姓名,na为写的名字name=na;string CCard:getname() /获得拥卡者姓名return name;void CCard:setchuci(string time) /设置办卡时间chucitime=time;string CCard:getchuci() /获得办卡时间return chucitime;void CCard:chongzhi(double m) /卡类对象函数,给卡充值,m充值金额 balance+=m;cout你的充
13、值数额:m 当前余额:balance=e)balance-=e;cout您已消费e元,余额:balanceendl;else /余额少于消费金额,余额不足cout你的余额不足,请充值endl;double CCard:getbalance() /获得饭卡余额return balance;int CCard:getcardnum() /获得卡号。1加上去return cardnum1;void CCard:setsex(char sex1) /设置拥卡者性别sex=sex1; char CCard:getsex() /获得拥卡者性别 return sex;void CCard:setidnum(
14、string id) /设置拥卡者身份证号,id为输入账号idnum=id;string CCard:getidnum() /获得拥卡者身份证号return idnum;void CStudent:setclass(string class2)/设置拥卡者班级class1=class2;string CStudent:getclass() /获得拥卡者班级return class1;void CStudent:setlei(char lei1) /设置拥卡者属性(本科、研究生)lei=lei1;char CStudent:getlei() /获得拥卡者属性(本科、研究生)return lei;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 管理 系统 21
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内