飯卡管理系統(tǒng)實(shí)訓(xùn)報(bào)告書(shū)_第1頁(yè)
飯卡管理系統(tǒng)實(shí)訓(xùn)報(bào)告書(shū)_第2頁(yè)
飯卡管理系統(tǒng)實(shí)訓(xùn)報(bào)告書(shū)_第3頁(yè)
飯卡管理系統(tǒng)實(shí)訓(xùn)報(bào)告書(shū)_第4頁(yè)
飯卡管理系統(tǒng)實(shí)訓(xùn)報(bào)告書(shū)_第5頁(yè)
已閱讀5頁(yè),還剩32頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、目錄第1部分 實(shí)訓(xùn)題目與要求11.問(wèn)題提出:12.功能要求:13.任務(wù)分工:1第2部分 設(shè)計(jì)實(shí)訓(xùn)題目功能21.總體設(shè)計(jì):22.算法設(shè)計(jì)33.數(shù)據(jù)結(jié)構(gòu)114.程序代碼設(shè)計(jì)115.測(cè)試與調(diào)試17main:17mycreate:18mybuy:18mysave:19myadd:19mydel:20mylost:20mydisplayall:21第3部分 實(shí)訓(xùn)總結(jié)211.個(gè)人總結(jié):212.結(jié)束語(yǔ):23附錄A 程序清單24附錄B 用戶使用說(shuō)明書(shū)37硬件和軟件要求:37使用方法:37注意事項(xiàng):37參考文獻(xiàn)37飯卡管理系統(tǒng)機(jī)密文件檔案一、實(shí)訓(xùn)題目與要求1. 問(wèn)題提出學(xué)校等大單位集體食堂買(mǎi)飯時(shí)間非常集中,這時(shí)

2、如果食堂使用飯票買(mǎi)飯,大家就得排長(zhǎng)隊(duì)等候,而且還有經(jīng)過(guò)先去買(mǎi)飯票等麻煩的經(jīng)歷。因此食堂提出使用計(jì)算機(jī)進(jìn)行管理,食堂用飯卡賣(mài)飯,不僅提高賣(mài)飯速度,還更易于管理減少不必要的麻煩,同時(shí)減輕工作人員的工作負(fù)擔(dān)。因此,用飯卡管理系統(tǒng)解決了這個(gè)問(wèn)題。2.功能要求重復(fù)顯示主菜單,在主菜單上選擇任意一項(xiàng),均實(shí)現(xiàn)相應(yīng)功能。在主菜單中選擇1,建立名為card.dat的文件,并在其中添加若干人的飯卡號(hào),金額,掛失信息,要求飯卡號(hào)唯一。在主菜單中選擇2,要求用戶輸入卡號(hào),飯費(fèi),然后系統(tǒng)自動(dòng)從該人的飯卡中減去飯錢(qián),。并顯示金額,如果飯卡中不足5元,則不能買(mǎi)飯,顯示“余額不足,請(qǐng)續(xù)錢(qián)!”,如果掛失信息為真,則顯示“本卡已

3、掛失!”。在主菜單中選擇3,要求用戶輸入飯卡號(hào),續(xù)錢(qián)額,續(xù)錢(qián)完成后分別顯示續(xù)錢(qián)前后的金額。在主菜單中選擇4,添加新飯卡,這時(shí)要求新飯卡號(hào)和以有的卡號(hào)不能重號(hào)。在主菜單中選擇5,注銷(xiāo)舊飯卡。在主菜單中選擇6,要求用戶輸入飯卡號(hào)和掛失信息,然后更新該飯卡的掛失信息。在主菜單中選擇7,此項(xiàng)功能學(xué)生自由發(fā)揮,根據(jù)本組愛(ài)好增加新功能。在主菜單中選擇0,顯示結(jié)束信息,按任意鍵后,退出本系統(tǒng)。3.任務(wù)分工組長(zhǎng):潘永培負(fù)責(zé)小組主程序的模塊設(shè)計(jì)和主函數(shù)的流程圖,以及myprint,mycreate兩個(gè)函數(shù)的算法設(shè)計(jì)和模塊流程圖,起到了領(lǐng)導(dǎo)與組織的較好作用。組員:余文宇負(fù)責(zé)小組程序的mybuy,mysave,my

4、add三個(gè)函數(shù)的算法設(shè)計(jì)和相應(yīng)模塊的流程圖。積極配合全組的工作,塌實(shí)肯干。組員:羅耀祖負(fù)責(zé)小組程序的mydel,mydlost,mydisplayall三個(gè)函數(shù)的算法設(shè)計(jì)和相應(yīng)模塊的流程圖。與其他兩位同學(xué)協(xié)作默契,認(rèn)真賣(mài)力。二、設(shè)計(jì)實(shí)訓(xùn)題目功能1. 總體設(shè)計(jì)圖1:主模塊圖2. 算法設(shè)計(jì)圖2:主流程圖圖3:函數(shù)mycreate流程圖圖4:函數(shù)mybuy流程圖圖5:函數(shù)mysave流程圖圖6:函數(shù)myadd流程圖圖7:函數(shù)mydelete流程圖圖8:函數(shù)mylost流程圖圖9:函數(shù)mydisplayall流程圖3.數(shù)據(jù)結(jié)構(gòu)名稱屬性長(zhǎng)度說(shuō)明numstring10卡號(hào)namestring10姓名mon

5、eyfloat金額gint2掛失信息4.程序代碼設(shè)計(jì)(1)函數(shù)main()主要用了switch語(yǔ)句switch(choose)case'1':mycreate();break; case'2':mybuy();break;case'3':mysave();break; case'4':myadd();break;case'5':mydel();break;case'6':mylost();break;case'7':mydisplayall();break;case'0

6、9;:exit(0);default:printf("n %c為非法選項(xiàng)!n",choose);(2)函數(shù) myprint()主要使用函數(shù)printf輸出(3)函數(shù)mycreate()主要使用do while和while語(yǔ)句實(shí)現(xiàn):printf("n 請(qǐng)輸入第一個(gè)記錄:n");printf(" 卡號(hào)(用#結(jié)束輸入):");dogets(temp.num);while(strcmp(temp.num,"")=0);printf(" 姓名(用#結(jié)束輸入):");gets();prin

7、tf(" 金額(用#結(jié)束輸入):");scanf("%f",&temp.money);printf(" 掛失信息(1有,-1無(wú))(用#結(jié)束輸入):");scanf("%d",&temp.g);while(temp.num0!='#')fprintf(fp,"%15s%15s%15f%15dn",temp.num,,temp.money,temp.g);i+;printf("n 請(qǐng)輸入第%d個(gè)記錄:n",i);printf(&q

8、uot; 卡號(hào)(用#結(jié)束輸入):");dogets(temp.num);while(strcmp(temp.num,"")=0);printf(" 姓名(用#結(jié)束輸入):");gets();printf(" 金額 (用#結(jié)束輸入):");scanf("%f",&temp.money);printf(" 掛失信息 (1有,-1無(wú))(用#結(jié)束輸入):");scanf("%d",&temp.g);(4)函數(shù)mybuy()主要使用if嵌套和

9、for循環(huán)實(shí)現(xiàn): if(n=0)("n 文件中無(wú)記錄!n");return;printf("n請(qǐng)輸入要買(mǎi)飯的學(xué)號(hào):");gets(temp.num);for(p=record;p<record+n;p+)if(strcmp(temp.num,p->num)=0)find=p;break; if(p=record+n)printf("n 無(wú)此卡!n");return;if(p->g=-1)printf("此卡已掛失n");return; else if(p->money<5.0) pri

10、ntf("不足5元,請(qǐng)續(xù)錢(qián)n"); return; if(p->money>5.0) printf("請(qǐng)輸入金額"); scanf("%f",&mtemp); if(p->money>mtemp) printf("Before:%f元n",(p->money); (p->money)=(p->money)-mtemp; printf("After:%f元n",(p->money); if(p->money<mtemp) prin

11、tf("金額不足,請(qǐng)續(xù)錢(qián)n"); return; fp=fopen("d:JiLu.dat","w");if(fp=NULL)printf("n 打開(kāi)文件失敗!n");return;(5)函數(shù)mysave()主要利用for循環(huán)和if嵌套:for(p=record;p<record+n;p+)if(strcmp(temp.num,p->num)=0)find=p;break;if(p=record+n)printf("n 無(wú)此卡!n");return;if(p->g=-1)pri

12、ntf("此卡已掛失n");return; printf("請(qǐng)輸入金額:"); scanf("%f",&mtemp); printf("Before:%f元n",(p->money); (p->money)=(p->money)+mtemp; printf("After:%f元n",(p->money);(6)函數(shù)myadd()主要使用do while和for循環(huán):doprintf("n 請(qǐng)輸入新添加的卡號(hào):");dogets(temp.num

13、);while(strcmp(temp.num,"")=0);printf("n 請(qǐng)輸入新添加的姓名: ");gets();printf("n 請(qǐng)輸入新添加的金額: ");scanf("%f",&temp.money);printf("n 請(qǐng)輸入新添加的掛失信息: ");scanf("%d",&temp.g);for(p=record;p<record+n;p+)if(strcmp(temp.num,p->num)=0)print

14、f("n 卡號(hào)重復(fù),要重新輸入嗎(Y/N)?");doc=getche();while(c!='Y'&&c!='y'&&c!='N'&&c!='n');putchar('n');break;if(p=record+n)*p=temp;break;while(c='y'|c='Y');(7)函數(shù)mydel()主要通過(guò)for和if打開(kāi)和寫(xiě)入文件:for(k=record;k<record+n;k+)if(strcm

15、p(tempnum,k->num)=0) break;if(k<record+n)for(p=k;p<k+n-1;p+)*p=*(p+1);else printf("n 無(wú)此卡!n");fp=fopen("d:JiLu.dat","w");if(fp=NULL)printf("n 打開(kāi)文件失敗!n");return;for(p=record;p<record+n-1;p+)fprintf(fp,"%15s%15s%15f%15dn",p->num,p->nam

16、e,&(p->money),&(p->g);(8)函數(shù)mylost()主要使用while、if、for 修改信息:while(feof(fp)=0)fscanf(fp,"%15s%15s%15f%15dn",p->num,p->name,&p->money,&p->g);p+;n+;fclose(fp);if(n=0)printf("n 文件中無(wú)記錄!n");return;printf("n 請(qǐng)輸入要修改掛失信息的卡號(hào):");gets(temp.num);for(p=

17、record;p<record+n;p+)if(strcmp(temp.num,p->num)=0)find=p;break;if(p=record+n)printf("n 無(wú)此卡!n");return;printf(" 請(qǐng)輸入掛失信息:");scanf("%d",&p->g);(9)函數(shù)mydisplayall()主要通過(guò)printf和while輸出信息:printf(" 卡號(hào) 姓名 金額 掛失信息n");while(feof(fp)=0)fscanf(fp,"%15s%15s

18、%15f%15dn",temp.num,,&temp.money,&temp.g);printf("%15s%15s%15f%15dn",temp.num,,temp.money,temp.g);n+;if(n=0) printf("n 文件中無(wú)記錄!n");else printf("n 文件中共有%d個(gè)記錄!n",n);注:完整程序請(qǐng)參見(jiàn)附錄A 5.測(cè)試與調(diào)試Main:測(cè)試數(shù)據(jù)類型測(cè)試數(shù)據(jù)預(yù)期結(jié)果實(shí)測(cè)結(jié)果合法數(shù)據(jù)1調(diào)用mycreate成功調(diào)用2調(diào)用mybuy成功調(diào)用3調(diào)用

19、mysave成功調(diào)用4調(diào)用myadd成功調(diào)用5調(diào)用mydel成功調(diào)用6調(diào)用mylost成功調(diào)用7調(diào)用mydisplayall成功調(diào)用0結(jié)束 結(jié)束N或n按任意鍵退出按任意鍵退出Y或y返回主菜單返回主菜單非法數(shù)據(jù)9顯示“9為非法選項(xiàng)”顯示“9為非法選項(xiàng)”mycreate:測(cè)試數(shù)據(jù)類型測(cè)試數(shù)據(jù)預(yù)期結(jié)果實(shí)測(cè)結(jié)果合法數(shù)據(jù)輸入卡號(hào):1輸入卡號(hào)輸入卡號(hào)輸入姓名:小李輸入姓名輸入姓名輸入金額:100輸入金額輸入金額輸入掛失信息:1輸入掛失信息輸入掛失信息N或n按任意鍵退出按任意鍵退出Y或y返回主菜單返回主菜單非法數(shù)據(jù)輸入金額:a無(wú)法輸入無(wú)法輸入輸入掛失信息:a無(wú)法輸入無(wú)法輸入mybuy:測(cè)試數(shù)據(jù)類型測(cè)試數(shù)據(jù)預(yù)

20、期結(jié)果實(shí)測(cè)結(jié)果合法數(shù)據(jù)輸入買(mǎi)飯卡號(hào)1顯示“輸入金額”顯示“輸入金額”輸入卡號(hào)99顯示“無(wú)此卡”顯示“無(wú)此卡”輸入卡號(hào)1金額1顯示余額99元顯示余額99輸入卡號(hào)1金額99顯示余額1元,金額不足五元,請(qǐng)續(xù)錢(qián)顯示余額1元,金額不足五元,請(qǐng)續(xù)錢(qián)輸入卡號(hào)1金額101顯示“金額不足,請(qǐng)續(xù)錢(qián)”顯示“金額不足,請(qǐng)續(xù)錢(qián)”輸入卡號(hào)2顯示“此卡已掛失”顯示“此卡已掛失”“N”or”n”按任意鍵退出按任意鍵退出“Y”or”y”返回主菜單返回主菜單非法數(shù)據(jù)輸入卡號(hào) a顯示“無(wú)此卡”顯示“無(wú)此卡”輸入卡號(hào)1金額a顯示無(wú)意義數(shù)字顯示無(wú)意義數(shù)字mysave:測(cè)試數(shù)據(jù)類型測(cè)試數(shù)據(jù)預(yù)期結(jié)果實(shí)測(cè)結(jié)果合法數(shù)據(jù)輸入續(xù)費(fèi)卡號(hào)1顯示“輸入

21、金額”顯示“輸入金額”輸入續(xù)費(fèi)卡號(hào)1金額1顯示余額101顯示余額101輸入續(xù)費(fèi)卡號(hào)2顯示” 此卡已掛失”顯示” 此卡已掛失”輸入續(xù)費(fèi)卡號(hào)99顯示“無(wú)此卡”顯示“無(wú)此卡”“N”or”n”按任意鍵退出按任意鍵退出“Y”or”y”返回主菜單返回主菜單非法數(shù)據(jù)輸入續(xù)費(fèi)卡號(hào)a顯示“無(wú)此卡”顯示“無(wú)此卡”輸入續(xù)費(fèi)卡號(hào)1金額a顯示無(wú)意義數(shù)字顯示無(wú)意義數(shù)字myadd:測(cè)試數(shù)據(jù)類型測(cè)試數(shù)據(jù)預(yù)期結(jié)果實(shí)測(cè)結(jié)果合法數(shù)據(jù)輸入卡號(hào):2輸入卡號(hào)輸入卡號(hào)輸入姓名:小王輸入姓名輸入姓名輸入金額:200輸入金額輸入金額輸入掛失信息:-1輸入掛失信息輸入掛失信息N或n按任意鍵退出按任意鍵退出Y或y返回主菜單返回主菜單非法數(shù)據(jù)輸入金

22、額:a無(wú)法輸入無(wú)法輸入輸入掛失信息:a無(wú)法輸入無(wú)法輸入mydel:測(cè)試數(shù)據(jù)類型測(cè)試數(shù)據(jù)預(yù)期結(jié)果實(shí)測(cè)結(jié)果合法數(shù)據(jù)輸入卡號(hào):1刪除飯卡1刪除飯卡1輸入卡號(hào):3無(wú)此卡無(wú)此卡N或n按任意鍵退出按任意鍵退出Y或y返回主菜單返回主菜單非法數(shù)據(jù)輸入卡號(hào):a無(wú)法輸入無(wú)此卡mylost:測(cè)試數(shù)據(jù)類型測(cè)試數(shù)據(jù)預(yù)期結(jié)果實(shí)測(cè)結(jié)果合法數(shù)據(jù)輸入卡號(hào)1掛失信息-1卡1掛失卡1掛失輸入卡號(hào)2掛失信息1卡2解除掛失卡2解除掛失“N”or”n”按任意鍵退出按任意鍵退出“Y”or”y”返回主菜單返回主菜單非法數(shù)據(jù)輸入卡號(hào)a顯示“無(wú)此卡”顯示“無(wú)此卡”輸入卡號(hào)1掛失信息3掛失信息無(wú)意義掛失信息無(wú)意義輸入卡號(hào)1掛失信息a掛失信息不變掛

23、失信息不變mydisplayall:測(cè)試數(shù)據(jù)類型測(cè)試數(shù)據(jù)預(yù)期結(jié)果實(shí)測(cè)結(jié)果合法數(shù)據(jù)N或n按任意鍵退出按任意鍵退出Y或y返回主菜單返回主菜單2.結(jié)束語(yǔ)這次實(shí)訓(xùn)非常的感謝指導(dǎo)老師對(duì)我們的幫助,還有同學(xué)們放棄自己的任務(wù)來(lái)幫我們改錯(cuò)。在這里我們組謝謝各位幫助過(guò)我們的人,特別是指導(dǎo)老師對(duì)我們幫助才使我們順利地完成任務(wù)。附錄1 程序清單#include<stdio.h>#include<string.h>#include<conio.h>#include<stdlib.h>#define N 100struct card char num10; char na

24、me10;float money;int g;void myprint();void mycreate();void mybuy();void mysave();void myadd();void mydel();void mylost();void mydisplayall();void main()char choose='0',yes_no='0'domyprint();printf(" ");choose=getch();switch(choose)case'1':mycreate();break; /*創(chuàng)建*/cas

25、e'2':mybuy();break; /*買(mǎi)飯*/case'3':mysave();break; /*續(xù)錢(qián)*/case'4':myadd();break; /*添加*/case'5':mydel();break; /*注銷(xiāo)*/case'6':mylost();break; /*掛失*/case'7':mydisplayall();break;/*顯示全部*/case'0':exit(0);default:printf("n %c為非法選項(xiàng)!n",choose);

26、printf("n 要繼續(xù)選擇嗎(Y/N)?n");doyes_no=getche();while(yes_no!='Y'&&yes_no!='y'&&yes_no!='N'&&yes_no!='n');while(yes_no='Y'|yes_no='y');void myprint() /*顯示菜單界面*/system("cls"); /*調(diào)用清屏函數(shù)。若在TC下運(yùn)行,改用clrscr()*/printf(&

27、quot; |-|n");printf(" | 請(qǐng)輸入選項(xiàng)編號(hào)(0-7): |n");printf(" |-|n");printf(" | 1- 創(chuàng)建飯卡 |n");printf(" | 2- 買(mǎi)飯 |n");printf(" | 3- 續(xù)錢(qián) |n");printf(" | 4- 添加新飯卡 |n");printf(" | 5- 注銷(xiāo)舊飯卡 |n");printf(" | 6- 設(shè)置與解除掛失 |n");printf(&quo

28、t; | 7- 顯示全部信息 |n");printf(" | 0- 退出 |n");printf(" |-|n");void mycreate() /*定義創(chuàng)建飯卡的函數(shù)*/int i=1;struct card temp =0;FILE * fp=NULL; fp=fopen("d:JiLu.dat","w");if (fp=NULL)printf("n 打開(kāi)文件夾失?。"); return;system("cls"); /*調(diào)用清屏函數(shù)。若在TC下運(yùn)行,改用c

29、lrscr()*/printf("n 請(qǐng)輸入第一個(gè)記錄:n");printf(" 卡號(hào)(用#結(jié)束輸入):");dogets(temp.num);while(strcmp(temp.num,"")=0);printf(" 姓名(用#結(jié)束輸入):");gets();printf(" 金額(用#結(jié)束輸入):");scanf("%f",&temp.money);printf(" 掛失信息(1有,-1無(wú))(用#結(jié)束輸入):");scanf(

30、"%d",&temp.g);while(temp.num0!='#')fprintf(fp,"%15s%15s%15f%15dn",temp.num,,temp.money,temp.g);i+;printf("n 請(qǐng)輸入第%d個(gè)記錄:n",i);printf(" 卡號(hào)(用#結(jié)束輸入):");dogets(temp.num);while(strcmp(temp.num,"")=0);printf(" 姓名(用#結(jié)束輸入):");get

31、s();printf(" 金額(用#結(jié)束輸入):");scanf("%f",&temp.money);printf(" 掛失信息(1有,-1無(wú))(用#結(jié)束輸入):");scanf("%d",&temp.g);fclose(fp);void mybuy() /*定義買(mǎi)飯的函數(shù)*/char c='0'int n=0;float mtemp;struct card*find=NULL,temp=0,record100=0,*p=NULL;FILE*fp=NULL; ffl

32、ush(stdin);fp=fopen("d:JiLu.dat","r");if(fp=NULL)printf("n 打開(kāi)文件失敗!n");return;p=record;while(feof(fp)=0)fscanf(fp,"%15s%15s%15f%15dn",p->num,p->name,&p->money,&p->g);p+;n+;fclose(fp);if(n=0)("n 文件中無(wú)記錄!n");return;printf("n請(qǐng)輸入要買(mǎi)

33、飯的學(xué)號(hào):");gets(temp.num);for(p=record;p<record+n;p+)if(strcmp(temp.num,p->num)=0)find=p;break;if(p=record+n)printf("n 無(wú)此卡!n");return;if(p->g=-1)printf("此卡已掛失n");return;elseif(p->money<5.0) printf("不足5元,請(qǐng)續(xù)錢(qián)n");return;if(p->money>5.0) printf("

34、請(qǐng)輸入金額");scanf("%f",&mtemp);if(p->money>mtemp) printf("Before:%f元n",(p->money);(p->money)=(p->money)-mtemp;printf("After:%f元n",(p->money);if(p->money<mtemp) printf("金額不足,請(qǐng)續(xù)錢(qián)n");return;fp=fopen("d:JiLu.dat","w"

35、;);if(fp=NULL)printf("n 打開(kāi)文件失敗!n");return;for(p=record;p<record+n;p+)fprintf(fp,"%15s%15s%15f%15dn",p->num,p->name,p->money,p->g);fclose(fp);void mysave() /*定義續(xù)錢(qián)的函數(shù)*/char c='0'int n=0;float mtemp;struct card*find=NULL,temp=0,record100=0,*p=NULL;FILE*fp=NULL

36、; fflush(stdin);fp=fopen("d:JiLu.dat","r");if(fp=NULL)printf("n 打開(kāi)文件失敗!n");return;p=record;while(feof(fp)=0)fscanf(fp,"%15s%15s%15f%15dn",p->num,p->name,&p->money,&p->g);p+;n+;fclose(fp);printf("n請(qǐng)輸入要續(xù)費(fèi)的卡號(hào):");gets(temp.num);for(p=

37、record;p<record+n;p+)if(strcmp(temp.num,p->num)=0)find=p;break;if(p=record+n)printf("n 無(wú)此卡!n");return;if(p->g=-1)printf("此卡已掛失n");return;printf("請(qǐng)輸入金額:");scanf("%f",&mtemp);printf("Before:%f元n",(p->money);(p->money)=(p->money)+m

38、temp;printf("After:%f元n",(p->money);fp=fopen("d:JiLu.dat","w");if(fp=NULL)printf("n 打開(kāi)文件失敗!n");return;for(p=record;p<record+n;p+)fprintf(fp,"%15s%15s%15f%15dn",p->num,p->name,p->money,p->g);fclose(fp);void myadd() /*定義添加新飯卡的函數(shù)*/char

39、 c='0'int n=0;struct card temp=0,recordN=0,*p=NULL;FILE * fp=NULL; fflush(stdin);fp=fopen("d:JiLu.dat","r");if(fp=NULL)printf("n 打開(kāi)文件失敗!n ");p=record;while(feof(fp)=0)fscanf(fp,"%15s%15s%15f%15dn",p->num,p->name,&(p->money),&(p->g);

40、p+;n+;fclose(fp);doprintf("n 請(qǐng)輸入新添加的卡號(hào):");dogets(temp.num);while(strcmp(temp.num,"")=0);printf("n 請(qǐng)輸入新添加的姓名: ");gets();printf("n 請(qǐng)輸入新添加的金額: ");scanf("%f",&temp.money);printf("n 請(qǐng)輸入新添加的掛失信息: ");scanf("%d",&temp.g);

41、for(p=record;p<record+n;p+)if(strcmp(temp.num,p->num)=0)printf("n 卡號(hào)重復(fù),要重新輸入嗎(Y/N)?");doc=getche();while(c!='Y'&&c!='y'&&c!='N'&&c!='n');putchar('n');break;if(p=record+n)*p=temp;break;while(c='y'|c='Y');f

42、p=fopen("d:JiLu.dat","w");if(fp=NULL)printf("n 打開(kāi)文件失??!n");return;for(p=record;p<record+n+1;p+)fprintf(fp,"%15s%15s%15f%15dn",p->num,p->name,(p->money),(p->g);fclose(fp);void mydel() /*定義注銷(xiāo)飯卡的函數(shù)*/char tempnum8=""int n=0;struct card reco

43、rdN=0,*p=NULL,*k=NULL;FILE*fp=NULL; fflush(stdin);fp=fopen("d:JiLu.dat","r");if(fp=NULL)printf("n 打開(kāi)文件失敗!n");return;p=record;while(feof(fp)=0)fscanf(fp,"%15s%15s%15f%15dn",p->num,p->name,&p->money,&p->g);p+;n+;fclose(fp);printf("n 請(qǐng)輸入要

44、注銷(xiāo)的卡號(hào):");gets(tempnum);for(k=record;k<record+n;k+)if(strcmp(tempnum,k->num)=0) break;if(k<record+n)for(p=k;p<k+n-1;p+)*p=*(p+1);else printf("n 無(wú)此卡!n");fp=fopen("d:JiLu.dat","w");if(fp=NULL)printf("n 打開(kāi)文件失敗!n");return;for(p=record;p<record+n

45、-1;p+)fprintf(fp,"%15s%15s%15f%15dn",p->num,p->name,p->money,p->g);fclose(fp);void mylost() /* 定義修改掛失信息的函數(shù)*/char c='0'int n=0;struct card *find=NULL,temp=0,record100=0,*p=NULL;FILE*fp=NULL; fflush(stdin);fp=fopen("d:JiLu.dat","r");if(fp=NULL)printf("n 打開(kāi)文件失敗!n");return;p=record;while(feof(fp)=0)fscanf(fp,"%15s%15s%15f%15dn",p->num,p->name,&p->money,&p->g);p+;n+;fclose(fp);if(n=0)printf("n 文件中無(wú)記錄!n");return;printf("n

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論