#include<iostream.h>
#include<string.h>
static int count=0; //计数
struct Consumer
{
char name[20];
long accountnumber; //帐号
long ciphercode; //密码
double money;
int number;
Consumer *next;
};
class Consumerlist
{
public:
Consumerlist();
~Consumerlist(){}
void addConsumer(); //开户
void Delete(long t); //销户
void entry(); //登录
void printlist(); //遍历
void ment1(); //总菜单
void ment2(); //登录菜单
private:
Consumer *first;
Consumer *s,*p;
};
Consumerlist::Consumerlist()
{
first=new Consumer;
first->next=NULL;
}
void Consumerlist::addConsumer()
{
p=new Consumer;
p=first;
char *x=new char[20];
Consumer *b;
long y;
long z;
cout<<"请输入用户的姓名:";cin>>x;
cout<<"请输入用户的账户:";cin>>y;
cout<<"请输入用户的密码:";cin>>z;
while(p!=NULL)
{
b=p;
p=p->next;
}
s=new Consumer;
strcpy(s->name,x);
s->accountnumber=y;
s->ciphercode=z;
s->money=0;
s->number=count+1;
s->next=p;
b->next=s;
count++;
}
void Consumerlist::Delete(long t)
{
long x;
Consumer *p;
Consumer *b;
p=first;
while(p!=NULL&&p->next->accountnumber!=t)
{
b=p;
p=p->next;
}
cout<<"请输入密码进行销户"<<endl;
cin>>x;
if(p->next->ciphercode==x)
{
if(p->next->next==NULL)
{
delete p;
cout<<"已经撤销用户"<<endl;
}
else
{
Consumer *q;
q=p->next;
p->next=q->next;
delete q;
}
cout<<"已经撤销用户"<<endl;
}
else
cout<<"输入密码错误,销户失败。"<<endl;
}
void Consumerlist::ment1()
{
cout<<"---------------1、开户-----------------"<<endl;
cout<<"---------------2、登录-----------------"<<endl;
cout<<"---------------3、销户-----------------"<<endl;
cout<<"---------------4、遍历-----------------"<<endl;
cout<<"-------------5、结束程序---------------"<<endl;
}
void Consumerlist::ment2()
{
cout<<"---------------1、存款-----------------"<<endl;
cout<<"---------------2、取款-----------------"<<endl;
cout<<"-------------3、查看余额---------------"<<endl;
cout<<"---------------4、退出-----------------"<<endl;
}
void Consumerlist::entry()
{
long x;
long y;
int z,a=0;
double v;
cout<<"请输入账号:";
cin>>x;
Consumer *p;
p=first->next;
while(p->accountnumber!=x)
{
cout<<a++;
p=p->next;
}
if(p==NULL)throw"位置";
else
{
cout<<"请输入密码:";
cin>>y;
if(p->ciphercode==y)
{
cout<<"帐号编码为:"<<p->number<<endl;
cout<<"帐号姓名为:"<<p->name<<endl;
cout<<"帐号余额为:"<<p->money<<endl;
do
{
ment2();
cout<<"请输入指令:"<<endl;
cin>>z;
switch(z)
{
case 1:{
cout<<"请输入存款数目:"<<endl;
cin>>v;
p->money=p->money+v;
};break;
case 2:{
cout<<"请输入取款数目:"<<endl;
cin>>v;
p->money=p->money-v;
};break;
case 3:cout<<"余额为:"<<p->money<<endl;break;
case 4:cout<<"已经退出账户"<<endl;break;
default:cout<<"enter data error!"<<endl;
}
}
while(z!=4);
}
else
cout<<"输入密码错误,登录失败。"<<endl;
}
}
void Consumerlist::printlist()
{
p=new Consumer;
p=first->next;
while(p!=NULL)
{
cout<<"帐号编码为:"<<p->number<<endl;
cout<<"帐号姓名为:"<<p->name<<endl;
cout<<"帐号余额为:"<<p->money<<endl;
p=p->next;
}
}
int main()
{
int z;
Consumerlist list;
cout<<" 活期存储系统"<<endl;
do
{
list.ment1();
cout<<"请输入指令:"<<endl;
cin>>z;
switch(z)
{
case 1:list.addConsumer();break;
case 2:list.entry();break;
case 3:{
long x;
cout<<"请输入要撤销的用户账户:";cin>>x;
list.Delete(x);
};break;
case 4:{
list.printlist();
cout<<endl;
};break;
case 5:cout<<"已经退出程序"<<endl;break;
default:cout<<"enter data error!"<<endl;
}
}
while(z!=5);
return 0;