#include"iostream.h"
#include"stdlib.h"
#include"iomanip.h"
#include"conio.h"
struct Node
{
int card;
int password;
int money;
Node *next;
};
class card
{
public:
savelist(int,int);
checkNO(int);
checkpassword(int,int);
savemoney1(int,int);
savemoney2(int,int);
int getmoney(int );
changepassword(int,int);
outputlist1()
{
Node *current =head;
while(current!=NULL)
{
cout<<current->card<<endl;
cout<<current->password<<endl;
cout<<current->money<<endl;
current=current->next;
}
cout<<"Over"<<endl;
}
card()
{
head=NULL;
}
~card()
{
delete head;
}
deletelist(int);
private:
Node *head;
};
//int card:: checkNO (int n)
//{
// Node *p;
// p=head;
// while(p->card !=n&&p->next !=NULL)
// {
// p=p->next ;
// }
// if(p->card !=n&&p->next ==NULL) return 0;
// if(p->card ==n) return 1;
//}
int card::getmoney(int no)
{
Node *p;
p=head;
while(p->card!=no )
{
p=p->next ;
}
return p->money ;
}
int card:: checkpassword (int n,int ps)
{
Node *p,*q;
p=head;
while(p->card!=n &&p->next !=NULL)
{
q=p;
p=p->next ;
}
if(p->card !=n&&p->next ==NULL) return 0;
if(p->card ==n&&p->password==ps) return 1 ;
if(p->card ==n&&p->password !=ps) return 2;
}
card::changepassword (int no,int ps)
{
Node *p;
p=head;
while(p->card!=no )
{
p=p->next ;
}
p->password =ps;
}
card::savemoney1(int no,int money)
{
Node *p;
p=head;
while(p->card!=no )
{
p=p->next ;
}
p->money +=money;
}
card::savemoney2(int no,int money)
{
Node *p;
p=head;
while(p->card!=no )
{
p=p->next ;
}
if(money>(p->money)) return 0;
else {p->money -=money;return 1;}
}
card::savelist (int n,int ps)
{
Node *s,*p,*q;
s=new Node;
p=head;
s->card =n;
s->password =ps;
s->money =10;
s->next =NULL;
if(head==NULL)
{
head=s;
s->next =NULL;
cout<<" 保存成功"<<endl;
}
else
{
while(p->next !=NULL)
{
q=p;
p=p->next ;
}
p->next =s;
s->next =NULL;
cout<<"保存成功"<<endl;
}
}
card::deletelist(int n)
{
Node *p,*q;
p=head;
while(p->card !=n&&p!=NULL)
{
q=p;
p=p->next ;
}
if(p!=NULL)
{
q->next =p->next ;
delete p;
cout<<"delete succeed!"<<endl;
}
else cout<<"delete fail"<<endl;
}
void print(int no,int m,int money=0)
{
system("cls");
cout<<endl;
cout<<endl;
cout<<endl;
cout<<endl;
cout<<endl;
cout<<endl;
cout<<endl;
cout<<" 持卡人存根 "<<endl;
cout<<"+-----------------------------+--------------------------+"<<endl;
cout<<"+ 終端機號 +";
cout<<" 200807030141 +"<<endl;
cout<<"+ 卡別 +";
cout<<setw(15)<<" 信用卡 +"<<endl;
cout<<"+ 卡號 +";
cout<<setw(15)<<no<<" +"<<endl;
cout<<"+ 交易類型 +";
if(m==0) cout<<" 銀行卡開戶 +"<<endl;
if(m==1)
{
cout<<" 存錢 +"<<endl;
cout<<"+ 金額 +";
cout<<setw(15)<<money<<" +"<<endl;
}
if(m==2)
{
cout<<"取錢"<<endl;
cout<<"+ 金額 +";
cout<<setw(15)<<money<<" ++"<<endl;
}
cout<<"+-----------------------------+--------------------------+"<<endl;
cout<<"+ 持卡人簽名 +";
cout<<" +"<<endl;
cout<<"+-----------------------------+--------------------------+"<<endl;
cout<<endl<<endl<<endl<<endl;
system("PAUSE");
system("cls");
}
int Chinese()
{
int l=0;
cout<<endl<<endl<<endl;
cout<<" 您好,歡迎光臨zzuli學院銀行! "<<endl<<endl<<endl<<endl;
cout<<" 1.ATM櫃臺機"<<endl<<endl;
cout<<" 2.銀行業務管理"<<endl<<endl;
cout<<" 3.返回"<<endl;
cout<<endl;
cout<<endl;
cout<<endl;
cout<<"請選擇:";
do
{
cin>>l;
if((l!=1)&&(l!=2)&&(l!=3))
cout<<"選擇錯誤!"<<endl<<" 請重新輸入:"<<endl;
}while((l!=1)&&(l!=2)&&(l!=3));
return l;
}
int pc2()
{
shuru:
int l;
//system("cls");
cout<<"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"<<endl;
cout<<"+ +"<<endl;
cout<<"+ 歡迎進入ATM系統 +"<<endl;
cout<<"+ +"<<endl;
cout<<"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"<<endl;
cout<<"+ +"<<endl;
cout<<"+ Please select your native language (請選擇用戶語言) +"<<endl;
cout<<"+ 1.中文 +"<<endl;
cout<<"+ 2.English +"<<endl;
cout<<"+ 3.Exit(退出) +"<<endl;
cout<<"+ +"<<endl;
cout<<"+ 請選擇:";
//gotoxy(20,20);
cin>>l;
if((l!=1)&&(l!=2)&&(l!=3))
{ cout<<"選擇錯誤!"<<endl<<endl;
goto shuru;}
system("cls");
return l;
}
void main()
{
card A;
A.savelist (777,777);
system("cls");
char c ;
int l,x,y,n,ps,no,flag,money,flag1;
logo:
l=pc2();
switch(l)
{
case 1:
ChinesePc:
n=Chinese();
switch(n)
{
case 1://ATM業務
cout<<endl;
cout<<" 請輸入賬號(0=取消):";
cin>>no;
while(no==0)
{
system("CLS");
goto ChinesePc;
}
shurumima:
cout<<endl;
cout<<" 請輸入密碼: ";
cin>>ps;
if(ps==0)
{
system("CLS");
goto ChinesePc;
}
y=A.checkpassword(no,ps);
switch(y)
{
case 0:
cout<<endl<<endl<<endl<<endl;
cout<<"賬號不存在 "<<endl;
system("PAUSE");
system("cls");
goto ChinesePc;break;
case 1:
{ flag=0;flag1=1;
while(flag==0)
{
system("cls");
if(flag1==1)
{
cout<<"登陸成功!"<<endl<<endl;
flag1++;
}
cout<<endl<<endl<<endl<<endl;
cout<<" 個人銀行業務:"<<endl<<endl<<endl;
cout<<" 1.人民幣存款業務"<<endl<<endl;
cout<<" 2.人民幣取款業務"<<endl<<endl;
cout<<" 3.余額查詢"<<endl<<endl;
cout<<" 4.修改密碼"<<endl<<endl;
cout<<" 5.返回"<<endl<<endl;
cout<<""<<endl;
cout<<""<<endl<<endl;
cout<<"請選擇(1-5):";
cin>>n;
cout<<endl;
switch(n)
{
case 1:
{
cout<<"請將現金放入存鈔口:";
cin>>money;
A.savemoney1(no,money);
cout<<"+---------------存款成功!-------------------------+"<<endl<<endl;
cout<<"需要打印憑條嗎?(Y=是,N=否)"<<endl;
cin>>c;
while(c!='Y'&&c!='y'&&c!='n'&&c!='N')
{
cout<<"輸入錯誤!請重新輸入!(Y=是,N=否)"<<endl;
cin>>c;
}
if(c=='y'||c=='Y')
print(no,1,money);
}break;
case 2:
{
cout<<"請輸入金額";
do
{
cin>>money;
l=A.savemoney2(no,money);
if(l==0) cout<<"超出您的余額,請重新輸入"<<endl;
else cout<<"請收好您的現金"<<money<<"元"<<endl;
}while(l==0);
cout<<endl<<endl ;
cout<<"按任意鍵繼續.....";
system("PAUSE");
}break;
case 3:
{
system("cls");
money=A.getmoney (no);
cout<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl;
cout<<" 您的余額為:"<<money<<endl<<endl<<endl;
cout<<endl<<endl<<endl<<endl;
system("PAUSE");
system("cls");
break;
}
case 4:
cout<<"請輸入您的新密碼:";
cin>>ps;
A.changepassword (no,ps);
cout<<"密碼修改成功!(按任意鍵繼續!)";cout<<endl;
system("PAUSE");
system("cls");
break;
case 5:
flag=1;
}
}
system("cls");
cout<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl;
cout<<" 歡迎下次光臨"<<endl<<endl<<endl<<endl<<endl;
cout<<endl;
cout<<endl;
cout<<endl;
system("PAUSE");
system("cls");
goto logo;
}
case 2:
cout<<"密碼錯誤,請重新輸入密碼!(0=取消)"<<endl;
goto shurumima;
}
break;
case 2://創建賬號
cout<<" 輸入要創建的賬號:";
cin>>no;cout<<endl;
cout<<" 請輸入密碼: ";
cin>>ps;
cout<<endl;
A.savelist (no,ps);
cout<<"需要打印憑條嗎?(Y=是,N=否)"<<endl;
cin>>c;
while(c!='Y'&&c!='y'&&c!='n'&&c!='N')
{
cout<<"輸入錯誤!請重新輸入!(Y=是,N=否)"<<endl;
cin>>c;
}
if(c=='y'||c=='Y')
print(no,0);
system("cls");
goto ChinesePc;
break;
case 3: system("cls");goto logo;break;//返回上壹層
}
cout<<"Hello"<<endl;
goto logo;
break;
case 2:system("cls"); cout<<endl<<endl<<endl<<endl<<endl<<endl<<endl;
cout<<" 請使用中文!"<<endl;
cout<<endl<<endl<<endl<<endl<<endl<<endl<<endl;
system("PAUSE");
system("cls");
goto logo;
break;
case 3: exit(1);break;
}
}