最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語言實現(xiàn)模擬銀行系統(tǒng)

 更新時間:2022年06月15日 11:04:22   作者:toMontain  
這篇文章主要為大家詳細介紹了C語言實現(xiàn)模擬銀行系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了C語言實現(xiàn)銀行系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下

1.實現(xiàn)要求

生成一個1000-1000000之間的隨機數(shù)來代表賬戶余額(要求每次生成的數(shù)不一樣);
實現(xiàn)登錄功能:用戶有三次輸入密碼的機會,輸入正確的密碼才能登錄,如果輸入錯誤超過了三次 之后密碼還是錯,則提示賬戶被凍結(jié),退出程序。
實現(xiàn)查詢賬戶余額功能:查詢賬戶余額并輸出。
實現(xiàn)取款功能:提示用戶輸入相應(yīng)的金額,并取款。
實現(xiàn)存款功能:提示用戶輸入存款金額,并存款。
實現(xiàn)修改密碼功能:提示用戶輸入新的密碼,密碼修改成功后,退出系統(tǒng),提示重新登錄。
實現(xiàn)退出系統(tǒng)功能。

2.示例代碼:

//示例代碼:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>

void menu();
int changePwd();
int drawDeposit() ;
void getDeposit() ;
void judgePwd();
void Print();
long saveDeposit();

long deposit;//存款
int password=123456;//密碼?
//隨機生成一個1000-1000000之間的整數(shù)來代表存款
void getDeposit() {
?? ?do {
?? ??? ?deposit=rand()%1000000+1;
?? ?} while(deposit<1000);
}

//打印菜單選擇項
void menu() {
?? ?printf("\t ?☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆\n");
?? ?printf("\t☆※※※※※※※※歡迎使用銀行系統(tǒng)※※※※※※※※☆\n");
?? ?printf("\t ?☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆\n\n");
?? ?printf("銀行業(yè)務(wù)有以下幾種:\n");
?? ?printf("按鍵1:查看賬戶余額\n");
?? ?printf("按鍵2:取款\n");
?? ?printf("按鍵3:存款\n");
?? ?printf("按鍵4:修改密碼\n");
?? ?printf("按鍵5:退出系統(tǒng)\n");
}

//判斷密碼是否正確
void judgePwd() {
?? ?int input;
?? ?int count=0;//輸入密碼的次數(shù),初值為0
?? ?printf("請輸入您的密碼:");
?? ?scanf("%d",&input);
?? ?count++;//每輸入一次密碼,次數(shù)加一
?? ?//如果密碼密碼輸入錯誤,就提示重新輸入,直到輸入正確的密碼或者次數(shù)用完
?? ?while(input!=password) {
?? ??? ?if(count==3) {//當(dāng)count=3時,表示輸入了3次錯誤的密碼,退出程序
?? ??? ??? ?printf("你的次數(shù)已用完,賬戶已被凍結(jié)!\n");
?? ??? ??? ?printf("正在退出系統(tǒng)......\n");
?? ??? ??? ?exit(0);
?? ??? ?}
?? ??? ?printf("密碼輸入錯誤,請重新輸入:(您還有%d次機會)\n請輸入您的密碼:",3-count);
?? ??? ?scanf("%d",&input);
?? ??? ?count++;
?? ?}
?? ?printf("密碼輸入正確,登錄成功!\n");
?? ?printf("\n \n");
}
//打印賬戶余額
void Print() {
?? ?printf("您的賬戶余額為:%ld\n",deposit);
}
//取款
int drawDeposit() {
?? ?long draw;//取款金額
?? ?do {
?? ??? ?printf("請輸入您的取款金額(本機只能提取100元面值的鈔票):");
?? ??? ?scanf("%ld",&draw);
?? ??? ?if(draw>deposit) {//如果輸入的金額大于余額,提示余額不足
?? ??? ??? ?while(draw>deposit) {
?? ??? ??? ??? ?printf("您的余額不足,請重新輸入取款金額:");
?? ??? ??? ??? ?scanf("%ld",&draw);
?? ??? ??? ?}
?? ??? ?}
?? ??? ?if(draw<100||draw%100!=0) {//輸入的金額不合法,提示重新輸入
?? ??? ??? ?printf("輸入的取款金額有誤,請重新輸入取款金額:\n");
?? ??? ?}
?? ?} while(draw<100||draw%100!=0);
?? ?deposit=deposit-draw;//計算余額(原來的余額-取款金額)
?? ?return draw;
}
//存款
long ?saveDeposit() {
?? ?long save;//存款金額
?? ?printf("存款時只接受面值為100的鈔票。\n") ;
?? ?printf("請輸入您的存款金額:");
?? ?scanf("%ld",&save);
?? ?//存款金額不能為負,且只能存百元鈔
?? ?while(save<=0||save%100!=0) {
?? ??? ?printf("存款金額不符合規(guī)定,請重新輸入存款金額:");
?? ??? ?scanf("%ld",&save);
?? ?}
?? ?deposit=deposit+save;//賬戶余額=原來的余額+存款金額
?? ?return save;
}
//修改密碼
int changePwd() {
?? ?int change_pwd,change;
?? ?char ch;
?? ?printf("您確定要修改密碼嗎?(Y/y)");
?? ?scanf("%c",&ch);
?? ?ch=getchar();
?? ?if(ch=='y'||ch=='Y') {
?? ??? ?judgePwd();?
?? ??? ?printf("請輸入新的密碼:");
?? ??? ?scanf("%d",&change_pwd);
?? ??? ?printf("請確認新的密碼:") ;
?? ??? ?scanf("%d",&change);
?? ??? ?if(change_pwd!=change) {
?? ??? ??? ?printf("兩次密碼輸入不一致,即將返回主頁面...\n");
//?? ??? ??? ?menu();
?? ??? ??? ?return password;
?? ??? ?} else {
?? ??? ??? ?password=change_pwd;?
?? ??? ??? ?printf("密碼修改成功......\n");
?? ??? ??? ?printf("請重新登錄:\n");
?? ??? ??? ?judgePwd();
?? ??? ??? ?return change_pwd;
?? ??? ?}
?? ?} else {
?? ??? ?return password;
?? ?}
}
int main() {
?? ?srand((unsigned)time(NULL));//使每次生成的隨機金額不同
?? ?getDeposit();//調(diào)用函數(shù)生成賬戶余額
?? ?menu();//調(diào)用函數(shù),打印菜單
//?? ?int password=123456;//設(shè)置初始密碼
?? ?judgePwd();//判斷輸入的密碼是否正確
?? ?int ch,statu=0;
?? ?//程序主體:登錄之后,只有等到用戶自己選擇退出時才退出系統(tǒng), 否則就一直執(zhí)行下去
?? ?while(1) {
?? ??? ?printf("--------------------------------------------------------------------------------\n\n");
?? ??? ?menu();
?? ??? ?printf("請選擇你的業(yè)務(wù):\n");
?? ??? ?scanf("%d",&ch);
?? ??? ?//根據(jù)用戶輸入選擇執(zhí)行相應(yīng)的操作
?? ??? ?switch(ch) {
?? ??? ??? ?case 1:
?? ??? ??? ??? ?Print();
?? ??? ??? ??? ?break;
?? ??? ??? ?case 2:
?? ??? ??? ??? ?printf("取款成功,金額為:%ld\n",drawDeposit());
?? ??? ??? ??? ?break;
?? ??? ??? ?case 3:
?? ??? ??? ??? ?printf("存款成功,金額為:%ld\n",saveDeposit());
?? ??? ??? ??? ?break;
?? ??? ??? ?case 4:
?? ??? ??? ??? ?password=changePwd();
?? ??? ??? ??? ?break;
?? ??? ??? ?case 5:
?? ??? ??? ??? ?statu=-1;
?? ??? ??? ??? ?break;
?? ??? ??? ?default:
?? ??? ??? ??? ?printf("輸入有誤,請重新輸入......\n");
?? ??? ?}
?? ??? ?if(statu==-1) {
?? ??? ??? ?break;
?? ??? ?}
?? ?}
?? ?printf("\n歡迎下次光臨,再見\3\3\3\3\3...\n");
}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • C語言實現(xiàn)鏈棧的步驟

    C語言實現(xiàn)鏈棧的步驟

    鏈棧是棧的鏈?zhǔn)酱鎯Y(jié)構(gòu),鏈??梢杂脝捂湵淼念^插法實現(xiàn),本文主要講述了如何用c語言去實現(xiàn)鏈棧,感興趣的朋友可以了解下
    2021-05-05
  • 距離詳解Linux下的UDP方式通訊

    距離詳解Linux下的UDP方式通訊

    這篇文章主要介紹了距離詳解Linux下的UDP方式通訊,是深入Linux系統(tǒng)編程中的基礎(chǔ),需要的朋友可以參考下
    2015-10-10
  • C++淺析析構(gòu)函數(shù)的特征

    C++淺析析構(gòu)函數(shù)的特征

    既然在創(chuàng)建對象時有構(gòu)造函數(shù)(給成員初始化),那么在銷毀對象時應(yīng)該還有一個清除成員變量數(shù)據(jù)的操作咯,析構(gòu)函數(shù)與構(gòu)造函數(shù)功能相反,析構(gòu)函數(shù)不是完成對象的銷毀,局部對象銷毀工作是由編譯器完成的。而對象在銷毀時會自動調(diào)用析構(gòu)函數(shù),完成類的一些資源清理工作
    2022-07-07
  • C++如何將二叉搜索樹轉(zhuǎn)換成雙向循環(huán)鏈表(雙指針或數(shù)組)

    C++如何將二叉搜索樹轉(zhuǎn)換成雙向循環(huán)鏈表(雙指針或數(shù)組)

    這篇文章主要介紹了C++如何將二叉搜索樹轉(zhuǎn)換成雙向循環(huán)鏈表(雙指針或數(shù)組),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • Qt超時鎖屏的實現(xiàn)示例

    Qt超時鎖屏的實現(xiàn)示例

    本文主要介紹了Qt超時鎖屏的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • C++模板的特化超詳細精講

    C++模板的特化超詳細精講

    最近我學(xué)習(xí)了C++中的模板相關(guān)知識,模板是泛型編程的基礎(chǔ),十分重要。所以特意整理出來一篇文章供我們一起復(fù)習(xí)和學(xué)習(xí)
    2022-08-08
  • c++基礎(chǔ)學(xué)習(xí)之如何區(qū)分引用和指針

    c++基礎(chǔ)學(xué)習(xí)之如何區(qū)分引用和指針

    C語言中只有指針,C++加入了引用,能夠起到跟指針類似的作用,下面這篇文章主要給大家介紹了關(guān)于c++基礎(chǔ)學(xué)習(xí)之區(qū)分引用和指針的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2021-08-08
  • C++11中模板隱式實例化與顯式實例化的定義詳解分析

    C++11中模板隱式實例化與顯式實例化的定義詳解分析

    實例化是為在程序中的函數(shù)模板本身并不會生成函數(shù)定義,它只是一個用于生成函數(shù)定義的方案。編譯器使用模板為特定類型生成函數(shù)定義時,得到的是模板實例。這即是函數(shù)模板的實例化。而函數(shù)模板實例化又分為兩種類型:隱式實例化和顯式實例化
    2022-04-04
  • 深入c語言continue和break的區(qū)別詳解

    深入c語言continue和break的區(qū)別詳解

    本篇文章是對c語言中continue和break的區(qū)別進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • C++實現(xiàn)RSA加密解密算法是示例代碼

    C++實現(xiàn)RSA加密解密算法是示例代碼

    非對稱加密方式可以使通信雙方無需事先交換密鑰就可以建立安全通信,因此被廣泛應(yīng)用于身份認證、數(shù)字簽名、等信息交換領(lǐng)域。其中最具有代表性的非對稱加密方式就是RSA公鑰密碼體制。本文將用C++實現(xiàn)RSA加密解密算法,需要的可以參考一下
    2022-09-09

最新評論

普格县| 佛坪县| 榆树市| 常熟市| 江阴市| 霍邱县| 宜黄县| 锡林浩特市| 谷城县| 涡阳县| 肇源县| 井陉县| 青神县| 安康市| 剑阁县| 松原市| 鹤庆县| 太仓市| 武胜县| 永修县| 班戈县| 岑溪市| 阿拉善右旗| 灵寿县| 鲁山县| 扎赉特旗| 喜德县| 潞城市| 靖安县| 荃湾区| 鹿邑县| 惠水县| 溆浦县| 旬阳县| 林口县| 益阳市| 呼伦贝尔市| 白水县| 荔浦县| 天水市| 永年县|