文档库 最新最全的文档下载
当前位置:文档库 › 饭卡管理系统

饭卡管理系统

饭卡管理系统
饭卡管理系统

饭卡管理系统

文件排版存档编号:[UYTR-OUPT28-KBNTL98-UYNN208]

饭卡管理系统

指导教师

班级

姓名

学号

完成日期

系统需求:

随着宁波大学的发展,学生,教师及外来人员的不断增加,对于食堂来讲,普通意义上的现金交易严重影响了工作效率,使消费者等待时间加长,食堂交易方式数字化已经刻不容缓,宁波大学饭卡管理系统就是基于以上问题开发,基本上能实现普通交易的功能,同时又能提高工作效率。

功能分析:

宁大高校饭卡信息包括:饭卡号码、饭卡所有者信息、初次办卡时间、余额。其中,饭卡的所有者分为学生、教师、临时人员,学生有各自的班级号,教师有所属学院等信息。

实现功能:

(1)学生入学或老师新调入,需要新建一张饭卡。

(2)学生毕业或老师调离,撤销当前对象的饭卡。

(3)饭卡的充值和消费。

(4)查询和排序功能

A:按饭卡所有人姓名查询,输出此饭卡的所有信息。

B:按饭卡号码查询,输出此饭卡的所有信息。

C:按饭卡号码大小排序,输出所有饭卡的信息。

程序设计:

Ccard类:基类,设置初始信息,设置充值,消费,余额,信息查询对象函数,初始信息中包括人的公有特征,如姓名,性别,身份证号码。

声明代码:

Cstudent类: 从Ccard类公有继承初始信息函数、查询函数,自己再设置独立的关于学生的对象,譬如班级号和类别,并要求对卡号保存。

声明代码:

Cteacher类:从Ccard类公有继承初始信息函数、查询函数,自己再设置独立的关于教师的对象,譬如所属学院、职称,并要求对卡号保存。

声明代码:

Ctemp类:从Ccard类公有继承初始信息函数、查询函数,由于是临时卡,不保存卡号。

声明代码:

遇到问题:

while(m!=0)

{

switch(m)

{

case 1:

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;

case 3:

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;

}

else if(temp1==t[i].getcardnum()) onsume(m1);

flag = 1;

break;

}

else if(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):"<

院:"<

p):"<

}

for(i=99;i>=0;i--) etname()!="0")

{

cout<<"卡号:"<

额:"<

cout<<" 性别(女—f; 男—

m):"<

级:"<

y):"<

}

break;

case 2:

cout<<"请输入饭卡拥有者名字—1; 饭卡号码—2 \n";

cin>>m;

switch (m)

{

case 1:

cout<<"请输入饭卡查询的名字\n";

cin>>na1;

for(i=0;i<100;i++)

{

num4=s[i].getname(); etname(); etname(); etcardnum()<<" 姓名:"<

间:"<

cout<<" 性别(女—f; 男—

m):"<

级:"<

y):"<

sflag = 1;

break;

}

else if(na1==num5)

{

cout<<"卡号:"<

额:"<

cout<<" 性别(女—f; 男—

m):"<

院:"<

sflag = 1;

break;

}

else if(na1==num6)

{

cout<<"卡号:"<

额:"<

cout<<" 性别(女—f; 男—

m):"<

sflag = 1;

break;

}

}

if(0==sflag)

{

cout<<"\n\n查无此人!!!\n\n"<

}

else

{

sflag = 0;

}

break;

/***********************************************************/

case 2:

cout<<"请输入查询的号码\n";

cin>>m;

for(i=0;i<100;i++)

{

num1=s[i].getcardnum(); etcardnum(); etcardnum(); etcardnum()<<" 姓名:"<

cout<<" 性别(女—f; 男—

m):"<

级:"<

y):"<

sflag = 1;

break;

}

else if(m==num2)

{

cout<<"卡号:"<

额:"<

cout<<" 性别(女—f; 男—

m):"<

院:"<

sflag = 1;

break;

}

else if(m==num3)

{ cout<<"卡号:"<

额:"<

cout<<" 性别(女—f; 男—

m):"<

sflag = 1;

break;

}

}

if(0==sflag)

{

cout<<"\n\n查无此人!!!\n\n"<

}

else

{

sflag = 0;

}

break;

}

/***********************************************************/

}

break;

case 0:

cout<<"退出系统";

exit(1);

break;

}

}

}

相关文档