① 高分求c語言課程設計源代碼 最好是自動取款機的源代碼 回答得好,可以再加分
分給我吧~嘻嘻
自動取款機c語言源代碼自動取款機c語言源代碼自動取款機c語言源代碼自動取款機c語言源代碼
*/
// ************************************
// * *
// * function.h *
// * *
// ************************************
#include<iostream>
#include <string>
//#include<stdlib>
using namespace std;
class consumer;
class ATM
// ATM取款機
{
public:
ATM (consumer& cn):cnsm(cn){}
void welcome();
// 登陸界面
bool check_passwd(string n,string pwd);
// 核對密碼
void change_passwd();
// 修改密碼
void fetchmoney();
// 取款
void information();
// 查詢信息
void exitATM();
// 退出系統
void functionshow();
// 功能界面
void lock();
// 鎖機
private:
int times;
// 記錄密碼輸入次數
consumer& cnsm;
};
class consumer
// 用戶
{
public:
friend class ATM;
consumer (string Name,string Num,float Money,string PassWord);
protected:
string get_name();
// 取得姓名
string get_num();
// 取得卡號
string get_passwd();
// 取得密碼
float get_money();
// 取得余額
void set_passwd(string pwd);
// 設置密碼
void set_money(float m);
// 取錢
private:
string passwd;
// 用戶密碼
string name;
// 用戶姓名
string num;
float money;
};
// ************************************
// * *
// * consumer類的成員函數 *
// * *
// ************************************
consumer::consumer(string Name,string Num,float Money,string Password)
{name=Name;
num=Num;
money=Money;
passwd=Password;
}
float consumer::get_money()
{return money;}
string consumer::get_name()
{return name;}
string consumer::get_num()
{return num;}
string consumer::get_passwd()
{return passwd;}
void consumer::set_money(float m)
{money-=m;}
void consumer::set_passwd(string pwd)
{passwd=pwd;}
// ************************************
// * *
// * ATM.cpp *
// * *
// ************************************
void main()
{
consumer c1("jim","12345",5200.3f,"123");
// 先構造一個用戶
ATM atm(c1);
atm.welcome();
}
// ************************************
// * *
// * ATM類的成員函數 *
// * *
// ************************************
void ATM::welcome()
{
times=0;
cout<<"$歡迎使用若雪銀行ATM自動取款機!~!"<<endl;
string pwd,num,ch;
//int i=0;
do
{
//i=0;
cout<<endl<<"請輸入卡號:";
//do
//{
cin>>num;
//num[i++]=ch;
//}
//while(ch!='\n');
//num[i-1]='\n';
// i=0;
cout<<"請輸入密碼:";
//do
//{
cin>>pwd;
//pwd[i++]=ch;
//}while(ch!='\n');
//pwd[i-1]='\n';
if(!check_passwd(num,pwd))
{
cout<<"你輸入的卡號或密碼有誤,請重新輸入"<<endl;
times++;
}
else
{
functionshow();
}
}while(times<3);
lock();
}
bool ATM::check_passwd(string num,string pwd)
{
//if(strcmp(num,cnsm.get_num())==0&&strcmp(pwd,cnsm.get_passwd())==0)
if(num==cnsm.get_num()&&pwd==cnsm.get_passwd())
return true;
else
return false;
}
void ATM::functionshow()
{
int n;
do
{
cout<<endl<<"請你輸入相應的操作序號進行操作:"<<endl;
cout<<"1) 修改密碼 "<<endl<<"2) 取款"<<endl<<"3) 查詢余額 "<<endl<<"4) 退出系統 "<<endl;
cout<<"$>";
cin>>n;
while(n<1||n>4)
{
cout<<"請輸入正確的操作序號!"<<endl;
cout<<"$ >";
cin>>n;
}
switch(n)
{
case 1:change_passwd();
break;
case 2: fetchmoney();
break;
case 3:information();
break;
case 4:exitATM();
break;
}
}while(true);
}
void ATM::change_passwd()
{
char pwd[8],repwd[8];
times=0;
do
{
cout<<endl<<"請輸入舊密碼:";
cin>>pwd;
if(!check_passwd(cnsm.get_num(),pwd))
times++;
else
break;
}while(times<3);
if(times==3)
lock();
int t=0;
do
{
cout<<"請輸入新密碼:";
cin>>pwd;
cout<<"請再輸入一次新密碼:";
cin>>repwd;
if((t=strcmp(pwd,repwd))!=0)
cout<<"你輸入的兩次密碼不一樣,請重新輸入!"<<endl;
}
while(t!=0);
cnsm.set_passwd(pwd);
cout<<"密碼修改成功,請牢記!"<<endl;
}
void ATM::fetchmoney()
{
float m;
char ch;
do
{
cout<<endl<<"你要取多少錢:"<<"$>"<<endl ;
cin>>m;
while(m<=0)
{
cout<<"請輸入正確的數字!"<<endl;
cout<<"$>";
cin>>m;
}
if(cnsm.get_money()-m<0)
{
cout<<"對不起,你的余額不足!"
<<endl;
}
else
{
cout<<endl<<"操作成功,請收好錢!"
<<endl;
cnsm.set_money(m);
}
cout<<"是否要繼續該項操作:(Y/N) "
<<endl;
cout<<"$ >";
cin>>ch;
while(ch!='n'&&ch!='N'&&ch!='Y'&&ch!='y')
{
cout<<"$ >";
cin>>ch;
}
}while(ch=='y'||ch=='Y');
}
void ATM::information()
{
cout<<"**********************************"<<endl;
cout<<"*"<<endl;
cout<<"* 用戶姓名:"<<cnsm.get_name()<<endl;
cout<<"* 卡號: "<<cnsm.get_num()<<endl;
cout<<"* 余額: "<<cnsm.get_money()<<endl;
cout<<"**********************************"<<endl;
}
void ATM::lock()
{
cout<<endl<<"對不起,由於你的操作有誤,你的卡已經被沒收! "<<endl;
exit(1);
}
void ATM::exitATM()
{
cout<<endl<<"感謝你對本銀行的支持,歡迎下次光臨!"<<endl;
cout<<"請取卡……"<<endl;
exit(0);
}
② 【C語言】編寫ATM機程序
幫我用C語言編寫一個ATM取款程序要求代碼在300行以上
作為一個二十一世紀的大學生,要養成自己動手的習慣!不懂就去圖書館翻閱資料!雖然網上現在很
③ 怎樣用c語言編寫ATM系統
真正的ATM系統不可能只是用C語言編寫的,它應該是一套完整獨立的系統,核心代碼更機密,不會輕易的泄露。
C語言可以寫一個類似於ATM系統的框架,用以模擬ATM機上的各種操作。
框架代碼如下:
#include<iostream.h>
#include<stdio.h>
intmain()
{
intchoice=-1;
while(1){
printf("請選擇 1.login 2.regist ");
scanf("%d",&choice);
switch(choice){
case1:
login();
break;
case2:
regist();
break;
default:
printf("輸入有誤,重新輸入 ");
break;
}
}
return0;
}
voidlogin(){
printf("INLOGIN ");
intflag=-1;
intX=-1;
printf("輸入賬戶和密碼 ");
flag=search();
if(falg==1){
printf("存在,進入主頁面 ");
X=menu();
if(X==1)
return;
}
elseif(flag==0){
printf("賬戶或密碼錯誤 ");
return;
}
}
intregist(){
printf("INREGIST ");
return1;
}
intmenu(){
printf("INMENU ");
intkey=-1;
intN=-1;
while(1){
printf("請選擇業務:1.refer 2.deposit 3.withdraw 4.transfer 5.resetPW 6.退出 ");
scanf("%d",&key);
switch(key){
case1:
N=refer();
break;
case2:
N=deposit();
break;
case3:
N=withdraw();
break;
case4:
N=transfer();
break;
case5:
N=resetPW();
break;
case6:
N=6;
return1;
break;
default:
printf("輸入有誤,重新選擇: ");
break;
}
if(N%2==0){
printf("Error! ");
}
}
}
intrefer(){
printf("INREFER ");
//輸出余額
return1;
}
intdeposit(){
printf("INDEPOSIT ");
//存錢
return3;
}
intwithdraw(){
printf("INWITHDRAW ");
//取錢
return5;
}
inttransfer(){
ptintf("INTRANSFER ");
//轉賬
return7;
}
intresetPW(){
prtintf("INRESETPW ");
//重設密碼
return9;
}
④ 用C語言一個ATM取款機的程序代碼(用循環語句)
/*初始密碼和賬號都為:123456 */
#include<stdio.h>
int chaxun(int a3)
{
int b;
b=a3;
printf("你的余額為:%d\n",b) ;
}
int qukuan(int a3)
{
int a,b;
printf("請輸入您要提取的現金:\n");
scanf("%d",&a);
b=a3-a;
if(b<0)
printf("對不起 ,你的余額不足\n");
else
{
printf("請收好您的%d元現金\n",a);
a3=a3-a;
}
return (a3);
}
int gaini(int a2)
{
int a,b,c=1,d,e=1;
while(e)
{
printf("請輸入你的舊密碼:\n");
scanf("%d",&d);
if(d==a2)
e=0;
else
{
e=1;
printf("你輸入的密碼錯誤,請重新輸入:\n");
}
}
while(c)
{
printf("請輸入您的六位數新密碼\n");
scanf("%d",&a2);
printf("請確認您的六位數新密碼\n");
scanf("%d",&b);
if(a2==b)
{
if(b>100000&&b<999999&&b/(b/100000)!=111111)
{
c=0;
printf("密碼修改成功\n");
}
else
{
printf("您輸入的密碼不符合要求,請從新輸入\n");
c=1;
}
}
else
{
c=1;
printf("您兩次輸入的密碼不一致,請重新輸入:\n");
}
}
return a2;
}
int quka()
{
printf("\n 夢若保保提醒您\n");
printf("請收好您的卡片,謝謝,再見\n\n");
}
int cunkuan(int a3)
{
int i,j,k;
printf("請輸入你要存的金額\n");
scanf("%d",&k);
if(k<0)
{
printf("對不起,沒有負存款\n");
}
else
{
printf("\n您好,您已經存進去了%d元\n",k);
a3=a3+k;
}
return a3;
}
main()
{
int i,j,b=1,c,k,l,m,n;
int a1=123456,a2=123456,a3=1000;
printf("歡迎使用自動櫃員機:\n\n");
while(b==1)
{
printf("請輸入您的賬號:\n");
scanf("%d",&k);
printf("請輸入您的密碼:\n");
scanf("%d",&l);
if(k==a1&&l==a2)
{
b=0;
printf("您的賬戶余額為:%d\n",a3);
}
else
{
b=1;
printf("對不起,您輸入的賬號或者密碼有誤,請重新輸入:\n");
}
}
do
{
printf("\n請選擇您要的服務項目:\n");
printf("1.查詢余額\n");
printf("2.取款\n");
printf("3.修改密碼\n");
printf("4.取卡\n");
printf("5.存款\n");
scanf("%d",&c);
switch(c)
{
case 1:
chaxun(a3);
break;
case 2:
a3=qukuan(a3);
break;
case 3:
a2=gaini(a2);
break;
case 4:
quka();
break;
case 5:
a3=cunkuan(a3);
break;
}
}while(c!=4);
}
⑤ 在C語言中ATM自動取款機的功能程序怎麼寫啊
#include<stdio.h>
void main()
{
char SelectKey,CreditMoney,DebitMoney;
while(1)
{
do{
clrscr();
puts("Please select key:");
puts("1.Quary");
puts("2.Credit");
puts("3.Debit");
puts("4.Return");
SelectKey=getch();
}while(SelectKey!='1'&&SelectKey!='2'&&SelectKey!='3'&&SelectKey!='4');
switch(SelectKey)
{
case'1':
clrscr();
puts("Your balance is $1000");
getch();
break;
case'2':
do{
clrscr();
puts("Please select Credit money:");
puts("1.$50");
puts("2.$100");
puts("3.Return");
CreditMoney=getch();
}while(CreditMoney!='1'&&CreditMoney!='2'&&CreditMoney!='3');
switch(CreditMoney)
{
case'1':
clrscr();
puts("Your Credit money is $50,Thank you!");
getch();
break;
case'2':
clrscr();
puts("Your Credit money is $100,Thank you!");
getch();
break;
case'3':
break;
}
break;
case'3':
do{
clrscr();
puts("Please select Debit money:");
puts("1.$50");
puts("2.$100");
puts("3.$500");
puts("4.$1000");
puts("5.Return");
DebitMoney=getch();
}while(DebitMoney!='1'&&DebitMoney!='2'&&DebitMoney!='3'&&DebitMoney!='4'&&DebitMoney!='5');
switch(DebitMoney)
{
case'1':
clrscr();
puts("Your Debit money is $50,Thank you!");
getch();
break;
case'2':
clrscr();
puts("Your Debit money is $100,Thank you!");
getch();
break;
case'3':
clrscr();
puts("Your Debit money is $500,Thank you!");
getch();
break;
case'4':
clrscr();
puts("Your Debit money is $1000,Thank you!");
getch();
break;
case'5':
break;
}
break;
case'4':
return;
}
}
}
幾個小錯誤而已...比如忘了寫雙撇號,switch寫錯了...還有!= 忘了寫! 等等.. 以上程序可以運行了
⑥ 求C語言程序設計(銀行ATM取款機)
終於編寫出來了
#include<stdio.h>
void main()
{
char SelectKey,CreditMoney,DebitMoney;
while(1)
{
do{
clrscr();
puts("Please select key:");
puts("1.Quary");
puts("2.Credit");
puts("3.Debit");
puts("4.Return");
SelectKey=getch();
}while(SelectKey!='1'&&SelectKey!='2'&&SelectKey!='3'&&SelectKey!='4');
switch(SelectKey)
{
case'1':
clrscr();
puts("Your balance is $1000");
getch();
break;
case'2':
do{
clrscr();
puts("Please select Credit money:");
puts("1.$50");
puts("2.$100");
puts("3.Return");
CreditMoney=getch();
}while(CreditMoney!='1'&&CreditMoney!='2'&&CreditMoney!='3');
switch(CreditMoney)
{
case'1':
clrscr();
puts("Your Credit money is $50,Thank you!");
getch();
break;
case'2':
clrscr();
puts("Your Credit money is $100,Thank you!");
getch();
break;
case'3':
break;
}
break;
case'3':
do{
clrscr();
puts("Please select Debit money:");
puts("1.$50");
puts("2.$100");
puts("3.$500");
puts("4.$1000");
puts("5.Return");
DebitMoney=getch();
}while(DebitMoney!='1'&&DebitMoney!='2'&&DebitMoney!='3'&&DebitMoney!='4'&&DebitMoney!='5');
switch(DebitMoney)
{
case'1':
clrscr();
puts("Your Debit money is $50,Thank you!");
getch();
break;
case'2':
clrscr();
puts("Your Debit money is $100,Thank you!");
getch();
break;
case'3':
clrscr();
puts("Your Debit money is $500,Thank you!");
getch();
break;
case'4':
clrscr();
puts("Your Debit money is $1000,Thank you!");
getch();
break;
case'5':
break;
}
break;
case'4':
return;
}
}
}
幾個小錯誤而已...比如忘了寫雙撇號,switch寫錯了...還有!= 忘了寫! 等等.. 以上程序可以運行了
⑦ 求c語言課程設計:模擬ATM取款機界面的程序編寫(最好是自己做的哦)謝謝
聰明的話提示下就能做,用switch--case完成界面的各選項,進入第一層界面之後又用switch--case完成第二層界面;到了要取款的時候case幾個選項可以是100,200,300,等等····如果要求自己輸入的話就添加個SCANF語句要用戶自己輸入取款金額,基本上差不多了。
⑧ 用C語言編程ATM的簡單取款過程,越簡單越好
用printf
一類的輸出語句,在命令行做界面
因為你不可能讀卡,所以只能是手動輸入賬戶和密碼
這就需要你保存一個列表
於是
大致功能
1
登陸
2
退出
3
查詢余額
4
取錢。
就這么四個
足夠了。
轉賬什麼的
就算了。