




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、南 京 理 工 大 學(xué)C+課程設(shè)計(jì)報告吳立珠程序功能簡介個人財政支出的管理程序,將個人財務(wù)的目標(biāo)及當(dāng)前的存款,支出保存下來,可以隨時更新,查看,比較贏余和目標(biāo)的差距。課程設(shè)計(jì)的要求1. 將收支的數(shù)據(jù)與相應(yīng)的函數(shù)封裝到類中,并改寫主程序,是程序結(jié)構(gòu)化。2. 增加保存每筆收支的記錄,并對每閉記錄增加日期錄入,按日期的順序保存,查看記錄,將每一個記錄放入一個文件中,每次運(yùn)行程序時首先打開這個文件,程序運(yùn)行完畢是將更新的記錄放回文件中。3. 完善程序,補(bǔ)充類中數(shù)據(jù)成員贏余的計(jì)算和輸出,要求每筆收入和支出都要重新統(tǒng)計(jì)當(dāng)前情況下的贏余數(shù)目。4. 增加程序監(jiān)控功能,當(dāng)輸入時間發(fā)生錯誤是,要求重新輸入正確的時
2、間;當(dāng)結(jié)余的數(shù)目為負(fù)數(shù)時,輸出信息,警告已經(jīng)超支!程序設(shè)計(jì)思想1. 類的封裝遠(yuǎn)程序的結(jié)構(gòu)比較簡單,只保留了每次更新操作的最后結(jié)果,達(dá)不到財務(wù)帳冊的要求。若要詳細(xì)記錄下每閉收筆的記錄的款項(xiàng)和原因等。于是才用了鏈表的形式保存了數(shù)據(jù),且可以根據(jù)實(shí)際需要動態(tài)開辟空間。鏈表結(jié)構(gòu)如下:class CFinanceprivate:int nYear,nMonth,nDay; /年月日double dlIncome,dlOutput;/收入,支出數(shù)目double dlBalance; /結(jié)余char szPurpose20; /用途,目的static double dlPurpose; /目標(biāo)double d
3、lGap; /據(jù)目標(biāo)的差額public:CFinance()dlIncome=dlOutput=dlBalance=0.0;/缺省的構(gòu)造函數(shù)CFinance(int a,int b,int c,double d,double e,char f,double g,double h);/構(gòu)造函數(shù)CFinance(int a,int b,int c,double d,double e,char g);/構(gòu)造函數(shù)CFinance(int a,int b,int c)nYear=a,nMonth=b,nDay=c;/根據(jù)日期生成結(jié)點(diǎn),查找用int Compare(CFinance&);/比較時間的大小v
4、oid Show();/輸出類的成員void Showdeposit();/輸出收入的時間和目的,用途void Showwithdraw();/輸出支出的時間和目的,用途void SetFinance(int,int,int,double,double,char*);/對象賦值void GetPurpose(double purs)dlPurpose=purs;/賦值目標(biāo)double ShowPur()return dlPurpose;/返回目標(biāo)void calculatebalance(double dlBal)dlBalance=dlBal+dlIncome-dlOutput;/計(jì)算結(jié)點(diǎn)的
5、贏余情況,計(jì)算下一個結(jié)點(diǎn)用double GetBalance()return dlBalance;/返回與目標(biāo)的差額void ModifyData();/修改結(jié)點(diǎn)記錄void calculatedlgap();/返回差額friend void Deposit(CFinance *);/定義存款函數(shù)為友元函數(shù)friend void Withdraw(CFinance *);/定義取款函數(shù)為友元函數(shù) friend class Clist;/定義鏈表類為友元類;class CNode /結(jié)點(diǎn)類private:CFinance *pData; /用于指向數(shù)據(jù)類的指針CNode *pnext; /指向鏈
6、表的下一個結(jié)點(diǎn)的指針public:CNode()pData=0;pnext=0; /結(jié)點(diǎn)的構(gòu)造函數(shù) CNode(CNode &node)pData=node.pData,pnext=node.pnext; /用于拷貝的構(gòu)造函數(shù)void InputData(CFinance *pdata)pData=pdata; /輸入數(shù)據(jù) void ShowNode()pData-Show(); /結(jié)點(diǎn)的輸出void modify()pData-ModifyData(); /修該結(jié)點(diǎn)的數(shù)據(jù)CFinance *GetData()return pData; /返回數(shù)據(jù)類的指針void Getpur(double
7、t)pData-GetPurpose(t); /返回數(shù)據(jù)類的目標(biāo)friend class Clist; /定義鏈表類為友元類 friend void Savefile(); /定義保存函數(shù)為友元函數(shù);class Clist /定義鏈表類protected:CNode *phead; /鏈表頭結(jié)點(diǎn)指針public:Clist()phead=0; /鏈表類的構(gòu)造函數(shù) Clist()deletelist(); /鏈表類的析構(gòu)函數(shù)void AddNode(CNode *); /在首部添加結(jié)點(diǎn)void DeleteNode(CNode *); /刪除一個指定的結(jié)點(diǎn)CNode *Lookup(CFinan
8、ce &);/查找一個指定的結(jié)點(diǎn),返回該結(jié)點(diǎn)的指針void Showlist(); /打印整個鏈表void Showlistdeposit(); /打印整個鏈表的收入情況void Showlistwithdraw(); /打印整個鏈表的支出情況void deletelist(); /刪除整個鏈表CNode *GetlistHead()return phead; /返回鏈表的首結(jié)點(diǎn)CNode *GetlistNextNode(CNode *p); /返回指定的結(jié)點(diǎn)的下一個結(jié)點(diǎn)void Insert(CNode *p); /插入排序CNode *GetlastNode(CNode *phead);
9、 /返回最后一個結(jié)點(diǎn)void Calculatebalance(); /計(jì)算鏈表的贏余情況void Savefile(); /保存文件void OpenFile(); /打開文件void Modify(CNode *); /修改鏈表的記錄void CalculatedlGap(); /計(jì)算整個鏈表與目標(biāo)的差額; 2. mian 函數(shù)結(jié)構(gòu)程序主題采用菜單選項(xiàng)的形式,輸入相應(yīng)的菜單選項(xiàng)后程序可以反復(fù)運(yùn)行。在程序一開始運(yùn)行時首先將財務(wù)數(shù)據(jù)文件讀如鏈表,然后詢問是否改動目標(biāo)款項(xiàng),若改動了目標(biāo)款項(xiàng),接點(diǎn)中的數(shù)據(jù)中“距目標(biāo)的差額”都需重新計(jì)算,在程序退出時,將鏈表的數(shù)據(jù)在寫到數(shù)據(jù)文件中。3. 設(shè)計(jì)要點(diǎn)1)
10、 為使用戶界面更加友好,避免輸入數(shù)據(jù)類型錯誤導(dǎo)致的程序無限循環(huán),在輸入數(shù)據(jù)時進(jìn)行判斷,對非法的輸入予以提示。2) 每次增加的結(jié)點(diǎn)或修改結(jié)點(diǎn)時都要將數(shù)據(jù)的贏余部分重新計(jì)算,。設(shè)計(jì)了一個函數(shù),以鏈表的引用作為參數(shù),從鏈表首結(jié)點(diǎn)開始,依次將整個鏈表結(jié)點(diǎn)的數(shù)據(jù)重新計(jì)算,在增加或修改結(jié)點(diǎn)完成后調(diào)用該函數(shù)即。3) 在輸入整個鏈表的數(shù)據(jù)后,應(yīng)計(jì)算鏈表的最后一個結(jié)點(diǎn)的贏余,若出現(xiàn)了赤字則輸出信息,提示用戶注意。題目分析程序的主菜單如又圖:請選擇以下功能:1-輸入收入記錄 2-輸入支出記錄3-輸出收入記錄4-輸出支出記錄5-查看收支平衡情況6-按日期查找記錄7-按日期刪除記錄8-按日期修改記錄0-退出各功能實(shí)現(xiàn)
11、方法:1-輸入收入記錄 動態(tài)產(chǎn)生一個新的數(shù)據(jù),調(diào)用存款函數(shù)輸入記錄,將指向其的指針加到鏈表中,并進(jìn)行排序。2-輸入支出記錄動態(tài)產(chǎn)生一個新的數(shù)據(jù),調(diào)用取款函數(shù)輸入記錄,將指向其的指針加到鏈表中,并進(jìn)行排序。3-輸出收入記錄 調(diào)用了鏈表類里的Showlistdeposit()函數(shù),其中這個函數(shù)指向數(shù)據(jù)類之中的輸出收入記錄,定義一個指針,輸出指針指向的數(shù)據(jù),然后指針指向下一個指針直到鏈表尾部。4-輸出支出記錄調(diào)用了鏈表類里的Showlistwithdraw ()函數(shù),其中這個函數(shù)指向數(shù)據(jù)類之中的輸出支出記錄,定義一個指針,輸出指針指向的數(shù)據(jù),然后指針指向下一個指針直到鏈表尾部。5-查看收支平衡情況調(diào)
12、用了鏈表類里的Showlistgetbanlanc ()函數(shù),其中這個函數(shù)指向數(shù)據(jù)類之中向的數(shù)據(jù),然后指針指向下一個指針直到鏈表尾部。6-按日期查找記錄在數(shù)據(jù)類中有一函數(shù)可以比較日期,大的返回+1,小的返回-1,相等的返回0。在查找記錄時先比較日期與鏈表中的日期是否有相等的,若有則定義一個指針指向該結(jié)點(diǎn),調(diào)用函數(shù)輸出該結(jié)點(diǎn)的所有記錄,指針指向下一個指針,繼續(xù)查找。7-按日期刪除記錄在數(shù)據(jù)類中有一函數(shù)可以比較日期,大的返回+1,小的返回-1,相等的返回0。在刪除記錄時先比較輸入的日期與鏈表中存在的日期是否有相等的,若有則定義一個指針指向該結(jié)點(diǎn),調(diào)用函數(shù)刪除該結(jié)點(diǎn)的所有記錄,指針指向下一個指針,繼
13、續(xù)查找。8按日期修改記錄在數(shù)據(jù)類中有一函數(shù)可以比較日期,大的返回+1,小的返回-1,相等的返回0。在修改記錄時先比較輸入的日期與鏈表中存在的日期是否有相等的,若有則定義一個指針指向該結(jié)點(diǎn),調(diào)用函數(shù)輸出該結(jié)點(diǎn)的所有記錄,指針指向下一個指針,繼續(xù)查找。0-退出退出時將數(shù)據(jù)保存在文件data.txt中流程圖如下所示:輸入帳號,進(jìn)入界面 詢問是否改動目標(biāo)款項(xiàng)修改目標(biāo)款項(xiàng) 是 否1通過開頭輸入帳號來實(shí)現(xiàn),系統(tǒng)供多人使用的功能。2判斷日期輸入的正確性 設(shè)計(jì)了三個函數(shù)分別判斷年,月,日是否正確,然后在設(shè)計(jì)了一個函數(shù)判斷輸入的日期是否正確。3、屏幕界面問題,處理方法:仔細(xì)復(fù)習(xí)了“C+流程控制”一章,結(jié)合了庫函
14、數(shù), system(“cls”)的功能,程序界面顯得比較友好。4、三個類的關(guān)系,各個成員及成員函數(shù)的關(guān)系,以及如何調(diào)用函數(shù) 類的基本框架如圖:類:Clist(鏈表類)(指針成員指向類cnode的對象CNode(指針成員指向CFinance的對象)類Clist的各數(shù)據(jù)成員以及成員函數(shù)類CFinance的數(shù)據(jù)成員以及成員函數(shù)類cnode各數(shù)據(jù)成員以及成員函數(shù)對設(shè)計(jì)的感想和心得對于這次程序設(shè)計(jì),我明白了發(fā)現(xiàn)問題比解決問題更難,因?yàn)椴恢獜暮蜗率?,我屢次停滯不前,后來通過 加輸出語句 或 注釋關(guān)鍵語句 來判斷問題所在。通過一次次摸索,嘗試,一步步解決問題。但有時往往是解決了一個,又出現(xiàn)一個,真是太考驗(yàn)?zāi)?/p>
15、心了。 同時,我也意識到,雖然讀了十幾年書,但到實(shí)際動手時卻是手足無措,實(shí)踐經(jīng)驗(yàn)實(shí)在是少得可憐,所以要想在競爭日益激烈的時代找到一份好工作,不僅要學(xué)好理論知識,更要注重實(shí)踐,從而真正獲取一門知識的精髓。 最后,想說一句,故天將降大任于斯人也,必先苦其心志,勞其筋骨,餓其體膚,空乏其身。源程序 #include #include #include #include #include#includeclass CFinanceprivate:int nYear,nMonth,nDay; /年月日double dlIncome,dlOutput;/收入,支出數(shù)目double dlBalance; /
16、結(jié)余char szPurpose20; /用途,目的static double dlPurpose; /目標(biāo)double dlGap; /據(jù)目標(biāo)的差額public:CFinance()dlIncome=dlOutput=dlBalance=0.0;/缺省的構(gòu)造函數(shù)CFinance(int a,int b,int c,double d,double e,char f,double g,double h)/構(gòu)造函數(shù)nYear=a,nMonth=b,nDay=c;dlIncome=d,dlOutput=e;strcpy(szPurpose,f);dlBalance=g;dlGap=h;CFinanc
17、e(int a,int b,int c,double d,double e,char g)/結(jié)構(gòu)函數(shù)nYear=a,nMonth=b,nDay=c;dlIncome=d,dlOutput=e;strcpy(szPurpose,g);CFinance(int a,int b,int c)nYear=a,nMonth=b,nDay=c;/根據(jù)日期生成結(jié)點(diǎn),查找用int Compare(CFinance&);/比較時間的大小void Show();/輸出類的成員void Showdeposit();/輸出收入的時間和目的,用途void Showwithdraw();/輸出支出的時間和目的,用途voi
18、d SetFinance(int,int,int,double,double,char*);/對象賦值void GetPurpose(double purs)dlPurpose=purs;/賦值目標(biāo)double ShowPur()return dlPurpose;/返回目標(biāo)void calculatebalance(double dlBal)dlBalance=dlBal+dlIncome-dlOutput;/計(jì)算結(jié)點(diǎn)的贏余情況,計(jì)算下一個結(jié)點(diǎn)用double GetBalance()return dlBalance;/返回與目標(biāo)的差額void ModifyData();/修改結(jié)點(diǎn)記錄void
19、calculatedlgap();/返回差額friend void Deposit(CFinance *);/輸入收入記錄friend void Withdraw(CFinance *);/輸入支出記錄friend void Savefile();/打開數(shù)據(jù)文件friend ostream& operatorabcdep;SetFinance(a,b,c,d,e,p);int CFinance:Compare(CFinance &t) /比較日期,大于返回1,小于返回1,等于返回0if(nYeart.nYear) return 1;if(nYeart.nMonth) return 1;if(n
20、Montht.nDay) return 1;if(nDayt.nDay) return -1;else return 0;void CFinance:SetFinance(int a,int b,int c,double d,double f,char*p)nYear=a,nMonth=b,nDay=c;dlIncome=d,dlOutput=f;p=(char*)new char; /動態(tài)產(chǎn)生一個字符串void CFinance:Showdeposit()cout”日期”nYear”/”nMonth”/”nDay” “”收入”dlIncome” “”用的目的是”szPurpose” “end
21、l;void CFinance:Showwithdraw()cout”日期”nYear”/”nMonth”/”nDay”支出”dlOutput” “”用的目的是”szPurpose” “endl;void CFinance:Show()cout”n”日期”nYear”/”nMonth”/”nDay”n”收入”dlIncome” “”支出”dlOutput”n”用的目的是”szPurpose”n”盈余為”dlBalance” “”距目標(biāo)的差額”dlGapendl;void CFinance:calculatedlgap()dlGap=dlBalance-dlPurpose;ostream& op
22、erator (ostream&os,CFinance *p)osnYear” “nMonth” “nDay” “dlIncome” “dlOutput” “szPurpose” “dlBalance” “dlGapShow(); /結(jié)點(diǎn)的輸出void modify()pData-ModifyData(); /修該結(jié)點(diǎn)的數(shù)據(jù)CFinance *GetData()return pData; /返回數(shù)據(jù)類的指針void Getpur(double t)pData-GetPurpose(t); /返回數(shù)據(jù)類的目標(biāo)friend class Clist; /定義鏈表類為友元類friend void Sa
23、vefile(); /定義保存函數(shù)為友元函數(shù);class Clist /定義鏈表類protected:CNode *phead; /鏈表頭結(jié)點(diǎn)指針public:Clist()phead=0; /鏈表類的構(gòu)造函數(shù) Clist()deletelist(); /鏈表類的析構(gòu)函數(shù)void AddNode(CNode *); /在首部添加結(jié)點(diǎn)void DeleteNode(CNode *); /刪除一個指定的結(jié)點(diǎn)CNode *Lookup(CFinance &);/查找一個指定的結(jié)點(diǎn),返回該結(jié)點(diǎn)的指針void Showlist(); /打印整個鏈表void Showlistdeposit(); /打印整
24、個鏈表的收入情況void Showlistwithdraw(); /打印整個鏈表的支出情況void deletelist(); /刪除整個鏈表CNode *GetlistHead()return phead; /返回鏈表的首結(jié)點(diǎn)CNode *GetlistNextNode(CNode *p); /返回指定的結(jié)點(diǎn)的下一個結(jié)點(diǎn)void Insert(CNode *p); /插入排序CNode *GetlastNode(CNode *phead); /返回最后一個結(jié)點(diǎn)void Calculatebalance(); /計(jì)算鏈表的贏余情況void Savefile(); /保存文件void OpenF
25、ile(); /打開文件void Modify(CNode *); /修改鏈表的記錄void CalculatedlGap(); /計(jì)算整個鏈表與目標(biāo)的差額;void Clist:AddNode(CNode *pnode) /添加一個結(jié)點(diǎn)if(phead=0) /頭結(jié)點(diǎn)為空phead=pnode; pnode-pnext=0;else pnode-pnext=phead;phead=pnode; /指向下一個結(jié)點(diǎn)void Clist:DeleteNode(CNode *Temp) CNode *p1,*p2; /節(jié)點(diǎn)指針變量char choice; /找到符合條件的數(shù)據(jù)后刪除之前需要確認(rèn),該變
26、量為鍵入的確認(rèn)選擇if ( phead = NULL ) /鏈表頭指針為空,即鏈表中無數(shù)據(jù),不需刪除,程序直接返回cout pData-Compare(*(phead-pData)=0 ) /當(dāng)鏈表頭指針即是要刪除的域名時,將頭指針后的指針作/為頭指針,然后將該節(jié)點(diǎn)刪除p1=phead; / p1指向頭指針coutShowNode(); /輸出p1中的數(shù)據(jù)內(nèi)容coutchoice; /從鍵盤輸入信息,確定是否真要刪除該節(jié)點(diǎn)if(choice=Y|choice=y) /當(dāng)輸入Y或y時,確定要刪除該節(jié)點(diǎn),以下是刪除操作phead = phead-pnext; /將鏈表的頭指針移后一個節(jié)點(diǎn)delet
27、e p1; /刪除原頭指針?biāo)诘墓?jié)點(diǎn)cout ”刪除了該記錄!n”; /輸出提示信息else /若選擇不刪除該節(jié)點(diǎn)coutpData-Compare(*(p2-pData)!=0 & p2-pnext != NULL )/查找過程是循環(huán)過程,當(dāng)沒有找到符合條件的節(jié)點(diǎn)且沒有查找完整個鏈表時,循環(huán)繼續(xù)p1 = p2 ; /p1跟在p2后面p2 = p2-pnext;/p2接著查找下一個節(jié)點(diǎn)if ( Temp-pData-Compare(*(p2-pData)=0 ) /找到要刪除的目前正是p2所指向的節(jié)點(diǎn)coutShowNode();coutchoice; /輸入用戶的選擇if(choice=Y|
28、choice=y) /如果確認(rèn)為真的要刪除p1-pnext = p2-pnext; /將p2指向節(jié)點(diǎn)的下一個節(jié)點(diǎn)的尾部連接p1所指向的節(jié)點(diǎn),/即將p2所指向的節(jié)點(diǎn)從鏈表中斷開delete p2; /刪除p2所指向的節(jié)點(diǎn)cout ”刪除了該記錄!n”;else /如果用戶選擇不刪除cout”未刪除記錄!n”; /刪除提示信息else coutpData-Compare(t) return pn; /比較時間pn=pn-pnext; /繼續(xù)查找return 0;void Clist:Calculatebalance()CNode *p=phead;double t;int i=1;while(p)
29、if(i=1)p-pData-calculatebalance(0);t=p-pData-GetBalance();p=p-pnext;if(p)p-pData-calculatebalance(t);+i;void Clist:CalculatedlGap()CNode *p=phead;while(p)p-pData-calculatedlgap();p=p-pnext;void Clist:Showlistdeposit()CNode *p=phead;while(p)p-pData-Showdeposit();p=p-pnext;void Clist:Showlistwithdraw(
30、)CNode *p=phead;while(p)p-pData-Showwithdraw();p=p-pnext;void Clist:Showlist()CNode *p=phead;while(p)p-pData-Show();p=p-pnext;void Clist:deletelist()CNode *p,*q;p=phead;while(p)delete p-pData;q=p;p=p-pnext;delete q;CNode *Clist:GetlistNextNode(CNode*p)CNode *pn=phead;while(pn=p)pn=pn-pnext;return pn
31、;void Clist:Insert(CNode *p)CNode *p1,*p2;if(phead=0)phead=p;p-pnext=0;elseif(p-pData-Compare(*(phead-pData)pnext=phead;phead=p;elsep2=p1=phead;while(p-pnext&p-pData-Compare(*(p2-pData)0)p1=p2;p2=p2-pnext;if(p-pData-Compare(*(p2-pData)0)p2-pnext=p;p-pnext=0;elsep-pnext=p2;p1-pnext=p;CNode *Clist:Get
32、lastNode(CNode *phead)CNode *p=phead;while(p-pnext)p=p-pnext;return p;void Clist:OpenFile(void) ifstream infile; CNode *pt1,*pt2;pt2=phead; infile.open(“data.txt”); if(!infile) coutpnext) pt2=pt2-pnext;int a,b,c;double d, e;char f20;double g, h; while(infileabcdefgh)CFinance *p;p=new CFinance(a,b,c,
33、d,e,f,g,h);pt1=new CNode;pt1-InputData(p);Insert(pt1); /將此數(shù)據(jù)排序插入鏈表中infile.close(); return;void Clist:Savefile() ofstream outfile; /接受文件名outfile.open(“data.txt”); /以輸出的方式打開數(shù)據(jù)文件if(!outfile) /打開文件錯誤,輸出提示信息,退出程序cout”打開文件錯誤!n”;CNode *pt; /節(jié)點(diǎn)指針,指向鏈表中的各個節(jié)點(diǎn)pt=phead; /從鏈表頭開始向數(shù)據(jù)文件中輸入數(shù)據(jù)while(pt) /當(dāng)指針沒有找到鏈表尾時ou
34、tfilepData; /輸出鍵入域名的時間數(shù)據(jù)pt=pt-pnext; /順著鏈表依次指向下一節(jié)點(diǎn)cout”文件存儲完畢n”; void Withdraw(); /存款 void depositDisplay(); void mainDisplay();void withdrawDisplay();void setgoalDisplay();void viewtotalDisplay();void Savefile();int checkyear(int); /判斷年 月 日的正確性int checkmonth(int);int checkday(int,int,int);int check
35、date(int,int,int);int main()CFinance *p;CNode *pn,node;Clist list;char select;list.OpenFile();char aselect;cout”-“”n”;coutaselect;while(aselect!=y&aselect!=Y&aselect!=n&aselect!=N)cout”t輸入有誤 請重新輸入”;coutaselect;cout”n”;if(aselect=y|aselect=Y)double t;coutt;CFinance A;A.GetPurpose(t);list.Calculatebal
36、ance();list.CalculatedlGap();label: cout”t*n”;cout” 歡迎使用個人財政管理系統(tǒng)n”;cout” 請選擇以下功能 n”;cout” *1.輸入收入記錄 *n”;cout” *2.輸入支出記錄 *n”;cout” *3.查看收入記錄 *n”;cout” *4.查看支出記錄 *n”;cout” *5.查看收支平衡狀況 *n”;cout” *6.根據(jù)日期查找記錄 *n”;cout” *7.根據(jù)日期修改記錄 *n”;cout” *8.根據(jù)日期刪除記錄 *n”;cout” *0.退出 *nn”;cout”t*n”;cout”n”;coutselect;sw
37、itch(select)case 1: p=new CFinance();Deposit(p);pn=new CNode;pn-InputData(p);list.Insert(pn);goto label;case 2:p=new CFinance();Withdraw(p);pn=new CNode;pn-InputData(p);list.Insert(pn);goto label;case 3:list.Calculatebalance();list.CalculatedlGap();list.Showlistdeposit();goto label;case 4:list.Calcu
38、latebalance();list.CalculatedlGap();list.Showlistwithdraw();goto label;case 5:list.Calculatebalance();list.CalculatedlGap();list.Showlist();goto label;case 6:int a,b,c;CNode *pp;list.Calculatebalance();cout”輸入你要尋找的日期”abc;CFinance t(a,b,c);pp=list.Lookup(t);if(pp)pp-ShowNode();elsecout”沒有記錄”endl;goto
39、 label; case 7:int a,b,c;coutabc;CFinance *pcf;pcf=new CFinance(a,b,c);CNode *pcn;pcn=new CNode;pcn-InputData(pcf);list.Modify(pcn); /修改結(jié)點(diǎn)goto label; case 8:int a,b,c;coutabc;CNode *pcn;CFinance *pt;pt=new CFinance(a,b,c); /輸入一個日期pcn=new CNode;/產(chǎn)生新的動態(tài)的結(jié)點(diǎn)pcn-InputData(pt);list.Calculatebalance();list
40、.DeleteNode(pcn); /刪除結(jié)點(diǎn)goto label;case 0: list.Calculatebalance(); list.CalculatedlGap(); list.Savefile(); exit(0); default: cout”輸入有誤,請重新輸入:nn”;goto label; return 0; void Deposit(CFinance *p)double dAmt = 0;char ans;coutdAmt;if(dAmt = 0)cout”nnnnn”endl; cprintf(“ 這是個無效款項(xiàng) 請重新輸入:”);getch();main(); coutp-nYearp-nMonthp-nDay;whil
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 會展產(chǎn)業(yè)政策對會展行業(yè)競爭力的影響考核試卷
- 供應(yīng)鏈智能合同的法律風(fēng)險評估考核試卷
- 光伏組件選型與應(yīng)用考核試卷
- 通風(fēng)設(shè)備智能控制系統(tǒng)安全性評估考核試卷
- 化妝品包裝結(jié)構(gòu)創(chuàng)新與包裝功能提升研究考核試卷
- 脫硫石膏運(yùn)輸合同范本
- 濟(jì)南市【人教版】小學(xué)數(shù)學(xué)四年級上冊:全冊導(dǎo)學(xué)案-第1單元
- 火電靈活性改造市場分析
- 保姆雇傭協(xié)議書(11篇)
- 機(jī)器人控制與感知技術(shù)
- 2025年7月自考13811績效管理試題及答案含解析
- 2025年中學(xué)教師資格考試《綜合素質(zhì)》教育法律法規(guī)經(jīng)典案例分析及強(qiáng)化試題集(含答案)
- CGF生長因子在口腔醫(yī)學(xué)中的應(yīng)用
- 互聯(lián)網(wǎng)新聞信息服務(wù)安全評估報告模板(2025年7月修訂)
- 《等腰三角形的性質(zhì)》課件
- 工業(yè)互聯(lián)網(wǎng)與船舶行業(yè)融合應(yīng)用參考指南 2025
- 應(yīng)征公民政治考核表(含示例)
- 南通國家級南通經(jīng)濟(jì)技術(shù)開發(fā)區(qū)公開招聘招商人員筆試歷年參考題庫附帶答案詳解析
- 2025年廣東省深圳市中考道德與法治 總復(fù)習(xí)法治教育檢測卷(含答案)
- 先天性甲狀腺功能減退癥診治指南(2025)解讀
- 《心血管系統(tǒng)超聲檢查》課件
評論
0/150
提交評論