



下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
銀行ATM機(jī)工作流程模擬編程銀行ATM機(jī)工作流程模擬編程(鏈表)
銀行ATM機(jī)工作流程模擬編程(鏈表)
程序設(shè)計基礎(chǔ)(一)綜合作業(yè)銀行ATM機(jī)工作流程模擬編程
班級學(xué)號姓名
;floatmm;}memo;
typedefstructacc{
longnumber;charname;charpass;floatm;
structacc*next;structme*mnext;
}ac;
ac*create_list();ac*access(ac*head);voidsave(ac*head);voidmenu();
floatisoverdraw(float,int);voiddraw_money(ac*);voiddeposit(ac*);voidquery(ac*);voidrevise(ac*);voidlogon_system();floatextra(ac*);intmain(){
intflag,select;ac*t,*head;
head=create_list();logon_system();t=access(head);if(t==NULL){
printf("三次輸入錯誤,系統(tǒng)將自動退出!\\n");return0;}
flag=1;while(flag){
printf("戶主:%s帳號:%Ld\\n\\n\\n",t->name,t->number);menu();
scanf("%d",
while(select5){
printf("輸入有誤,請重新選擇:\\n");scanf("%d",}
system("CLS");switch(select){
case1:draw_money(t);break;case2:deposit(t);break;case3:query(t);break;case4:revise(t);break;
case0:save(head);return1;}}
return1;}
/*程序開頭時,建鏈表,加載用戶信息*/ac*create_list(){
ac*p,*head=NULL;FILE*fp;
fp=fopen("E:\\\\account.txt","r");if(fp==NULL){
printf("filenotexits\\n");exit(0);}
while(!feof(fp)){
p=(ac*)malloc(sizeof(ac));fscanf(fp,"%d",fscanf(fp,"%s",p->name);fscanf(fp,"%s",p->pass);
fscanf(fp,"%f\\n",//在account文本文件中,每個人的信息間有換行符,故"%f\\n"p->mnext=NULL;p->next=head;head=p;}
fclose(fp);returnhead;}
/*檢查用戶登錄信息,對密碼錯誤、密碼位數(shù)不足、賬戶不存在等狀況進(jìn)行提示,只有密碼錯誤t++,否則t不變*/ac*access(ac*head){
ac*p;intt=0;
intn,flag=0;charpp;while(tnumber==nbreak;}
elseif(p->number==np=head;break;}
elseif(p->number==nt--;//這種狀況t不變,故先減一,抵消后面t++的作用p=head;break;}else
p=p->next;}
if(flag==1)break;elseif(p==NULL)
printf("您輸入的賬戶不存在,請重新輸入:\\n");elset++;}
if(t>=3)
returnNULL;else
returnp;}
/*顯示菜單*/voidmenu(){
printf("\\t1取款\\n");printf("\\t2存款\\n");printf("\\t3查詢\\n");printf("\\t4改密\\n");printf("\\t0退出\\n");
printf("請選擇您要的服務(wù):\\n");}
/*取錢:假如用戶輸入非整50或100、超支現(xiàn)象,提示重新進(jìn)行操作*/voiddraw_money(ac*t){
intx;
printf("\\t1.505.800\\n\\n");printf("\\t2.1006.1000\\n\\n");printf("\\t3.201*.201*\\n\\n");printf("\\t4.5008.輸入金額\\n\\n");printf("請選擇:\\n");scanf("%d",while(x=9){
printf("輸入有誤,請重新選擇:\\n");scanf("%d",}
switch(x){
case1:t->m=isoverdraw(t->m,50);break;//推斷是否超支case2:t->m=isoverdraw(t->m,100);break;case3:t->m=isoverdraw(t->m,200);break;case4:t->m=isoverdraw(t->m,500);break;case5:t->m=isoverdraw(t->m,800);break;case6:t->m=isoverdraw(t->m,1000);break;
case7:t->m=isoverdraw(t->m,201*);break;case8:t->m=extra(t);break;}
}/*存款:只能整存*/voiddeposit(ac*t){
floatm;
printf("請輸入您要存入的金額:\\n");scanf("%f",while((int)m%50!=0){
printf("我們只能供應(yīng)面值為50或100的服務(wù),請重新輸入您要存入的金額:\\n");
scanf("%f",}
if((int)m%50==0){
t->m=t->m+m;
printf("存款勝利!\\n");}}
/*顯示余額*/
voidquery(ac*t){
printf("你當(dāng)期的余額為:%.2f元\\n\\n\\n",t->m);}
voidlogon_system(){
printf("\\n\\n");
printf("\\t歡迎使用中國MM銀行自動服務(wù)系統(tǒng),我們將竭誠為您服務(wù)!");printf("\\n\\n\\n");printf("\\t帳號:\\n");printf("\\n");
printf("\\t密碼:\\n\\n\\n\\n\\n");
printf("\\t溫馨提示:1.請愛護(hù)好您的密碼,謹(jǐn)防泄漏;\\n\\t\\t2.若消失吞卡或不出鈔現(xiàn)象,\\
請準(zhǔn)時與工作人員聯(lián)系,\\n\\t\\t不要相信其它任何提示信息,以防上當(dāng)受騙。");
printf("\\n\\n\\n");
printf("請輸入您的帳號及密碼:\\n");}
/*給用戶供應(yīng)自由輸入取款金額的功能*/floatextra(ac*t){
floatm,x,k;
printf("請輸入取款金額:\\n");scanf("%f",
while((int)m%50!=0){
printf("您的輸入有誤,我們只能供應(yīng)面值金額為50或100的服務(wù),請重新輸入取款金額:\\n");scanf("%f",}
if(mm,m);returnx;}
else//取款超過5000則被記錄{
k=t->m-m;
x=isoverdraw(t->m,m);//是否超支if(k>0){
t->mnext=(memo*)malloc(sizeof(memo));t->mnext->hour=12;t->mnext->minute=12;t->mnext->second=12;
strcpy(t->mnext->address,"武漢科技高校");printf("溫馨提示:為了愛護(hù)您的財產(chǎn)平安,您本次操作將系統(tǒng)自動被記錄!\\n");}
returnx;}}
/*修改密碼:對輸入不足六位、輸入錯誤密碼、兩次輸入新密碼前后不全都等狀況,提示用戶重新輸入*/voidrevise(ac*t){
inti;
charpass_a;
printf("請輸入當(dāng)前密碼:\\n");scanf("%s",pass_a);
while(strcmp(pass_a,t->pass)!=0){
if(strlen(pass_a)==6)
printf("您輸入的密碼有誤,請重新輸入:\\n");else{
printf("您輸入的密碼有誤,請重新輸入:\\n");
printf("溫馨提示:密碼是六位數(shù)字或字母,請重新輸入!\\n");}
scanf("%s",pass_a);}
printf("請輸入新密碼:\\n");//輸入新密碼時也可能消失密碼不足六位的狀況
scanf("%s",pass_a);
while(strlen(pass_a)!=6){
printf("您輸入的密碼有誤,請重新輸入:\\n");
printf("溫馨提示:密碼是六位數(shù)字或字母,請重新輸入!\\n");scanf("%s",pass_a);}
printf("請再次輸入新密碼:\\n");scanf("%s",pass_a);
while(strlen(pass_a)!=6){
printf("您輸入的密碼有誤,請重新輸入:\\n");
printf("溫馨提示:密碼是六位數(shù)字或字母,請重新輸入!\\n");scanf("%s",pass_a);}
while(strcmp(pass_a,pass_a)!=0){
printf("兩次新密碼輸入不全都,請重新輸入新密碼:\\n");scanf("%s",pass_a);while(strlen(pass_a)!=6){printf("您輸入的密碼有誤,請重新輸入:\\n");
printf("溫馨提示:密碼是六位數(shù)字或字母,請重新輸入!\\n");scanf("%s",pass_a);}
printf("請再次輸入新密碼:\\n");scanf("%s",pass_a);
while(strlen(pass_a)!=6){
printf("您輸入的密碼有誤,請重新輸入:\\n");
printf("溫馨提示:密碼是六位數(shù)字或字母,請重新輸入!\\n");scanf("%s",pass_a);}}
for(i=0;ipass=pass_a;printf("密碼修改勝利!\\n");}
/*檢查用戶取款是否超支*/
floatisoverdraw(floatm,intn){
intk;m=m-n;if(m}
FILE*fp;
fp=fopen("E:\\\\account.txt","w");if(fp==NULL){
printf("Can"topenfile\\n");return;}
p=head;
while(p!=NULL){
fprintf(fp,"%d%s%s%f\\n",p->n
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 智能門禁系統(tǒng)安裝合同
- 教師職稱評定育人工作證明
- Tricyclohexylphosphine-Tricyclohexylphosphane-生命科學(xué)試劑-MCE
- 影視劇制作投資拍攝協(xié)議
- Actein-Standard-生命科學(xué)試劑-MCE
- 寓言故事愚公移山的教育意義深度解讀
- 美容美發(fā)產(chǎn)品使用效果免責(zé)承諾書
- 水電站落水孔清洗施工方案
- 蘇州玻璃鋼化糞池施工方案
- 2025年滁州c1貨運(yùn)上崗證模擬考試
- 心力衰竭業(yè)務(wù)學(xué)習(xí)護(hù)理課件
- 《汽車發(fā)電機(jī)》課件
- 青少年網(wǎng)絡(luò)安全教育課件
- 2021年全國統(tǒng)一高考英語試卷(新課標(biāo)Ⅰ)(原卷版)
- 中藥熱奄包在消化系統(tǒng)疾病中的應(yīng)用探討
- 春節(jié)的起源歷史-古代歷法與新歲之首的關(guān)聯(lián)活動方案
- 耳鼻喉培訓(xùn)學(xué)習(xí)課件
- 中醫(yī)護(hù)理中藥封包課件
- 2024年中智集團(tuán)及下屬單位招聘筆試參考題庫含答案解析
- 《項脊軒志》公開課課件【一等獎】
- 小兒急乳蛾(小兒急性扁桃體炎)中醫(yī)臨床路徑(2018年版)
評論
0/150
提交評論