1.收獲
今天我自己看了一遍視頻,然后明白了許多函數(shù)的用法以及什么時(shí)候用曹鸠,該怎樣去定義函數(shù)煌茬。在看完視頻后自己獨(dú)立地將項(xiàng)目比較好的寫了出來。在這過程中物延,我明白要去把整個(gè)項(xiàng)目的邏輯理清楚宣旱,分別分為哪幾個(gè)部分,并且還要進(jìn)行不斷地思考叛薯。話不多說浑吟,看下面的過程就知道了笙纤。
2.過程
(1)進(jìn)行登陸界面函數(shù)實(shí)現(xiàn)
通過簡(jiǎn)單地printf來實(shí)現(xiàn)。
//登陸界面
void welcome(void){
printf_s("**************\n");
printf_s(" 歡迎使用\n");
printf_s("**************\n");
}
(2)提示輸入密碼以及判斷密碼是否輸入正確的函數(shù)
//輸入密碼
bool loginATM(void){
int pw=0;
int wrongtime=0;
while(1){
printf("請(qǐng)輸入密碼:");
scanf_s("%d",&pw);
if(pw==password){
return true;
}
else {
wrongtime++;
if(wrongtime==4){
printf_s("此卡已凍結(jié) 請(qǐng)聯(lián)系客服组力!\n");
loginout();
system("pause");
return false;
}
else {printf_s("密碼錯(cuò)誤 ");
}
}
}
}
(3)密碼正確后的顯示操作
rintf_s("************\n");
printf_s("1.取款\n");
printf_s("2.存款\n");
printf_s("3.修改密碼\n");
printf_s("4.退出\n");
printf_s("************\n");
(4)判斷操作是否正確
printf_s("請(qǐng)選擇操作:");
scanf_s("%d",&chiose);
getchar();
if(chiose==1||chiose==2||chiose==3||chiose==4){
break;}
else {
printf_s("操作不合法 ");
}
(5)判斷操作是什么
switch(chiose){
case 1: outMoney();
break;
case 2: putMoney();
break;
case 3: setpassword();
break;
default: loginout();
system("pause");
return 0;
}
(6)在判斷是什么操作之后省容,需要執(zhí)行的操作我們用函數(shù)來實(shí)現(xiàn)
//取款
void outMoney(void){
int outmoney=0;
while(1){
printf_s("請(qǐng)輸入取款金額:");
scanf_s("%d",&outmoney);
if(outmoney>money||outmoney<0){
printf_s("余額不足 ");
bool ch=iscontinue();
if(ch==false){return;
}
}
else {money-=outmoney;
printf_s("取款成功 當(dāng)前余額為:%d\n",money);
bool ch=iscontinue();
if(ch==false){return;
}
}
}
}
//存款
void putMoney(void){
int putmoney=0;
while(1){
printf_s("請(qǐng)輸入存款金額:");
scanf_s("%d",&putmoney);
money+=putmoney;
printf_s("當(dāng)前余額為:%d\n",money);
bool ch=iscontinue();
if(ch==false)return;
}
}
//修改密碼
void setpassword(void){
int pw=0;
int newpassword=0;
int newpw=0;
while(1){
while(1){
printf_s("請(qǐng)輸入原始密碼:");
scanf_s("%d",&pw);
//判斷原始密碼是否正確
if(pw!=password){
printf_s("密碼錯(cuò)誤 ");
}else {break;
}
}
//輸入新的密碼
printf_s("請(qǐng)輸入新密碼:");
scanf_s("%d",&newpw);
printf_s("請(qǐng)?jiān)俅屋斎胄旅艽a:");
scanf_s("%d",&newpassword);
//判斷兩次密碼是否一致
if(newpw==newpassword){
password=newpassword;
printf_s("密碼修改成功!\n");
bool ch=iscontinue();
if(ch==false)return;
}
else{
printf_s("兩次密碼不一致 \n");
bool ch=iscontinue();
if(ch==false)return;
}
}
}
(7)在執(zhí)行這些操作之后會(huì)有一個(gè)選擇,是否繼續(xù)進(jìn)行該操作燎字,我也用一個(gè)函數(shù)來實(shí)現(xiàn)
//是否繼續(xù)操作
bool iscontinue(void){
int ch;
printf_s("是否繼續(xù) “是”請(qǐng)按1 “否”請(qǐng)按2:");
scanf_s("%d",&ch);
getchar();
if(ch==2)return false;
else return true;
}
(8)雖然這些函數(shù)已經(jīng)定義了但是還是需要進(jìn)行聲明
void welcome(void);//登陸界面
bool loginATM(void);//登陸 輸入密碼
void loginout(void);//退出
void outMoney(void);//取款
bool iscontinue(void);//是否繼續(xù)操作
void putMoney(void);//存款
void setpassword(void);//修改密碼
(9)在這些函數(shù)中有些函數(shù)用到了相同的變量腥椒,這就需要我們將這些變量定義為全局變量
int password=123456;
int money=1000;
int _tmain(int argc, _TCHAR* argv[]){return 0;}
這些全局變量需要定義在主函數(shù)之前
3.最終效果
QQ圖片20190731221835.png
4.不足
在這項(xiàng)目中還有很大的一部分都不是自己想出來的,候衍,只是自己模仿過來的笼蛛,不是屬于自己的東西,還需要加強(qiáng)自生的水平蛉鹿,多去實(shí)際操作滨砍,多動(dòng)手,多動(dòng)腦妖异,培養(yǎng)自己的邏輯思維惋戏。加油!K拧响逢!