購物卡標準管理系統(tǒng)_第1頁
購物卡標準管理系統(tǒng)_第2頁
購物卡標準管理系統(tǒng)_第3頁
購物卡標準管理系統(tǒng)_第4頁
購物卡標準管理系統(tǒng)_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

C語言課程設計報告班學號:193092姓名:馬幸佳指引教師:張冬梅日期:6月中華人民共和國地質(zhì)大學(武漢)計算機學院一、題目規(guī)定系統(tǒng)重要功能模塊:1,實現(xiàn)系統(tǒng)內(nèi)制卡,發(fā)卡功能。2,實現(xiàn)系統(tǒng)內(nèi)購物卡帳戶及有關帳戶管理。3,實現(xiàn)購物卡交易和合法性檢查。4,實現(xiàn)購物卡交易積分功能。5,實現(xiàn)購物卡報表功能。6,數(shù)據(jù)以文獻形式存儲。提示:制卡:指申請一種購物卡,但還沒有使用。發(fā)卡:指該卡已經(jīng)起用。實現(xiàn)卡交易:指從卡中消費掉一定金額。二、需求分析依照題目規(guī)定,由于購物卡信息是存儲在文獻中,因此應提供文獻輸入、輸出等操作;在程序中需瀏覽購物卡信息,應提供報表、查詢等操作;此外還應提供鍵盤式選取菜單實現(xiàn)功能選取。三、總體設計依照需求分析,可以將系統(tǒng)分為五大模塊:制卡、發(fā)卡、登陸、報表、積分。購物卡管理系統(tǒng)購物卡管理系統(tǒng)制卡模塊制卡模塊發(fā)卡模塊登錄模塊積分模塊報表模塊查詢儲蓄修改密碼消費四、詳細設計1、主函數(shù)將main()函數(shù)體內(nèi)界面選取某些語句單獨抽取出來作為一獨立函數(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、各功能模塊設計(1)制卡模塊【數(shù)據(jù)構(gòu)造】structcredicard{ intnumber; charname[20]; charID[20]; charword[8]; intflag; floataccount; intintegal;}card[M];/*card[M]中每個數(shù)組元素相應一種運動員信息*/【程序】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|----|--------------------|--------------------|----|----------|----------|");}(2)發(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(); }}(3)登陸模塊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"); else hedui(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);}子菜單設計如下:voidmenu1(intk){intv,w4;{ printf("\t\t*********************MENU********************\n\n"); 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(); }}子模塊設計如下查詢模塊:voidstat_one(intk){ printf("\n\n\t\t*************Operatesuccessfully!***************"); print_one(k); menu1(k);}儲蓄模塊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);}消費模塊: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(); } else printf("\n\n\t\tDifferentcodes,codechangefailed!"); menu1(k);}(4)報表模塊:voidbrowse(){inti;if(n==0) printf("\n\n\t\t**********Makecardfirst!***********");else{printf("\n\n\t\t*************Operatesuccessfully!**************\n");printf("\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;

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論