饭卡管理系统.docx
《饭卡管理系统.docx》由会员分享,可在线阅读,更多相关《饭卡管理系统.docx(11页珍藏版)》请在冰豆网上搜索。
![饭卡管理系统.docx](https://file1.bdocx.com/fileroot1/2023-1/24/e46c6937-00d0-404a-830b-b6a95c6ab347/e46c6937-00d0-404a-830b-b6a95c6ab3471.gif)
饭卡管理系统
文件排版存档编号:
[UYTR-OUPT28-KBNTL98-UYNN208]
饭卡管理系统
饭卡管理系统
指导教师
班级
姓名
学号
完成日期
系统需求:
随着宁波大学的发展,学生,教师及外来人员的不断增加,对于食堂来讲,普通意义上的现金交易严重影响了工作效率,使消费者等待时间加长,食堂交易方式数字化已经刻不容缓,宁波大学饭卡管理系统就是基于以上问题开发,基本上能实现普通交易的功能,同时又能提高工作效率。
功能分析:
宁大高校饭卡信息包括:
饭卡号码、饭卡所有者信息、初次办卡时间、余额。
其中,饭卡的所有者分为学生、教师、临时人员,学生有各自的班级号,教师有所属学院等信息。
实现功能:
(1)学生入学或老师新调入,需要新建一张饭卡。
(2)学生毕业或老师调离,撤销当前对象的饭卡。
(3)饭卡的充值和消费。
(4)查询和排序功能
A:
按饭卡所有人姓名查询,输出此饭卡的所有信息。
B:
按饭卡号码查询,输出此饭卡的所有信息。
C:
按饭卡号码大小排序,输出所有饭卡的信息。
程序设计:
Ccard类:
基类,设置初始信息,设置充值,消费,余额,信息查询对象函数,初始信息中包括人的公有特征,如姓名,性别,身份证号码。
声明代码:
Cstudent类:
从Ccard类公有继承初始信息函数、查询函数,自己再设置独立的关于学生的对象,譬如班级号和类别,并要求对卡号保存。
声明代码:
Cteacher类:
从Ccard类公有继承初始信息函数、查询函数,自己再设置独立的关于教师的对象,譬如所属学院、职称,并要求对卡号保存。
声明代码:
Ctemp类:
从Ccard类公有继承初始信息函数、查询函数,由于是临时卡,不保存卡号。
声明代码:
遇到问题:
当查询充值余额和消费余额时,程序正常是调用doubleresult();选择后按回车键确认)\n";
cin>>m;
while(m!
=0)
{
switch(m)
{
case1:
etname(temp);etchuci(temp);etsex(tt);etidnum(temp);
cout<<"所在班级号:
";
cin>>temp;
s[ssign].setclass(temp);etlei(tt);etname(temp);
cout<<"输入初次办卡时间(如:
2010-1-1):
";
cin>>temp;
t[tsign].setchuci(temp);
cout<<"输入性别(女—f;男—m):
";
cin>>tt;
if((tt)!
='f'&&(tt)!
='m')
{
cout<<"指令错误!
请重新输入!
"<cout<<"请输入您的性别(女—f;男—m):
";
cin>>tt;
}
t[tsign].setsex(tt);etidnum(temp);
cout<<"所属学院:
";
cin>>temp;
t[tsign].setxueyuan(temp);
cout<<"职称(讲师—j;副教授—fp;教授—p):
";
cin>>tt;
if((tt)!
='j'&&(tt)!
='fp'&&(tt)!
='p')
{
cout<<"指令错误!
请重新输入!
"<cout<<"所属类别(讲师—j;副教授—fp;教授—p):
";
cin>>tt;
}
t[tsign].setzhicheng(tt);etname(temp);
cout<<"输入初次办卡时间(如:
2010-6-1):
";
cin>>temp;
c[csign].setchuci(temp);
cout<<"输入性别(女—f;男—m):
";
cin>>tt;
if((tt)!
='f'&&(tt)!
='m')
{
cout<<"指令错误!
请重新输入!
"<cout<<"请输入您的性别(女—f;男—m):
";
cin>>tt;
}
c[csign].setsex(tt);etidnum(temp);
cout<<"添加临时帐户成功!
!
";
csign++;
break;
}
break;
}
break;
case3:
cout<<"请输入待撤销饭卡用户姓名\n";
cin>>na1;
cout<<"请输入待撤销饭卡用户卡号\n";
cin>>na2;
for(i=0;i<100;i++)
{
num4=s[i].getname();
num5=t[i].getname();
num6=c[i].getname();
n0=s[i].getcardnum();
n1=t[i].getcardnum();
n2=c[i].getcardnum();
if(na1==num4)etname("0");etchuci("0");
s[i].setsex('0');
s[i].setidnum("0");
s[i].setclass("0");
s[i].setlei('0');
cout<<"卡号:
"<
"<
"
<
"<
cout<<"性别:
"<
"<
"
<
"<
sflag=1;
break;
}
if(na1==num5)etname("0");etchuci("0");
t[i].setsex('0');
t[i].setidnum("0");
t[i].setxueyuan("0");
t[i].setzhicheng('0');
cout<<"卡号:
"<"<<<"办卡时间:
"<"<cout<<"性别:
"<"<<<所属学院:
"<"<sflag=1;
break;
}
if(na1==num6)etname("0");etchuci("0");
c[i].setsex('0');
c[i].setidnum("0");
cout<<"卡号:
"<"<"
<"<cout<<"性别:
"<"<sflag=1;
break;
}
}
if(1==sflag)
{
cout<<"该账户已成功删除!
!
!
"<}
if(0==sflag)etcardnum();etcardnum();etcardnum();etname()!
="str")
{
cout<<"请输入充值数额\n";
cin>>m1;
s[i].chongzhi(m1);etname()!
="str")
{
cout<<"请输入充值数额\n";
cin>>m1;
t[i].chongzhi(m1);
flagx=1;
break;
}
if(temp1==num3)
if(c[i].getname()!
="str")
{
cout<<"请输入充值数额\n";
cin>>m1;
c[i].chongzhi(m1);
flagx=1;
break;
}
}
if(0==flagx)etcardnum())onsume(m1);
flag=1;
break;
}
elseif(temp1==t[i].getcardnum())onsume(m1);
flag=1;
break;
}
elseif(temp1==c[i].getcardnum())onsume(m1);
flag=1;
break;
}
}
if(0==flag)etname()!
="0")etcardnum()<<"姓名:
"<"<"<cout<<"性别(女—f;男—m):
"<"<}
for(i=99;i>=0;i--)
if(t[i].getname()!
="0")etcardnum()<<"姓名:
"<"<"<cout<<"性别(女—f;男—m):
"<"<"<"<}
for(i=99;i>=0;i--)etname()!
="0")
{
cout<<"卡号:
"<
"<
"<
"<
cout<<"性别(女—f;男—m):
"<
"<
"<
"<
}
break;
case2:
cout<<"请输入饭卡拥有者名字—1;饭卡号码—2\n";
cin>>m;
switch(m)
{
case1:
cout<<"请输入饭卡查询的名字\n";
cin>>na1;
for(i=0;i<100;i++)
{
num4=s[i].getname();etname();etname();etcardnum()<<"姓名:
"<
"<
"<
cout<<"性别(女—f;男—m):
"<
"<
"<
"<
sflag=1;
break;
}
elseif(na1==num5)
{
cout<<"卡号:
"<"<"<"<cout<<"性别(女—f;男—m):
"<"<"<"<sflag=1;
break;
}
elseif(na1==num6)
{
cout<<"卡号:
"<"<"<"<cout<<"性别(女—f;男—m):
"<"<sflag=1;
break;
}
}
if(0==sflag)
{
cout<<"\n\n查无此人!
!
!
\n\n"<}
else
{
sflag=0;
}
break;
/***********************************************************/
case2:
cout<<"请输入查询的号码\n";
cin>>m;
for(i=0;i<100;i++)
{
num1=s[i].getcardnum();etcardnum();etcardnum();etcardnum()<<"姓名:
"<
"<
"<
cout<<"性别(女—f;男—m):
"<
"<
"<
"<
sflag=1;
break;
}
elseif(m==num2)
{
cout<<"卡号:
"<"<"<"<cout<<"性别(女—f;男—m):
"<"<"<"<sflag=1;
break;
}
elseif(m==num3)
{cout<<"卡号:
"<"<"<"<cout<<"性别(女—f;男—m):
"<"<sflag=1;
break;
}
}
if(0==sflag)
{
cout<<"\n\n查无此人!
!
!
\n\n"<}
else
{
sflag=0;
}
break;
}
/***********************************************************/
}
break;
case0:
cout<<"退出系统";
exit
(1);
break;
}
}
}