當前位置:編程學習大全網 - 編程語言 - 求壹道C語言編程,在VC6.0的環境下運行。 關於ATM取款存款的壹道程序代碼。 要求代碼100行以上左右。

求壹道C語言編程,在VC6.0的環境下運行。 關於ATM取款存款的壹道程序代碼。 要求代碼100行以上左右。

實現了創建賬戶、存錢、取現金、查詢余額、修改密碼等功能

#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;

}

}

  • 上一篇:matlab問題
  • 下一篇:新手如何學習期貨知識?
  • copyright 2024編程學習大全網