版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
一、題目要求系統(tǒng)主要功能模塊:1實(shí)現(xiàn)系統(tǒng)內(nèi)制卡,發(fā)卡功能。實(shí)現(xiàn)系統(tǒng)內(nèi)購(gòu)物卡帳戶及相關(guān)帳戶管理。實(shí)現(xiàn)購(gòu)物卡交易和合法性檢查。實(shí)現(xiàn)購(gòu)物卡交易積分功能。實(shí)現(xiàn)購(gòu)物卡報(bào)表功能。數(shù)據(jù)以文件形式存儲(chǔ)。提示:制卡:指申請(qǐng)一個(gè)購(gòu)物卡,但還沒有使用。發(fā)卡:指該卡已經(jīng)起用。實(shí)現(xiàn)卡交易:指從卡中消費(fèi)掉一定金額。二、需求分析根據(jù)題目要求,由于購(gòu)物卡信息是存放在文件中,所以應(yīng)提供文件的輸入、輸出等操作;在程序中需瀏覽購(gòu)物卡的信息,應(yīng)提供報(bào)表、查詢等操作;另外還應(yīng)提供鍵盤式選擇菜單實(shí)現(xiàn)功能選擇。三、總體設(shè)計(jì)根據(jù)需求分析,可以將系統(tǒng)分為五大模塊:制卡、發(fā)卡、登陸、報(bào)表、積分。四、詳細(xì)設(shè)計(jì)1、主函數(shù)將main()函數(shù)體內(nèi)的界面選擇部分語(yǔ)句單獨(dú)抽取出來作為一獨(dú)立函數(shù),目的在于系統(tǒng)執(zhí)行完每部分功能模塊后能夠方便返回到系統(tǒng)界面。voidmenu()
intv,w1;do{printf("\t\t*********************MENU*********************\n\n");printf("\t\t\t\t1.card-made\n");printf("\t\t\t\t2.card-life\n");printf("\t\t\t\t3.card-enter\n");printf("\t\t\t\t4.card-browse\n");printf("\t\t\t\t5.exit\n");printf("\n\n\t\t**********************************************\n");printf("Choiceyournumber(1-5):[]\b\b");scanf("%d",&v);if(v<1||v>5){w1=1;getchar();}elsew1=0;}while(w1==1);switch(v){case1:made();break;case2:life();break;case3:enter();break;case4:browse();break;case5:exit(0);}2}2、各功能模塊設(shè)計(jì)(1)制卡模塊【數(shù)據(jù)結(jié)構(gòu)】structcredicard{intnumber;charname[20];charID[20];charword[8];intflag;floataccount;intintegal;}card[M];/*card[M]中每個(gè)數(shù)組元素對(duì)應(yīng)一個(gè)運(yùn)動(dòng)員信息*/【程序】voidmade(){inti;charh[20];do{printf("\n\n\tInputyournumber:<\t\t\t>\b\b\b\b\b\b\b");scanf("%s",h);if(strlen(h)!=6){printf("\n\n\n\t\t***************Wrong!Inputagain****************\n\n");continue;}for(i=0;i<n;i++)if(strcmp(card[i].ID,h)==0){printf("\n\n\t\t***********Thenumberexist,inputagain************\n\n");break;}}while(((strlen(h))!=6)||strcmp(card[i].ID,h)==0);card[n].number=n;strcpy(card[n].name,"***");strcpy(card[n].ID,h);strcpy(card[n].word,"000000");card[n].flag=0;card[n].account=0.00;card[n].integal=0;printf("\n\n\n\t\t********************Thecardismade!**********************\n\n");print_one(n);n++;add();menu();}print_one(n):顯示一張卡信息的函數(shù)?!境绦颉縱oidprint_one(intj){printf("\n|||||||");printf("\n|NO.|name|ID|flag|account|integal|");printf("\n|||||||");printf("\n|%4d|%20s|%20s|%4d|%10.2f|%10d|",card[j].number,card[j].name,card[j].ID,card[j].flag,card[j].account,card[j].integal);printf("\n|||||||");}發(fā)卡模塊voidlife(){intk=-1;charh[20];if(n==0)printf("\n\n\t\t****************Makecardfirst*********************\n");else{printf("\n\n\tInputyourappliednumber:<\t\t\t>\b\b\b\b\b\b\b");scanf("%s",h);k=search(h);if(k==-1)printf("\n\n\t\t\t*****************Wrongnumber!****************\n");else{if(card[k].flag==1)printf("\n\n\t\t****************Lifealready!*****************\n");elsehuo(k);}}menu();}huo(k):激活一張卡的函數(shù)。voidhuo(intk){charm[20],p[8];intx,w2;do{printf("\n\n\t\tLife?(1)Yes(2)No\n");printf("\n\t\tChioceyournumber:<>\b\b");scanf("%d",&x);if(x<1||x>2){w2=1;getchar();}elsew2=0;}while(w2==1);if(x==1){printf("\n\n\t\tInputyourname:<\t\t\t>\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b");scanf("%s",m);strcpy(card[k].name,m);printf("\n\n\t\tInputsix-numbercode:<>\b\b\b\b\b\b\b");scanf("%s",p);strcpy(card[k].word,p);card[k].flag=1;printf("\n\n\n\t\t********************Life!**********************\n\n");print_one(k);add();}}登陸模塊voidenter(){intk=-1;charh[20];if(n==0)printf("\n\n\t\t****************Makecardfirst*********************\n");else{printf("\n\n\tInputyourappliednumber:<\t\t\t>\b\b\b\b\b\b\b");scanf("%s",h);k=search(h);if(k==-1)printf("\n\n\t\t\t*****************Wrongnumber!****************\n");else{if(card[k].flag=0)printf("\n\n\t\t************LIFEFIRST!************\n");elsehedui(k);}}menu();}hedui(k):登陸信息。voidhedui(intk){intc=0,w3=0;charp[8];do{printf("\n\n\t\t*******Inputyourcode:<>\b\b\b\b\b\b\b");scanf("%s",p);}}if(strcmp(card[k].word,p)!=0){printf("\n\n\t\t********Wrongcode!**********\n");c++;continue;}else{printf("\n\n\t\t**********Rightcode!***********\n");w3=1;menu1(k);}}while(w3==0&&c<3);}子菜單設(shè)計(jì)如下:voidmenu1(intk){intv,w4;printf("\t\t\t\t1.Inquire\n");printf("\t\t\t\t2.Deposit\n");printf("\t\t\t\t3.fetch\n");printf("\t\t\t\t4.changecode\n");printf("\t\t\t\t5.backtomenu\n");printf("\n\n\t\t*********************************************\n");printf("Choiceyournumber(1--5):<>\b\b");scanf("%d",&v);if(v<1||v>5){w4=1;getchar();}elsew4=0;}while(w4==1);switch(v){case1:stat_one(k);break;case2:deposit(k);break;case3:fetch(k);break;case4:change(k);break;case5:menu();子模塊設(shè)計(jì)如下查詢模塊:voidstat_one(intk){printf("\n\n\t\t*************Operatesuccessfully!***************");print_one(k);menu1(k);}儲(chǔ)蓄模塊voiddeposit(intk){floata=0.00;printf("\n\n\t\tInputyouramount:<\t\t>\b\b\b\b\b\b\b\b\b\b\b");scanf("%f",&a);card[k].account+=a;printf("\n\n\t\t**********depositsuccessfully!***********");print_one(k);add();menu1(k);}消費(fèi)模塊:voidfetch(intk){floatb=0.00;printf("\n\n\t\tInputyouramount:<\t\t>\b\b\b\b\b\b\b\b\b\b\b");scanf("%f",&b);if(b>card[k].account)printf("\n\n\t\t**********Remainingsumisnotenough!*************");else{card[k].account-=b;card[k].integal=b;printf("\n\n\t\t**********Yourpatronage!***********");print_one(k);add();}menu1(k);}修改密碼模塊:voidchange(intk){chara[8],b[8];printf("\n\n\t\tInputnewsix-numbercode:<>\b\b\b\b\b\b\b");scanf("%s",a);printf("\n\t\tInputnewcodeagain:<>\b\b\b\b\b\b\b");scanf("%s",b);if(strcmp(a,b)==0){printf("\n\n\t\t**********Codechange!*************");add();}elseprintf("\n\n\t\tDifferentcodes,codechangefailed!");menu1(k);}報(bào)表模塊:voidbrowse(){inti;if(n==0)printf("\n\n\t\t**********Makecardfirst!***********");else{printf("\n\n\t\t*************Operatesuccessfully!**************\n");TOC\o"1-5"\h\zprintf("\n|||||||");printf("\n|NO.|name|ID|flag|account|integal|");printf("\n|||||||");for(i=0;i<n;i++)printf("\n|%4d|%20s|%20s|%4d|%10.2f|%10d|",card[i].number,card[i].name,card[i].ID,card[i].flag,card[i].account,card[i].integal);printf("\n|||||||");}menu();}3、公共函數(shù)(1)保存函數(shù)voidadd(){inti;FILE*fp;if((fp=fopen("score.txt","wb"))==NULL){printf("\t\tCannotopenthefile\n");return;}for(i=0;i<n;i++)if(fwrite(&card[i],sizeof(structcredicard),1,fp)!=1){{printf("\t\tFilewriteerror\n");return;}fclose(fp);printf("\n\n\n\t\t************Keep!!!************\n");}(2)查找函數(shù)intsearch(charh[20]){inti,k=-1;for(i=0;i<n;i++)if(strcmp(card[i].ID,h)==0)k=i;return(k);}五、運(yùn)行結(jié)果(1)主菜單2)制卡模塊:輸入卡號(hào)3)制卡成功11N0_:11N0_:iiii!name!IB1111111!flag-!accou.nt111111!integal1i0:■i111:***:0000011111111!9:9.0011111!01I"C:\Debug\Text1-eze"ickickjcmjcmjcmjcmjcmjckkkTliecardisnadet旦豪旦豪旦豪旦豪嵐賈嵐賈嵐賈嵐賈嵐賈嵐鳳宣鳳jcj(jcj(jcj(jcj(jcj(jcj(KeeP?t?mmKKKKKK|1FH[JKKKKKKKKKK)OC)OC)OC)OC)OCX1■card—nade2.card—1ife3■card—entev■card—lii'owse■exit
4)發(fā)卡模塊LdChioceyoupnumberChoiceyournuiniberCl-5>:4)發(fā)卡模塊LdChioceyoupnumberChoiceyournuiniberCl-5>:2]Inputyourappliednumber:<1.card-nadecard-lifecard-enter4.card-browse5-exit5)發(fā)卡成功6)登錄模塊000602>Clioiceyournumbep<l―5>InputyourappliednumberMMMMMMM000602>Clioiceyournumbep<l―5>InputyourappliednumberMMMMMMMlRpUtC□:<000000>J<HJ<HJ<HJ<HJ<HRigJltCOde?1-Inquire2.Depositfetchchangecode5.backtonenu11!N0_111iii11!N0_111iii!nane!ID1111111!£lAjf!Account111111!integal!1111!11■i111!lisi!0000021111111!0!200.00111111!0!11Inputnewsix-nunhercode:<000001>Inputnewcodeagain=<000001>jckjckjckjckjckCcidecliangefjcxjcxjcxjcxjcxjcxjc)(就)(就)(就)(就)(就)(就1(巳epfff就就就就就就就就就就就就XJCXJCXJCXJCXJCXJCXJCXJCXJCXJCXJCXJCXJCXJCXJCXJCXJCXJCXJCXJCXJCXJCX(ChuicE勺tjui*nunJjEFVi.一一5〉=V>7)儲(chǔ)蓄成功Inputspoufanount:<200jckjckjcmjcmjcjuIep訂sitsuccessfully!mmtxxxxxxxxxxxxKeep***xxxxxxmxxxxxxxxxxxxxxxxxxxxxHENUhxhxhxhxhxhxhxhxhxhx1■Inquire2.Deposit3.fetcli4.cliangecode5.baclbtomenuXlCXJCJtJCJtJCJtJCJtJCJtJCJtJCJtJCJtJCJtJCJtJCNJCNJCNJCNJCNJCNJCNJCNJCNJCNM:^Choic呂勺口ufnurnh呂丄一一£〉:V.>8)修改密碼9
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年不銹鋼宣傳欄工程設(shè)計(jì)與施工監(jiān)理合同6篇
- 二零二五年度凈水設(shè)備租賃與水質(zhì)凈化技術(shù)支持合同3篇
- 二零二五年度建筑工程施工合同全解析6篇
- 二零二五年度工廠搬遷及環(huán)境恢復(fù)合同2篇
- 二零二五年度大型物流倉(cāng)儲(chǔ)管理系統(tǒng)建設(shè)合同2篇
- 《手術(shù)室護(hù)士如何做》課件
- 2025年冀教新版八年級(jí)物理上冊(cè)階段測(cè)試試卷
- 2025年人教版PEP九年級(jí)生物上冊(cè)月考試卷
- 2025年牛津譯林版必修1物理上冊(cè)階段測(cè)試試卷
- 自主招聘工作人員報(bào)名表
- 2025年蛇年年度營(yíng)銷日歷營(yíng)銷建議【2025營(yíng)銷日歷】
- 2024年法律職業(yè)資格考試(試卷一)客觀題試卷及解答參考
- 食堂項(xiàng)目經(jīng)理培訓(xùn)
- 安全經(jīng)理述職報(bào)告
- 福建省泉州市2023-2024學(xué)年高一上學(xué)期期末質(zhì)檢英語(yǔ)試題 附答案
- 建筑項(xiàng)目經(jīng)理招聘面試題與參考回答(某大型集團(tuán)公司)2024年
- 安保服務(wù)評(píng)分標(biāo)準(zhǔn)
- (高清版)DB34∕T 1337-2020 棉田全程安全除草技術(shù)規(guī)程
- 部編版小學(xué)語(yǔ)文二年級(jí)上冊(cè)單元測(cè)試卷含答案(全冊(cè))
- 護(hù)理部年終總結(jié)
- 部編版三年級(jí)上冊(cè)語(yǔ)文語(yǔ)文期末質(zhì)量監(jiān)測(cè)(含答題卡)
評(píng)論
0/150
提交評(píng)論