




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、個人財政支出管理程序功能簡介個人財政支出管理程序,完成收入,支出,盈余的記錄和管理。課程設(shè)計要求(1) 增加函數(shù),完成財政賬目的管理功能。(2) 將所有的函數(shù)與相應(yīng)的數(shù)據(jù)封裝到類中,并改寫主程序,使程序簡化。(3) 可自行增加程序的功能。(4) 設(shè)計測試主程序,在主程序中完成測試。課程設(shè)計說明(1) SetGoal()函數(shù)賬目中有問題,改正。(2) 可將整修記錄裝入一個字符串,在兩條記錄間用特殊符號隔開。(3) 查找相應(yīng)記錄時,可采用逐個字節(jié)比較的方法。(4) 評定難易級別:B級。改進說明要完成程序設(shè)計要求(1),增加SetZero函數(shù),把帳目記錄全部置零。應(yīng)用程序的各個功能處理函數(shù)中增加循環(huán)
2、語句,只有不選擇繼續(xù)操作時才退出。要完成程序設(shè)計要求(2)建立類Manager,把所有變量及函數(shù)全部封裝到該類中。刪除了depositDisplay,mainDisplay,withdrawDisplay,setgoalDisplay,viewtotalDisplay等函數(shù),刪除程序中所有有關(guān)字體顏色的指令,簡化程序。并把所有刪除函數(shù)中的相關(guān)功能添加到各個功能處理函數(shù)中。并改變各個功能處理函數(shù)的存檔指令,把存檔文件由三個改為一個,以方便文件的管理和查看。存檔以回車符號分隔存貯數(shù)據(jù)。為完成程序設(shè)計要求(3)(4),增加函數(shù)循環(huán),置零功能,并在各函數(shù)中增加條件編譯,達到測試程序目地。原主函數(shù)的退出
3、功能有問題,將其改正。漢化整修程序,增加詳細的注釋。main(),是主函數(shù),在主函數(shù)中可通過類選擇進入各個功能函數(shù)。class Manager /定義類Managerprivate:double dAmt; /收入數(shù)目char ans; /存放鍵盤字符的ASCII碼double num; /存入輸入的數(shù)據(jù)double wAmt; /支出數(shù)目 double setAmt; /制定目標double gAmt; /取目標金額double balance; /收支金額double newbalance; /與目標所差的收支金額public: /聲名我所有的函數(shù)void Deposit(); /收入函數(shù)
4、,定制收入金額,并將數(shù)據(jù)保存到文件中void Withdraw(); /支出函數(shù),定制支出金額,并將數(shù)據(jù)保存到文件中void ViewTotal(); /查看帳目,查看帳目,并可看到收支平衡,目標金額,與目標金額的差額void SetGoal(); /制定目標金額,將數(shù)據(jù)保存到文件中void SetZero(); /記錄置零,將三個數(shù)據(jù)全部置零;心得體會沒編程序時感覺難度很大,無從下手。當耐下心來從頭至尾將源代碼看了兩遍才對程序有個模糊的認識。在修改程序時,發(fā)現(xiàn)有許多不懂和淡忘的地方,回過頭來查找相關(guān)資料,把問題一個個擊破。并且有些較難理解的語句在不斷修改的過程中可以逐漸清晰。課程設(shè)計可以充分
5、發(fā)揮我的編程綜合能力,將自己的編程知識串聯(lián)起來,綜合利用,自己的編程能力。很高興有這個機會促使我編程。總之,在這個程序設(shè)計中的收獲還是非常多的。# define MIN /調(diào)試模式時保留# define DE1 /調(diào)試模式時保留# define DE2 /調(diào)試模式時保留# define WI1 /調(diào)試模式時保留# define WI2 /調(diào)試模式時保留# define SG /調(diào)試模式時保留# define VT /調(diào)試模式時保留# define SZ /調(diào)試模式時保留#include <iostream.h>#include <fstream.h>#include &
6、lt;conio.h>#include <iomanip.h>#include <stdlib.h>class Manager /定義類Managerprivate:double dAmt; /收入數(shù)目char ans; /存放鍵盤字符的ASCII碼double num; /存入輸入的數(shù)據(jù)double wAmt; /支出數(shù)目 double setAmt; /制定目標double gAmt; /取目標金額double balance; /收支金額double newbalance; /與目標所差金額public: /聲名我所有的函數(shù)void Deposit(); /
7、收入函數(shù)void Withdraw(); /支出函數(shù)void ViewTotal(); /查看帳目void SetGoal(); /制定目標void SetZero(); /記錄置零;Manager main() /主函數(shù) Manager mm; /創(chuàng)建對象char select; cprintf("=個人財政支出管理= ");/顯示標題# ifdef MINcout<<"nnn#調(diào) 試 模 式#"<<endl;#endifcout<<"nnt<1> 收入模式"<<endl;
8、 /選擇<1>進入收入模式 cout<<"nt<2> 支出模式"<<endl; /選擇<2>進入支出模式 cout<<"nt<3> 查看帳目"<<endl; /選擇<3>進入查看帳目模式 cout<<"nt<4> 制定目標"<<endl; /選擇<4>進入制定目標模式 cout<<"nt<5> 記錄置零"<<endl; /選擇
9、<5>記錄置零cout<<"nt<6> 退出系統(tǒng)"<<endl; /選擇<6>退出 cout<<"nt<0> 幫 助 "<<endl;cout<<"nnt請輸入你的選擇: " cin>>select; if(select = '1')mm.Deposit();else if(select = '2')mm.Withdraw();else if(select = '3')
10、mm.ViewTotal();else if(select = '4')mm.SetGoal();else if(select = '5')mm.SetZero();elseif(select = '0')cout<<"nnnn程序功能簡介:個人財政支出管理程序,完成收入,支出,盈余的記錄和管理。主頁面下選擇數(shù)字鍵進入!"<<'n'<<'n'cout<<" 制做人:劉偉南" cout<<endl<<end
11、l<<endl;getch();main(); /回主函數(shù)elseif(select = '6')exit(1); /退出else main(); /回主函數(shù) void Manager:Deposit()/在程序中記錄收入數(shù)目的函數(shù) mm1:dAmt = 0; num = 0; double a=0,c=0;ifstream get("Money.txt"); /打開存貯數(shù)據(jù)文件# ifdef DE1cout<<"n#打開文件money.txt讀取數(shù)據(jù)#"<<endl;#endifget>>
12、a>>num>>c; /取得存檔文件中的三個數(shù)據(jù)get.close(); cout<<endl<<endl;cprintf("*收入* "); cout<<"nnt請輸入收入金額: $" cin>>dAmt;/檢查輸入的數(shù)據(jù)是否為錯誤的數(shù)據(jù)或是零,然后繼續(xù) if(dAmt <= 0) /如果數(shù)據(jù)小于等于零 cout<<"nnnnn"<<endl; cprintf(" !錯誤的數(shù)據(jù)! ."); getch(); ma
13、in(); else cout<<"nnt數(shù)據(jù)輸入 <"<<dAmt<<">."<<endl; cout<<"nt 確認你輸入的數(shù)據(jù)<y/n>: " cin>>ans; if(ans = 'y') dAmt = dAmt + num; /把新數(shù)據(jù)加到原有數(shù)據(jù)上 ofstream save("Money.txt");# ifdef DE2cout<<"n#打開文件money.txt,保
14、存數(shù)據(jù)#"<<endl;#endifsave<<a<<'n'<<dAmt<<'n'<<c; save.close(); cout<<"nnnnn"<<endl; cprintf(" 你的收入數(shù)據(jù)成功輸入."); cout<<"nt 繼續(xù)輸入收入金額<y/n>: "cin>>ans;if(ans = 'y')goto mm1; /繼續(xù)輸入數(shù)據(jù)else
15、cout<<endl<<endl<<endl;main(); /回主函數(shù)getch(); cout<<endl<<endl<<endl;main(); /回主函數(shù) else /中止輸入數(shù)據(jù) main(); /回主函數(shù) main(); /回主函數(shù) void Manager:Withdraw() /在程序中記錄支出數(shù)目的函數(shù) mm2:wAmt = 0; num = 0; double a=0,b=0;ifstream get("Money.txt"); /打開存貯數(shù)據(jù)文件# ifdef WI1cout<
16、;<"n#打開文件money.txt,讀取數(shù)據(jù)#"<<endl;#endif get>>a>>b>>num; /取得存檔文件中的三個數(shù)據(jù) get.close(); cout<<endl<<endl;cprintf("*支出* "); cout<<"nnt請輸入支出金額: $" cin>>wAmt; if(wAmt <= 0) /檢查輸入的數(shù)據(jù)是否為錯誤的數(shù)據(jù)或是零,然后繼續(xù) cout<<"nnnnn&quo
17、t;<<endl; cprintf(" !錯誤的數(shù)據(jù)! ."); getch(); main(); else cout<<"nnt數(shù)據(jù)輸入 <"<<wAmt<<">."<<endl; cout<<"nt 確認你輸入的數(shù)據(jù)<y/n>: " cin>>ans; if(ans = 'y') wAmt = wAmt + num; /把新數(shù)據(jù)加到原有數(shù)據(jù)上 ofstream save("Mon
18、ey.txt");# ifdef WI2cout<<"n#打開文件money.txt,保存數(shù)據(jù)#"<<endl;#endifsave<<a<<'n'<<b<<'n'<<wAmt; save.close(); cout<<"nnnnn"<<endl; cprintf(" 你的支出數(shù)據(jù)成功輸入."); cout<<"nt 繼續(xù)輸入支出金額<y/n>: &qu
19、ot;cin>>ans;if(ans = 'y')goto mm2; /繼續(xù)輸入數(shù)據(jù)elsecout<<endl<<endl<<endl;main(); /回主函數(shù)getch(); cout<<endl<<endl<<endl;main(); else /中止輸入數(shù)據(jù) main(); /回主函數(shù) main(); /回主函數(shù) void Manager:SetGoal() /在程序中制定目標金額的函數(shù) setAmt = 0; double b=0,c=0,temp=0;cout<<end
20、l<<endl;cprintf("*制定目標* "); cout<<"nnt制定目標金額: " cin>>setAmt; /保存新數(shù)據(jù)到文件中ifstream get("Money.txt"); /打開存貯數(shù)據(jù)文件 get>>temp>>b>>c; /取得存檔文件中的三個數(shù)據(jù) get.close();# ifdef SGcout<<"n#打開文件money.txt,保存數(shù)據(jù)#"<<endl;#endifofstream
21、save("Money.txt"); save<<setAmt<<'n'<<b<<'n'<<c; save.close(); cout<<"nnnnn"<<endl; cprintf(" 你的目標金額已建立."); getch(); cout<<endl<<endl<<endl;main();void Manager:ViewTotal() /查看帳目函數(shù) dAmt = 0; /收入數(shù)
22、目 wAmt = 0; /支出數(shù)目 gAmt = 0; /取目標金額 balance = 0; /收支金額 newbalance = 0;/與目標所差金額# ifdef VTcout<<"n#打開文件money.txt,讀取數(shù)據(jù)#"<<endl;#endififstream get("Money.txt"); /打開存貯數(shù)據(jù)文件 get>>gAmt>>dAmt>>wAmt; /取得存檔文件中的三個數(shù)據(jù) get.close(); balance = dAmt - wAmt; /收入減去支出取得收支
23、平衡數(shù)據(jù) cout<<endl<<endl;cprintf("*查看帳目* "); cout<<"nn"<<endl; cprintf(" 收支總數(shù)"); cout<<""<<endl; cprintf(" ="); cout<<"nn"<<endl; cprintf(" 收入總金額 支出總金額 收支總金額 "); cout<<"n&quo
24、t;<<endl; cout<<setw(15)<<dAmt<<setw(25)<<wAmt<<setw(20)<<balance<<endl;/使每兩個數(shù)據(jù)按一定的間隔輸出 newbalance = gAmt - balance; cout<<"nnn"<<endl; cprintf(" 收支平衡"); cout<<""<<endl; cprintf(" ="); cout
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 租賃店鋪的殘疾人士服務(wù)考核試卷
- 鑄造過程中的質(zhì)量管理方法創(chuàng)新與實踐案例分析考核試卷
- 銀礦市場動態(tài)監(jiān)測與投資決策分析考核試卷
- 過敏性休克病人急救護理
- 呼吸道疾病預(yù)防及措施
- 院前急救的常見護理技術(shù)
- 機場應(yīng)急救援淺析課件
- 影像學(xué)呼吸系統(tǒng)概述
- 外科手部護理標準流程
- 感染控制管理規(guī)范實施框架
- 轉(zhuǎn)讓魚塘釣場協(xié)議書
- 叉車司機理論知識考試復(fù)習(xí)題庫(必會500題)
- 常州保安證考試題及答案
- 《化工和危險化學(xué)品生產(chǎn)經(jīng)營單位重大生產(chǎn)安全事故隱患判定標準》解讀與培訓(xùn)
- 《合理用藥安全教育》課件
- 優(yōu)化能源消耗的綠色IT部署戰(zhàn)略規(guī)劃
- 2025年上半年內(nèi)蒙古包頭市市直事業(yè)單位招考易考易錯模擬試題(共500題)試卷后附參考答案
- 2025年度人工智能產(chǎn)業(yè)投資基金入股協(xié)議4篇
- 4.2.2光柵傳感器測量位移
- 2025年華遠陸港集團所屬華遠陸港網(wǎng)絡(luò)貨運(山西)限公司招聘(72人)管理單位筆試遴選500模擬題附帶答案詳解
- T-CCIASD 10012-2024 ISO 標準集裝箱用水性涂料
評論
0/150
提交評論