版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、附件1:學(xué)號(hào):課程設(shè)計(jì)題目會(huì)員卡計(jì)費(fèi)系統(tǒng)學(xué)院計(jì)算機(jī)科學(xué)與信息工程學(xué)院專業(yè)計(jì)算機(jī)科學(xué)與技術(shù)班級(jí)計(jì)算機(jī)學(xué)生姓名指導(dǎo)教師2015年12月29日重慶工商大學(xué)課程設(shè)計(jì)成績評(píng)定表學(xué)院:計(jì)信學(xué)院班級(jí):計(jì)算機(jī)3班學(xué)生姓名學(xué)號(hào)項(xiàng)目分值優(yōu)秀(100 x90)良好(90 x80)中等(80 x270)及格(70 x260)不及格(xname1cardID1ID1balance1;card*p;for(p=nextp;p!=NULL;p=p-nextp)if(!strcmp(cardID1,p-cardID)cout添加失敗,卡號(hào)重復(fù)endl;x+;if(!strcmp(ID1,p-ID)cout添加失敗,身份證號(hào)重
2、復(fù)endl;x+;if(x=0)card*q1;q1=newcard;q1-nextp=nextp;nextp=q1;strcpy(q1-name,name1);strcpy(q1-cardID,cardID1);strcpy(q1-ID,ID1);q1-balance=balance1;SYSTEMTIMEm_time;GetLocalTime(&m_time);q1-t.year=m_time.wYear;q1-t.mouth=m_time.wMonth;q1-t.day=m_time.wDay;s3:cout是否繼續(xù)添加:1.繼續(xù),2.返回endl;cinn;if(n=2)break;e
3、lseif(n!=1)cout選擇錯(cuò)誤,請(qǐng)重新選擇endl;gotos3;二會(huì)員顯示函數(shù)voidcard:change()/修改函數(shù)chara9;charb19;intm;cout請(qǐng)輸入卡號(hào)endl;cina;card*p;for(p=nextp;p!=NULL;p=p-nextp)if(!strcmp(a,p-cardID)break;if(p=NULL)cout沒有查找到endl;return;showone(p);s5:cout需要改哪一項(xiàng)?m;switch(m)case1:cout請(qǐng)輸入修改的卡號(hào)endl;cinb;strcpy(p-cardID,b);break;case2:cout
4、請(qǐng)輸入修改的姓名endl;cinb;strcpy(p-name,b);break;case3:cout請(qǐng)輸入修改的身份證號(hào)endl;cinb;strcpy(p-ID,b);break;default:cout請(qǐng)輸入l-3endl;gotos5;voidcard:seekCardID()/查詢卡號(hào)函數(shù)chara9;cout請(qǐng)輸入卡號(hào)endl;cina;card*p;for(p=nextp;p!=NULL;p=p-nextp)if(!strcmp(a,p-cardID)break;if(p=NULL)cout沒有查找到endl;return;showone(p);三退卡函數(shù)voidcard:ret
5、urnCard()/退卡函數(shù)chara9;intm;s6:cout請(qǐng)輸入卡號(hào)endl;cina;card*p;for(p=nextp;p!=NULL;p=p-nextp)if(!strcmp(a,p-cardID)break;if(p=NULL)cout沒有查找到,請(qǐng)重新輸入endl;gotos6;showone(p);s7:cout確認(rèn)刪除?1.確認(rèn),2取消。endl;cinm;if(m=1)cardDelete(a);elseif(m=2)cout已成功取消endl;return;elsecout確認(rèn)錯(cuò)誤,請(qǐng)重新輸入endl;gotos7;四查詢函數(shù)voidcard:seekCardID(
6、)/查詢卡號(hào)函數(shù)chara9;cout請(qǐng)輸入卡號(hào)endl;cina;card*p;for(p=nextp;p!=NULL;p=p-nextp)if(!strcmp(a,p-cardID)break;if(p=NULL)cout沒有查找到endl;return;showone(p);voidcard:seekName()/精確姓名查詢chara17;cout請(qǐng)輸入姓名endl;cina;card*p;for(p=nextp;p!=NULL;p=p-nextp)if(!strcmp(a,p-name)break;if(p=NULL)cout沒有查找到endl;return;showone(p);v
7、oidcard:seekName2()/模糊姓名查詢chara17;cout請(qǐng)輸入模糊姓名endl;cina;card*p;for(p=nextp;p!=NULL;p=p-nextp)if(strstr(p-name,a)break;if(p=NULL)cout沒有查找到endl;return;showone(p);voidcard:seekID()/身份證查詢chara19;cout請(qǐng)輸入身份證號(hào)endl;cina;card*p;for(p=nextp;p!=NULL;p=p-nextp)if(!strcmp(a,p-ID)break;if(p=NULL)cout沒有查找到endl;retu
8、rn;showone(p);五排序函數(shù)voidcard:insertSort()/插入排序card*p1;card*p2;card*p3;card*p4;if(this-nextp!=NULL&this-nextp-nextp!=NULL)p1=this;p2=this-nextp;p3=p2-nextp;p2-nextp=NULL;while(p3!=NULL)p4=p3-nextp;while(p2!=NULL&strcmp(p3-cardID,p2-cardID)0)p1=p2;p2=p2-nextp;p1-nextp=p3;p3-nextp=p2;p1=this;p2=this-nex
9、tp;p3=p4;elsereturn;voidcard:insertSortTotal()/插入排序消費(fèi)總額card*p1;card*p2;card*p3;card*p4;if(this-nextp!=NULL&this-nextp-nextp!=NULL)p1=this;p2=this-nextp;p3=p2-nextp;p2-nextp=NULL;coutcout充值成功endl;while(p3!=NULL)p4=p3-nextp;while(p2!=NULL&p3-totaltotal)p1=p2;p2=p2-nextp;p1-nextp=p3;p3-nextp=p2;p1=this
10、;p2=this-nextp;p3=p4;elsereturn;六顯示會(huì)員卡voidcard:show()/會(huì)員卡全部顯示函數(shù)coutnextp)coutp-cardIDsetw(6)p-namep-IDp-t.year年p-t.mouth月p-t.day日setw(3)p-balancesetw(6)p-totalp-gendl;七續(xù)費(fèi)函數(shù)voidcard:cardRecharge()/續(xù)費(fèi)函數(shù)chara9;/輸入卡號(hào)intm;/判斷數(shù)intmoney;/續(xù)費(fèi)金額s6:cout請(qǐng)輸入卡號(hào)endl;cina;card*p;for(p=nextp;p!=NULL;p=p-nextp)if(!st
11、rcmp(a,p-cardID)break;if(p=NULL)cout沒有查找到,請(qǐng)重新輸入endl;gotos6;showone(p);cout請(qǐng)輸入充值金額endl;cinmoney;s7:cout確認(rèn)充值?1.確認(rèn),2取消endl;cinm;if(m=1)p-balance+=money;coutcout沒有查找到,請(qǐng)重新輸入endl;elseif(m=2)cout已取消endl;return;elsecout確認(rèn)錯(cuò)誤,請(qǐng)重新輸入a;card*p;for(p=nextp;p!=NULL;p=p-nextp)if(!strcmp(a,p-cardID)break;if(p=NULL)go
12、tos6;showone(p);cout商品名價(jià)格數(shù)量endl;cinthingsmoneynum;if(p-balance+p-total)1000)money=money*0.9;if(p-g=1)cout該卡已被掛失,無法消費(fèi)endl;return;if(p-balance-num*money0)cout該卡余額不足,消費(fèi)失敗endl;return;buy*q2;q2=newbuy;q2-next=p-q-next;p-q-next=q2;strcpy(q2-things,things);q2-num=num;q2-money=money;p-balance=p-balance-num*
13、money;p-n+;p-total=p-total+num*money;SYSTEMTIMEm_time;GetLocalTime(&m_time);q2-t1.year=m_time.wYear;coutcout掛失成功endl;q2-t1.mouth=m_time.wMonth;q2-t1.day=m_time.wDay;cout購買成功endl;九掛失,解掛失,補(bǔ)辦會(huì)員卡函數(shù)。voidcard:cardLost()/掛失函數(shù)chara9;/輸入卡號(hào)intm;/判斷數(shù)s6:cout請(qǐng)輸入卡號(hào)endl;cina;card*p;for(p=nextp;p!=NULL;p=p-nextp)if
14、(!strcmp(a,p-cardID)break;if(p=NULL)cout沒有查找到,請(qǐng)重新輸入endl;gotos6;showone(p);s7:cout確認(rèn)掛失?1.確認(rèn),2取消endl;cinm;if(m=1)p-g=1;elseif(m=2)cout已取消endl;return;elsecout確認(rèn)錯(cuò)誤,請(qǐng)重新輸入a;card*p;for(p=nextp;p!=NULL;p=p-nextp)if(!strcmp(a,p-cardID)break;if(p=NULL)cout沒有查找到,請(qǐng)重新輸入endl;gotos6;showone(p);s7:cout確認(rèn)解掛失?1.確認(rèn),2取
15、消endl;cinm;if(m=1)p-g=0;cout解掛失成功endl;elseif(m=2)cout已取消endl;return;elsecout確認(rèn)錯(cuò)誤,請(qǐng)重新輸入endl;gotos7;voidcard:cardchange()/補(bǔ)卜辦會(huì)員卡chara9;card*q1;intx=0;s6:cout請(qǐng)輸入卡號(hào)endl;cina;card*p;for(p=nextp;p!=NULL;p=p-nextp)if(!strcmp(a,p-cardID)break;if(p=NULL)cout沒有查找到,請(qǐng)重新輸入endl;gotos6;showone(p);sl3:cout請(qǐng)輸入新的卡號(hào)en
16、dl;cina;for(q1=nextp;q1!=NULL;q1=p-nextp)if(!strcmp(a,q1-cardID)cout添加失敗,卡號(hào)重復(fù)endl;x+;if(x!=0)gotos13;strcpy(p-cardID,a);十消費(fèi)查詢函數(shù)voidcard:showBuy()/顯示購買函數(shù)chara9;buy*q1;s6:cout請(qǐng)輸入卡號(hào)endl;cina;card*p;for(p=nextp;p!=NULL;p=p-nextp)if(!strcmp(a,p-cardID)break;if(p=NULL)cout沒有查找到,請(qǐng)重新輸入endl;gotos6;q1=p-q;cou
17、t商品名價(jià)格數(shù)量購買時(shí)間endl;for(q1=q1-next;q1!=NULL;q1=q1-next)coutsetw(8)q1-thingssetw(4)q1-moneysetw(2)ql-nump-t.year年p-t.mouth月p-t.day日endl;十一.文件讀取函數(shù)voidcard:fileRead()/讀取文件函數(shù)FILE*fp;if(fp=fopen(data.txt,r)puts(打開文件成功);elseputs(打開文件成敗);card*p;dop=newcard;p-nextp=nextp;nextp=p;fscanf(fp,%s,&p-name);fscanf(fp
18、,%s,&p-cardID);fscanf(fp,%d,&p-t.year);fscanf(fp,%d,&p-t.mouth);fscanf(fp,%d,&p-t.day);fscanf(fp,%s,&p-ID);fscanf(fp,%d,&p-balance);fscanf(fp,%d,&p-g);fscanf(fp,%d,&p-total);fgetc(fp);fscanf(fp,%d,&p-n);p-q=newbuy;p-q-next=NULL;for(inti=0;p-ni;i+)buy*p2;p2=newbuy;p2-next=p-q-next;p-q-next=p2;fscanf(
19、fp,%d,&p2-t1.year);fscanf(fp,%d,&p2-t1.mouth);fscanf(fp,%d,&p2-t1.day);fscanf(fp,%s,&p2-things);fscanf(fp,%d,&p2-money);fscanf(fp,%d,&p2-num);while(fgetc(fp)!=EOF);fclose(fp);cout讀取文件成功endl;十二.文件保存函數(shù)voidcard:fileWrite()/文件保存函數(shù)FILE*fp;if(fp=fopen(data.txt,w)puts(打開文件成功);elseputs(打開文件成敗);card*p;for(p=
20、nextp;p!=NULL;p=p-nextp)if(p-nextp=NULL)fprintf(fp,%s,p-name);fprintf(fp,%s,p-cardID);fprintf(fp,%d,p-t.year);fprintf(fp,%d,p-t.mouth);fprintf(fp,%d,p-t.day);fprintf(fp,%s,p-ID);fprintf(fp,%d,p-balance);fprintf(fp,%d,p-g);fprintf(fp,%dn,p-total);if(p-n0)fprintf(fp,%dn,p-n);elsefprintf(fp,%d,p-n);if(
21、p-n0)buy*q1;for(q1=p-q-next;q1!=NULL;q1=q1-next)fprintf(fp,%d,q1-t1.year);fprintf(fp,%d,q1-t1.mouth);fprintf(fp,%d,q1-t1.day);fprintf(fp,%s,q1-things);fprintf(fp,%d,q1-money);if(q1-next=NULL)fprintf(fp,%d,q1-num);elsefprintf(fp,%dn,q1-num);elsefprintf(fp,%s,p-name);fprintf(fp,%s,p-cardID);fprintf(fp
22、,%d,p-t.year);fprintf(fp,%d,p-t.mouth);fprintf(fp,%d,p-t.day);fprintf(fp,%s,p-ID);fprintf(fp,%d,p-balance);fprintf(fp,%d,p-g);fprintf(fp,%dn,p-total);fprintf(fp,%dn,p-n);if(p-n0)buy*q1;for(q1=p-q-next;q1!=NULL;q1=q1-next)fprintf(fp,%d,q1-t1.year);fprintf(fp,%d,q1-t1.mouth);fprintf(fp,%d,q1-t1.day);f
23、printf(fp,%s,q1-things);fprintf(fp,%d,q1-money);fprintf(fp,%dn,q1-num);fclose(fp);cout文件儲(chǔ)存成功endl;十三.管理員文件讀取,保存voidmanagerRead(managerList&L)/管理者文件讀取FILE*fp;L.length=0;inti=0;if(fp=fopen(password.in,r)puts(打開文件成功);elseputs(打開文件成敗);dofscanf(fp,%s,&L.ai.usename);fscanf(fp,%s,&L.ai.password);L.length+;L
24、.ai.id=L.length;i+;while(fgetc(fp)!=EOF);fclose(fp);voidmanagerWrite(managerList&L)/管理員文件保存FILE*fp;inti;if(fp=fopen(password.in,w)puts(打開文件成功);elseputs(打開文件成敗);for(i=0;iusename1;s2:cout請(qǐng)輸入密碼endl;cinpassword1;for(i=0;iL.length;i+)if(strcmp(L.ai.usename,usename1)=0)break;if(i=L.length)cout無該用戶名,請(qǐng)重新輸入e
25、ndl;gotos1;if(strcmp(L.ai.password,password1)!=0)cout密碼錯(cuò)誤,請(qǐng)重新輸入密碼endl;gotos2;cout密碼正確,歡迎使用本系統(tǒng)endl;returni;四測試結(jié)果1.初始界面LJg慄桎詩計(jì)疋畑2輸入最高權(quán)限管理員進(jìn)行測試WVJpOTiSwA譽(yù)理員名cliclievin請(qǐng)輸人密袒1234E6密碼正確燙迎使用本糸疣下冇1006000110000003100600041006000510060006100000021S000S00WJCKKWJCKKWJCJCKKJCJCKKJCJCKKJCKKXJCKIK請(qǐng)選擇U-4J3.測試會(huì)員卡添加6
26、7013S丁可1823212124181750002323434343434350993419983473284730034588894593935837487545484545454550023611955548053&500232323232323232555555555555555555-2015122015年比月2015年12月2015年比月2015年12月2015年比月2015年12月余額230230130502302500歷史消費(fèi)6掛失6565656該操作會(huì)自動(dòng)調(diào)用把辦卡時(shí)間取系統(tǒng)當(dāng)前時(shí)間。4.測試會(huì)員卡修改。5.測試退卡。-召乍.4-宀I退卡九去詢合員卡顯.J、全口墜員F返回上一
27、塚慎選擇操作(1-?)籍輸入卡號(hào)10001000710000007皆冃旃認(rèn)刪涂?1.確認(rèn).縣佇證=汪卅時(shí)間5093430S020293939320161月3H金敎才史獵發(fā)掛矢100096.測試查詢會(huì)員卡。7測試排序。33韓作T-C卡號(hào)lUMUMkJIdM1009096210090361100909631胴靦胴4100胴胴耳10030366魏舉囂員忘操柞身份證W辭殆蟄曲障昭翻昭酸50023232323232323250002323434343434350993419J834732B47n4RSSRS4F9191FR374H44H44牙4R4B506236119555480536I:-吊fr-采辛
28、充:l汪冊師2015年201弓年12201弓年12201弓年12.2015年1221201石年12月刃201.舟12月24空月燈1818230_u2fl12007008.測試會(huì)員卡顯示。A.n|藝E卞卡W1S0S0O0O160S0O021S0SOO011S0S0O031S0SOO04160600051600OO0G(1一7)魏浩軍9.測試?yán)m(xù)費(fèi)操作。先哇0000130身悅證號(hào)222222222222222222500232322232323232500023234343434343509934199834328473003458889459393E8374B7545484545454550023
29、S11955548053G-“m*(會(huì)員卡系統(tǒng)遼冊時(shí)間20151217201512182015121820151223201512212015122120151224余額02502602Q&160502Q0歷史消費(fèi)1007000000:扶0000000;譚程設(shè)計(jì)Wbug調(diào)程設(shè)計(jì)心u*旦上清輸人卡號(hào)R1艸師死青輸人并值金埶身偽證耳注刖吋可5Utl23bll?5bb48Ub3bUKHS年12月24寸殺額場史哨費(fèi)掛失2HH)UU雯取消*10.測試消費(fèi)操作。F叭諜荀爲(wèi)一2吐ugl卑惶設(shè)計(jì)ae寸土itii5_1瓦,1JS-詢一作査上操費(fèi)費(fèi)失費(fèi)囚擇卡號(hào)lmuuub商昂啟二飯2BW汪冊時(shí)間踰飾年:1乙目叢日
30、糸額歷史涓費(fèi)掛失lMkHduu11.測試掛失。14用理1毎E稚nn理1.1揮互祭區(qū)選-m-用便宙S匸卞裁回?fù)?-1及IJM-T-詢一作杳上換卞號(hào),n亠.rI,-7III身份證號(hào)F使用)k扌4作I:KKNKHKNWHWNWHFNJCKJOtKKXKKSKXjCKjCX、吐冊時(shí)間并額萬史湄費(fèi)扌三失環(huán)返選13.乩詩12.測試消費(fèi)查詢。4冃鼠B-#+夫匸霉費(fèi)查詢乩遺可二一議贋隹擇操作(1-5)幘輸入六號(hào)10B0O06?F壬使用菜卑你恪數(shù)量購買E寸間1SQ22015-ff120240|JOHCXXXXXXHXXXXXXKJXJOJXKJOCX(員_t漿三衣XXXXXXXXXXXXXXKKXXKXXXKX
31、XXXXXH13.測試非最高管理員進(jìn)入管理員權(quán)限。14最高管理員進(jìn)入管理系統(tǒng)。五、對(duì)所設(shè)計(jì)的軟件進(jìn)行自我評(píng)價(jià)這個(gè)軟件所運(yùn)用了這學(xué)期所學(xué)的面向?qū)ο缶帉懢?,基本把我?huì)的都運(yùn)用上去了,剛開始學(xué)的時(shí)候,覺得1200行代碼好難寫,怎么才能寫這么多哦,但是靜下心來,慢慢的,按照一個(gè)菜單一個(gè)菜單寫,寫完就有1200行了。我覺得自己的編程能力得到了很大的提高。特別是文件操作這方面,一開始有很多的錯(cuò)誤,慢慢一點(diǎn)一點(diǎn)調(diào)試,終于要文件操作完成了。六總結(jié)(1)調(diào)試過程中遇到的主要問題編譯語法錯(cuò)誤及修改1在文件操作的時(shí)候,準(zhǔn)備用freopen,但是發(fā)現(xiàn)是數(shù)據(jù)流控制,無法再次用窗口輸入,后面用fread模塊化讀取,然而我
32、類里面有2個(gè)鏈表指針,無法全部儲(chǔ)存。后面又用fopen+fprintf來做才成功。在文件存儲(chǔ)的時(shí)候又因?yàn)槎鄡?chǔ)存一個(gè)回車符,導(dǎo)致讀取的時(shí)候后面會(huì)多一項(xiàng)全控的2對(duì)設(shè)計(jì)實(shí)現(xiàn)的回顧討論和分析(1)經(jīng)驗(yàn)和體會(huì)通過該設(shè)計(jì),我熟練掌握了如何定義一個(gè)類,如何給它賦值,并且在賦值后如何修改。熟練掌握了函數(shù)之間的相互調(diào)用以及文件操作等。還有鏈表類的一些操作。更重要的是熟悉了如何去設(shè)計(jì)一個(gè)簡單的系統(tǒng)。作為一個(gè)系統(tǒng),不但要有算法,而且要有人機(jī)交互的界面,增強(qiáng)友好性。七附錄:帶注釋的源程序class.htypedefstruct/時(shí)間結(jié)構(gòu)體intyear;intmouth;intday;timer;typedefstr
33、uctLNode/消費(fèi)記錄單鏈表timertl;時(shí)間charthings40;商品名intmoney;/價(jià)格intnum;/數(shù)量structLNode*next;下個(gè)節(jié)點(diǎn)buy;classcard/會(huì)員卡類private:charname17;名字charcardID9;卡號(hào)timert;/注冊時(shí)間charID19;身份證號(hào)intbalance;/余額inttotal;/歷史消費(fèi)總額buy*q;/消費(fèi)記錄intn;/消費(fèi)記錄條數(shù)intg;是否掛失card*nextp;public:card();card(char*p1,char*p2,inty,intm,intd,char*p3,intf,i
34、ntx);card(card&p);voidcardLink(char*p1,char*p2,inty,intm,intd,char*p3,intf,intx);/頭插法voidcardDelete(char*p);刪除法voidfileRead();文件讀取voidfileWrite();/文件保存voidshow();顯示voidshowone(card*p);顯示一項(xiàng)voidshowLost();顯示掛失voidadd();添加voidchange。;/修改voidseekName();姓名查找voidseekCardID();卡號(hào)查找voidseekID();/身份證查找voidsee
35、kName2();姓名模糊查找voidreturnCard();退卡函數(shù)voidinsertSort();/插入排序voidchoseSort();選擇排序voidexchangeSort();/交換排序voidinsertSortTotal();/插入排序消費(fèi)總額voidchoseSortTotal();/選擇排序消費(fèi)總額voidexchangeSortTotal();交換排序消費(fèi)總額voidcardLost();掛失voidcardFind();解掛失voidcardNew();補(bǔ)卜辦voidcardRecharge();續(xù)費(fèi)voidpurchase。;/消費(fèi)函數(shù)voidshowBuy()
36、;顯示消費(fèi)voidcardchange();補(bǔ)卜辦會(huì)員卡card();typedefstructintid;/管理員編號(hào)charusename10;管理員名charpassword16;管理員密碼manager;typedefstructmanagera10;intlength;managerList;管理員鏈表voidmanagerRead(managerList&L);/管理員文件讀取voidmanagerWrite(managerList&L);/管理員文件保存intmanagerIn(managerList&L);/管理員登陸voidmanagerAdd(managerList&L);
37、/管理員添力口voidmanagerShow(managerList&L);/管理員顯示voidmanagerDelete(managerList&L);/管理員刪除voidmanagerHalfSeek(managerList&L);/管理員二分查找class.cpp#include#include#include#includeclass.h#includewindows.husingnamespacestd;card:card()無參數(shù)構(gòu)造函數(shù)strcpy(name,null);strcpy(cardID,null);t.year=t.mouth=t.day=0;strcpy(ID,nu
38、ll);balance=0;total=0;q=NULL;nextp=NULL;n=0;g=0;card:card(char*pl,char*p2,inty,intm,intd,char*p3,intf,intx)/有參數(shù)構(gòu)造函數(shù)strcpy(name,pl);strcpy(cardID,p2);t.year=y;t.mouth=m;t.day=d;strcpy(ID,p3);balance=f;total=0;q=NULL;nextp=NULL;n=x;g=0;card:card(card&p)復(fù)制構(gòu)造函數(shù)strcpy(name,);strcpy(cardID,p.cardID)
39、;t.day=p.t.day;t.mouth=p.t.mouth;t.year=p.t.year;strcpy(ID,p.ID);balance=p.balance;total=p.total;q=p.q;nextp=p.nextp;n=p.n;g=p.g;voidcard:cardLink(char*pl,char*p2,inty,intm,intd,char*p3,intf,intx)/尾插法添加函數(shù)card*cl=newcard(pl,p2,y,m,d,p3,f,n);card*ql;ql=this;while(ql-nextp!=NULL)ql=ql-nextp;ql-nextp=cl
40、;voidcard:cardDelete(char*p)刪除函數(shù)card*a,*b;a=b=nextp;if(!strcmp(p,b-cardID)nextp=b-nextp;elsefor(;)a=b;b=b-nextp;if(!strcmp(p,b-cardID)a-nextp=b-nextp;break;voidcard:fileRead()讀取文件函數(shù)FILE*fp;if(fp=fopen(data.txt,r)puts(打開文件成功”);elseputs(打開文件成敗”);card*p;dop=newcard;p-nextp=nextp;nextp=p;fscanf(fp,%s,&p
41、-name);fscanf(fp,%s,&p-cardID);fscanf(fp,%d,&p-t.year);fscanf(fp,%d,&p-t.mouth);fscanf(fp,%d,&p-t.day);fscanf(fp,%s,&p-ID);fscanf(fp,%d,&p-balance);fscanf(fp,%d,&p-g);fscanf(fp,%d,&p-total);fgetc(fp);fscanf(fp,%d,&p-n);p-q=newbuy;p-q-next=NULL;for(inti=0;p-ni;i+)buy*p2;p2=newbuy;p2-next=p-q-next;p-q
42、-next=p2;fscanf(fp,%d,&p2-t1.year);fscanf(fp,%d,&p2-t1.mouth);fscanf(fp,%d,&p2-t1.day);fscanf(fp,%s,&p2-things);fscanf(fp,%d,&p2-money);fscanf(fp,%d,&p2-num);while(fgetc(fp)!=EOF);fclose(fp);coutvv讀取文件成功vvendl;voidcard:fileWrite()/文件保存函數(shù)FILE*fp;if(fp=fopen(data.txt,w)puts(打開文件成功”);elseputs(”打開文件成敗”)
43、;card*p;for(p=nextp;p!=NULL;p=p-nextp)if(p-nextp=NULL)fprintf(fp,%s,p-name);fprintf(fp,%s,p-cardID);fprintf(fp,%d,p-t.year);fprintf(fp,%d,p-t.mouth);fprintf(fp,%d,p-t.day);fprintf(fp,%s,p-ID);fprintf(fp,%d,p-balance);fprintf(fp,%d,p-g);fprintf(fp,%dn,p-total);if(p-n0)fprintf(fp,%dn,p-n);elsefprintf(
44、fp,%d,p-n);if(p-n0)buy*q1;for(q1=p-q-next;q1!=NULL;q1=q1-next)fprintf(fp,%d,q1-t1.year);fprintf(fp,%d,q1-t1.mouth);fprintf(fp,%d,q1-t1.day);fprintf(fp,%s,q1-things);fprintf(fp,%d,q1-money);if(q1-next=NULL)fprintf(fp,%d,q1-num);elsefprintf(fp,%dn,q1-num);elsefprintf(fp,%s,p-name);fprintf(fp,%s,p-card
45、ID);fprintf(fp,%d,p-t.year);fprintf(fp,%d,p-t.mouth);fprintf(fp,%d,p-t.day);fprintf(fp,%s,p-ID);fprintf(fp,%d,p-balance);fprintf(fp,%d,p-g);fprintf(fp,%dn,p-total);fprintf(fp,%dn,p-n);if(p-n0)buy*q1;for(q1=p-q-next;q1!=NULL;q1=q1-next)fprintf(fp,%d,q1-t1.year);fprintf(fp,%d,q1-t1.mouth);fprintf(fp,%
46、d,q1-t1.day);fprintf(fp,%s,q1-things);fprintf(fp,%d,q1-money);fprintf(fp,%dn,q1-num);fclose(fp);coutvv文件儲(chǔ)存成功vvendl;voidcard:show()會(huì)員卡全部顯示函數(shù)coutvv卡號(hào)姓名身份證號(hào)注冊時(shí)間余額歷史消費(fèi)掛失vvendl;card*p;for(p=nextp;p!=NULL;p=p-nextp)coutvvvvp-cardIDvvvvsetw(6)vvp-namevvvvp-IDvvvvp-t.yearvv年vvp-t.mouthvv月vvp-t.dayvv日vvsetw(
47、3)vvp-balancevvvvsetw(6)vvp-totalvvvvp-gvvendl;voidcard:showone(card*p)會(huì)員卡單條顯示函數(shù)coutvv卡號(hào)姓名身份證號(hào)注冊時(shí)間余額歷史消費(fèi)掛失vvendl;coutvvvvp-cardIDvvvvsetw(6)vvp-namevvvvp-IDvvvvp-t.yearvv年vvp-t.mouthvv月vvp-t.dayvv日vvsetw(3)vvp-balancevvvvsetw(6)vvp-totalvvvvp-gvvendl;voidcard:showLost()coutnextp)if(p-g=1)coutvvvvp-c
48、ardIDvvvvsetw(6)vvp-namevvvvp-IDvvvvp-t.yearvv年vvp-t.mouthvv月vvp-t.dayvv日vvsetw(3)vvp-balancevvvvsetw(6)vvp-totalvvvvp-gvvendl;voidcard:add()添加函數(shù)charnamel17;名字charcardID19;卡號(hào)charID119;身份證號(hào)intbalance】;/余額intn;/判斷數(shù)for(;)intx=0;coutvv請(qǐng)輸入vvendl;coutvv姓名卡號(hào)身份證號(hào)首充金額vvendl;cinname1cardID1ID1balance1;card*p;
49、for(p=nextp;p!=NULL;p=p-nextp)if(!strcmp(cardID1,p-cardID)coutvv添加失敗,卡號(hào)重復(fù)vvendl;x+;if(!strcmp(ID1,p-ID)coutvv添加失敗,身份證號(hào)重復(fù)vvendl;x+;if(x=0)card*q1;q1=newcard;q1-nextp=nextp;nextp=q1;strcpy(q1-name,name1);strcpy(q1-cardID,cardID1);strcpy(q1-ID,ID1);q1-balance=balance1;SYSTEMTIMEm_time;GetLocalTime(&m_t
50、ime);q1-t.year=m_time.wYear;q1-t.mouth=m_time.wMonth;q1-t.day=m_time.wDay;s3:coutvv是否繼續(xù)添加:1.繼續(xù),2.返回?!眝vendl;cinn;if(n=2)break;elseif(n!=1)coutvv選擇錯(cuò)誤,請(qǐng)重新選擇vvendl;gotos3;voidcard:change()修改函數(shù)chara9;charb19;intm;coutvv請(qǐng)輸入卡號(hào)vvendl;cina;card*p;for(p=nextp;p!=NULL;p=p-nextp)if(!strcmp(a,p-cardID)break;if(
51、p=NULL)coutvv沒有查找到vvendl;return;showone(p);s5:coutvv需要改哪一項(xiàng)?vvendl;coutvv1.卡號(hào)2.姓名3.身份證號(hào)vvendl;cinm;switch(m)case1:coutvv請(qǐng)輸入修改的卡號(hào)vvendl;cinb;strcpy(p-cardID,b);break;case2:coutvv請(qǐng)輸入修改的姓名vvendl;cinb;strcpy(p-name,b);break;case3:coutvv請(qǐng)輸入修改的身份證號(hào)vvendl;cinb;strcpy(p-ID,b);break;default:coutvv請(qǐng)輸入1-3vvendl
52、;gotos5;voidcard:seekCardID()查詢卡號(hào)函數(shù)chara9;coutvv請(qǐng)輸入卡號(hào)vvendl;cina;card*p;for(p=nextp;p!=NULL;p=p-nextp)if(!strcmp(a,p-cardID)break;if(p=NULL)coutvv沒有查找到vvendl;return;showone(p);voidcard:seekName()/精確姓名查詢chara17;coutvv請(qǐng)輸入姓名vvendl;cina;card*p;for(p=nextp;p!=NULL;p=p-nextp)if(!strcmp(a,p-name)break;if(p
53、=NULL)coutvv沒有查找到vvendl;return;showone(p);voidcard:seekName2()/模糊姓名查詢chara17;coutvv請(qǐng)輸入模糊姓名vvendl;cina;card*p;for(p=nextp;p!=NULL;p=p-nextp)if(strstr(p-name,a)break;if(p=NULL)coutvv沒有查找到vvendl;return;showone(p);voidcard:seekID()身份證查詢chara19;coutvv請(qǐng)輸入身份證號(hào)vvendl;cina;card*p;for(p=nextp;p!=NULL;p=p-next
54、p)if(!strcmp(a,p-ID)break;if(p=NULL)coutvv沒有查找到vvendl;return;showone(p);voidcard:returnCard()退卡函數(shù)chara9;intm;s6:coutvv請(qǐng)輸入卡號(hào)vvendl;cina;card*p;for(p=nextp;p!=NULL;p=p-nextp)if(!strcmp(a,p-cardID)break;if(p=NULL)coutvv沒有查找到,請(qǐng)重新輸入vvendl;gotos6;showone(p);s7:coutvv確認(rèn)刪除?1.確認(rèn),2取消。vvendl;cinm;if(m=1)cardDe
55、lete(a);elseif(m=2)coutvv已成功取消vvendl;return;elsecoutvv確認(rèn)錯(cuò)誤,請(qǐng)重新輸入vvendl;gotos7;voidcard:insertSort()/插入排序card*p1;card*p2;card*p3;card*p4;if(this-nextp!=NULL&this-nextp-nextp!=NULL)p1=this;p2=this-nextp;p3=p2-nextp;p2-nextp=NULL;while(p3!=NULL)p4=p3-nextp;while(p2!=NULL&strcmp(p3-cardID,p2-cardID)0)p1
56、=p2;p2=p2-nextp;p1-nextp=p3;p3-nextp=p2;p1=this;p2=this-nextp;p3=p4;elsereturn;voidcard:insertSortTotal()/插入排序消費(fèi)總額card*p1;card*p2;card*p3;card*p4;if(this-nextp!=NULL&this-nextp-nextp!=NULL)p1=this;p2=this-nextp;p3=p2-nextp;p2-nextp=NULL;while(p3!=NULL)p4=p3-nextp;while(p2!=NULL&p3-totaltotal)p1=p2;p
57、2=p2-nextp;p1-nextp=p3;p3-nextp=p2;p1=this;p2=this-nextp;p3=p4;elsereturn;voidcard:cardLost()掛失函數(shù)chara9;輸入卡號(hào)intm;判斷數(shù)s6:coutvv請(qǐng)輸入卡號(hào)vvendl;cina;card*p;for(p=nextp;p!=NULL;p=p-nextp)if(!strcmp(a,p-cardID)break;if(p=NULL)coutvv沒有查找到,請(qǐng)重新輸入vvendl;gotos6;showone(p);s7:coutvv確認(rèn)掛失?1.確認(rèn),2取消。vvendl;cinm;if(m=1
58、)p-g=1;coutvv掛失成功vvendl;elseif(m=2)coutvv已取消vvendl;return;elsecoutvv確認(rèn)錯(cuò)誤,請(qǐng)重新輸入vvendl;gotos7;voidcard:cardFind()解掛失函數(shù)chara9;輸入卡號(hào)intm;判讀數(shù)s6:coutvv請(qǐng)輸入卡號(hào)vvendl;cina;card*p;for(p=nextp;p!=NULL;p=p-nextp)if(!strcmp(a,p-cardID)break;if(p=NULL)coutvv沒有查找到,請(qǐng)重新輸入vvendl;gotos6;showone(p);s7:coutvv確認(rèn)解掛失?1.確認(rèn),2取
59、消。vvendl;cinm;if(m=1)p-g=0;coutvv解掛失成功vvendl;elseif(m=2)coutvv已取消vvendl;return;elsecoutvv確認(rèn)錯(cuò)誤,請(qǐng)重新輸入vvendl;gotos7;voidcard:cardRecharge()續(xù)費(fèi)函數(shù)chara9;輸入卡號(hào)intm;判斷數(shù)intmoney;/續(xù)費(fèi)金額s6:coutvv請(qǐng)輸入卡號(hào)vvendl;cina;card*p;for(p=nextp;p!=NULL;p=p-nextp)if(!strcmp(a,p-cardID)break;if(p=NULL)coutvv沒有查找到,請(qǐng)重新輸入vvendl;go
60、tos6;showone(p);coutvv請(qǐng)輸入充值金額vvendl;cinmoney;s7:coutvv確認(rèn)充值?1.確認(rèn),2取消。vvendl;cinm;if(m=1)p-balance+=money;coutvv充值成功vvendl;elseif(m=2)coutvv已取消vvendl;return;elsecoutvv確認(rèn)錯(cuò)誤,請(qǐng)重新輸入vvendl;gotos7;voidcard:purchase()購買函數(shù)chara9;charthings40;商品名intmoney;/價(jià)格intnum;/數(shù)量s6:coutvv請(qǐng)輸入卡號(hào)vvendl;cina;card*p;for(p=next
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度互聯(lián)網(wǎng)金融平臺(tái)民間借貸合同4篇
- 房地產(chǎn)市場的樓市調(diào)控與政策解讀
- 2025年度智能家居系統(tǒng)集成項(xiàng)目合同2篇
- 二零二五版教育培訓(xùn)機(jī)構(gòu)場地租賃及培訓(xùn)成果轉(zhuǎn)化合同4篇
- 二零二五年度民間擔(dān)保業(yè)務(wù)反欺詐合同3篇
- 2025年北師大版九年級(jí)歷史上冊階段測試試卷
- 2025年江西九江市天然氣有限公司招聘筆試參考題庫含答案解析
- 2025年貴州開磷控股集團(tuán)有限公司招聘筆試參考題庫含答案解析
- 2025年滬科新版必修一歷史上冊階段測試試卷
- 2025年度苗木種植與水資源利用合作合同范本4篇
- 2024年全國職業(yè)院校技能大賽高職組(研學(xué)旅行賽項(xiàng))考試題庫(含答案)
- 2025年溫州市城發(fā)集團(tuán)招聘筆試參考題庫含答案解析
- 2025年中小學(xué)春節(jié)安全教育主題班會(huì)課件
- 2025版高考物理復(fù)習(xí)知識(shí)清單
- 除數(shù)是兩位數(shù)的除法練習(xí)題(84道)
- 2025年度安全檢查計(jì)劃
- 2024年度工作總結(jié)與計(jì)劃標(biāo)準(zhǔn)版本(2篇)
- 全球半導(dǎo)體測試探針行業(yè)市場研究報(bào)告2024
- 反走私課件完整版本
- 2024年注冊計(jì)量師-一級(jí)注冊計(jì)量師考試近5年真題附答案
- 中考數(shù)學(xué)復(fù)習(xí)《平行四邊形》專項(xiàng)練習(xí)題-附帶有答案
評(píng)論
0/150
提交評(píng)論