個(gè)人記賬管理_第1頁(yè)
個(gè)人記賬管理_第2頁(yè)
個(gè)人記賬管理_第3頁(yè)
個(gè)人記賬管理_第4頁(yè)
個(gè)人記賬管理_第5頁(yè)
已閱讀5頁(yè),還剩26頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、沈 陽(yáng) 工 程 學(xué) 院信 息 學(xué) 院C語(yǔ)言程序設(shè)計(jì)實(shí)踐課 程 設(shè) 計(jì)設(shè)計(jì)題目: 個(gè)人記帳管理 系 別 物聯(lián)網(wǎng)工程 班級(jí) 學(xué)生姓名 學(xué) 號(hào) 2016319119 指導(dǎo)教師 職稱(chēng) 副教授/講師 起止日期: 2016年12月16日起至 2017年01月06日止沈 陽(yáng) 工 程 學(xué) 院 信 息 學(xué) 院 C語(yǔ)言程序設(shè)計(jì)實(shí)踐 課程設(shè)計(jì)成績(jī)?cè)u(píng)定表系(部): 班級(jí): 學(xué)生姓名: 指 導(dǎo) 教 師 評(píng) 審 意 見(jiàn)評(píng)價(jià)內(nèi)容具 體 要 求權(quán)重評(píng) 分加權(quán)分調(diào)研論證能獨(dú)立查閱文獻(xiàn),收集資料;能制定課程設(shè)計(jì)方案和日程安排。0.15432工作能力態(tài)度工作態(tài)度認(rèn)真,遵守紀(jì)律,出勤情況是否良好,能夠獨(dú)立完成設(shè)計(jì)工作, 0.2543

2、2工作量按期圓滿(mǎn)完成規(guī)定的設(shè)計(jì)任務(wù),工作量飽滿(mǎn),難度適宜。0.25432說(shuō)明書(shū)的質(zhì)量說(shuō)明書(shū)立論正確,論述充分,結(jié)論嚴(yán)謹(jǐn)合理,文字通順,技術(shù)用語(yǔ)準(zhǔn)確,符號(hào)統(tǒng)一,編號(hào)齊全,圖表完備,書(shū)寫(xiě)工整規(guī)范。0.55432指導(dǎo)教師評(píng)審成績(jī)(加權(quán)分合計(jì)乘以8) 分加權(quán)分合計(jì)指 導(dǎo) 教 師 簽 名: 年 月 日評(píng) 閱 教 師 評(píng) 審 意 見(jiàn)評(píng)價(jià)內(nèi)容具 體 要 求權(quán)重評(píng) 分加權(quán)分查閱文獻(xiàn)查閱文獻(xiàn)有一定廣泛性;有綜合歸納資料的能力0.25432工作量工作量飽滿(mǎn),難度適中。0.55432說(shuō)明書(shū)的質(zhì)量說(shuō)明書(shū)立論正確,論述充分,結(jié)論嚴(yán)謹(jǐn)合理,文字通順,技術(shù)用語(yǔ)準(zhǔn)確,符號(hào)統(tǒng)一,編號(hào)齊全,圖表完備,書(shū)寫(xiě)工整規(guī)范。0.35432

3、評(píng)閱教師評(píng)審成績(jī)(加權(quán)分合計(jì)乘以4)分加權(quán)分合計(jì)評(píng) 閱 教 師 簽 名: 年 月 日答 辯 小 組 評(píng) 審 意 見(jiàn)評(píng)價(jià)內(nèi)容具 體 要 求權(quán)重評(píng) 分加權(quán)分學(xué)生匯報(bào)匯報(bào)準(zhǔn)備充分,思路清晰;語(yǔ)言表達(dá)準(zhǔn)確,概念清楚,論點(diǎn)正確,有層次,有重點(diǎn),基本上反映了所完成任務(wù)的全部?jī)?nèi)容;時(shí)間符合要求。0.55432答 辯思路清晰;回答問(wèn)題有理論依據(jù),基本概念清楚;主要問(wèn)題回答準(zhǔn)確,深入,有說(shuō)服力。0.55432答辯小組評(píng)審成績(jī)(加權(quán)分合計(jì)乘以8)分加權(quán)分合計(jì)答辯小組教師簽名: 年 月 日課 程 設(shè) 計(jì) 總 評(píng) 成 績(jī)分沈 陽(yáng) 工 程 學(xué) 院 信 息 學(xué) 院 C語(yǔ)言程序設(shè)計(jì)實(shí)踐 課程設(shè)計(jì)成績(jī)?cè)u(píng)定表系(部): 班級(jí):

4、 學(xué)生姓名: 指 導(dǎo) 教 師 評(píng) 審 意 見(jiàn)評(píng)價(jià)內(nèi)容具 體 要 求權(quán)重評(píng) 分加權(quán)分調(diào)研論證能獨(dú)立查閱文獻(xiàn),收集資料;能制定課程設(shè)計(jì)方案和日程安排。0.15432工作能力態(tài)度工作態(tài)度認(rèn)真,遵守紀(jì)律,出勤情況是否良好,能夠獨(dú)立完成設(shè)計(jì)工作, 0.25432工作量按期圓滿(mǎn)完成規(guī)定的設(shè)計(jì)任務(wù),工作量飽滿(mǎn),難度適宜。0.25432說(shuō)明書(shū)的質(zhì)量說(shuō)明書(shū)立論正確,論述充分,結(jié)論嚴(yán)謹(jǐn)合理,文字通順,技術(shù)用語(yǔ)準(zhǔn)確,符號(hào)統(tǒng)一,編號(hào)齊全,圖表完備,書(shū)寫(xiě)工整規(guī)范。0.55432指導(dǎo)教師評(píng)審成績(jī)(加權(quán)分合計(jì)乘以8) 分加權(quán)分合計(jì)指 導(dǎo) 教 師 簽 名: 年 月 日評(píng) 閱 教 師 評(píng) 審 意 見(jiàn)評(píng)價(jià)內(nèi)容具 體 要 求權(quán)重評(píng)

5、 分加權(quán)分查閱文獻(xiàn)查閱文獻(xiàn)有一定廣泛性;有綜合歸納資料的能力0.25432工作量工作量飽滿(mǎn),難度適中。0.55432說(shuō)明書(shū)的質(zhì)量說(shuō)明書(shū)立論正確,論述充分,結(jié)論嚴(yán)謹(jǐn)合理,文字通順,技術(shù)用語(yǔ)準(zhǔn)確,符號(hào)統(tǒng)一,編號(hào)齊全,圖表完備,書(shū)寫(xiě)工整規(guī)范。0.35432評(píng)閱教師評(píng)審成績(jī)(加權(quán)分合計(jì)乘以4)分加權(quán)分合計(jì)評(píng) 閱 教 師 簽 名: 年 月 日答 辯 小 組 評(píng) 審 意 見(jiàn)評(píng)價(jià)內(nèi)容具 體 要 求權(quán)重評(píng) 分加權(quán)分學(xué)生匯報(bào)匯報(bào)準(zhǔn)備充分,思路清晰;語(yǔ)言表達(dá)準(zhǔn)確,概念清楚,論點(diǎn)正確,有層次,有重點(diǎn),基本上反映了所完成任務(wù)的全部?jī)?nèi)容;時(shí)間符合要求。0.55432答 辯思路清晰;回答問(wèn)題有理論依據(jù),基本概念清楚;主要

6、問(wèn)題回答準(zhǔn)確,深入,有說(shuō)服力。0.55432答辯小組評(píng)審成績(jī)(加權(quán)分合計(jì)乘以8)分加權(quán)分合計(jì)答辯小組教師簽名: 年 月 日課 程 設(shè) 計(jì) 總 評(píng) 成 績(jī)分沈陽(yáng)工程學(xué)院信息學(xué)院C語(yǔ)言程序設(shè)計(jì)實(shí)踐課程設(shè)計(jì)任務(wù)書(shū)課程設(shè)計(jì)題目: 個(gè)人記帳管理 系 別 物聯(lián)網(wǎng)工程 班級(jí) 物聯(lián)網(wǎng)161 學(xué)生姓名 學(xué) 號(hào) 2 指導(dǎo)教師 職稱(chēng) 副教授、講師 課程設(shè)計(jì)進(jìn)行地點(diǎn): 實(shí)訓(xùn)樓F六樓機(jī)房 任 務(wù) 下 達(dá) 時(shí) 間: 2016年 12 月 14 日起止日期:2016年12月16日起至2017年01月06日止系主任 2016年 12 月 09 日批準(zhǔn)一、 課程設(shè)計(jì)的原始資料及依據(jù)查閱有關(guān)資料,進(jìn)一步理解面向?qū)ο蟪绦蛟O(shè)計(jì)的思想

7、,并編寫(xiě)一個(gè)簡(jiǎn)單的應(yīng)用程序系統(tǒng)。通過(guò)本設(shè)計(jì)可以加深理解使用結(jié)構(gòu)化程序設(shè)計(jì)思想開(kāi)發(fā)一個(gè)系統(tǒng)的方法,提高分析問(wèn)題、解決問(wèn)題和實(shí)際動(dòng)手的能力。二、課程設(shè)計(jì)主要內(nèi)容及要求設(shè)計(jì)內(nèi)容:1. 記賬信息:月份、食品消費(fèi)、房租費(fèi)用、子女教育費(fèi)、用水電費(fèi)用、醫(yī)療費(fèi)用、儲(chǔ)蓄費(fèi)用、收入費(fèi)用。2. 功能:分別可添加、修改、查詢(xún)、排序、刪除。3. 保存。設(shè)計(jì)要求:1. 要求利用結(jié)構(gòu)化的方法完成系統(tǒng)的設(shè)計(jì);2. 要求在設(shè)計(jì)的過(guò)程中建立清晰度層次結(jié)構(gòu);3. 設(shè)計(jì)功能滿(mǎn)足要求、易于操作的友好界面;4. 界面中需有菜單;5. 在系統(tǒng)的設(shè)計(jì)中,至少要建立5個(gè)以上獨(dú)立函數(shù);6. 要求操作簡(jiǎn)單,用戶(hù)界面友好。7. 運(yùn)行程序,檢查結(jié)果是

8、否和理論值一致。8. 在完成該題目時(shí),小組人員進(jìn)行詳細(xì)的任務(wù)分工,并要在報(bào)告中體現(xiàn)出來(lái)。三、對(duì)課程設(shè)計(jì)說(shuō)明書(shū)撰寫(xiě)內(nèi)容、格式、字?jǐn)?shù)的要求1課程設(shè)計(jì)說(shuō)明書(shū)是體現(xiàn)和總結(jié)課程設(shè)計(jì)成果的載體,主要內(nèi)容包括:設(shè)計(jì)題目、設(shè)計(jì)目的、設(shè)備器材、設(shè)計(jì)原理及內(nèi)容、設(shè)計(jì)步驟、遇到的問(wèn)題及解決方法、設(shè)計(jì)總結(jié)、參考文獻(xiàn)等。一般不應(yīng)少于3000字。2在適當(dāng)位置配合相應(yīng)的實(shí)驗(yàn)原理圖、功能模塊圖、算法流程圖等圖表進(jìn)行說(shuō)明。應(yīng)做到文理通順,內(nèi)容正確完整,書(shū)寫(xiě)工整,裝訂整齊。3設(shè)計(jì)總結(jié)部分主要寫(xiě)本人完成工作簡(jiǎn)介以及自己的設(shè)計(jì)體會(huì),包括通過(guò)課程設(shè)計(jì)學(xué)到了什么,哪里遇到了困難,解決的辦法以及今后的目標(biāo)。4課程設(shè)計(jì)說(shuō)明書(shū)手寫(xiě)或打印均可。

9、手寫(xiě)要用學(xué)校統(tǒng)一的課程設(shè)計(jì)用紙,用黑或藍(lán)黑墨水工整書(shū)寫(xiě);打印時(shí)采用A4紙,頁(yè)邊距均為20mm,正文采用宋體小四號(hào)字,行間距18磅。文中大標(biāo)題采用黑體小三號(hào)字,一級(jí)節(jié)標(biāo)題采用黑體四號(hào)字,二級(jí)節(jié)標(biāo)題采用黑體小四號(hào)字,表題與圖題采用宋體五號(hào)字。5課程設(shè)計(jì)說(shuō)明書(shū)裝訂順序?yàn)椋悍饷妗⑷蝿?wù)書(shū)、成績(jī)?cè)u(píng)定表、目錄、正文、參考文獻(xiàn)。四、設(shè)計(jì)完成后應(yīng)提交成果的種類(lèi)、數(shù)量、質(zhì)量等方面的要求1完成“任務(wù)書(shū)”中指定的功能,運(yùn)行結(jié)果正確。2課程設(shè)計(jì)說(shuō)明書(shū)。五、時(shí)間進(jìn)度安排順序階段日期計(jì) 劃 完 成 內(nèi) 容備注1第1天進(jìn)行設(shè)計(jì)準(zhǔn)備,閱讀資料,分析設(shè)計(jì)任務(wù)書(shū),明確設(shè)計(jì)要求、內(nèi)容和步驟2第2天需求分析3第3天概要設(shè)計(jì)4第4-5天

10、詳細(xì)設(shè)計(jì)5第58天編碼、調(diào)試6第9-10天程序答辯,撰寫(xiě)課程設(shè)計(jì)報(bào)告六、主要參考資料(文獻(xiàn))1譚浩強(qiáng).C程序設(shè)計(jì)(第三版).北京: 清華大學(xué)出版社.20062陳天洲.C語(yǔ)言高級(jí)程序設(shè)計(jì). 北京:人民郵電出版社.2002 3楊旭.C語(yǔ)言程序設(shè)計(jì)案例教程.北京: 人民郵電出版社.20054郭翠英.程序設(shè)計(jì)案例經(jīng)典.中國(guó)水利電力出版社.20045譚浩強(qiáng).程序設(shè)計(jì)基礎(chǔ).北京:清華大學(xué)出版社.20046張翔.C語(yǔ)言函數(shù)大全 電子工業(yè)出版社.20057王為青.C語(yǔ)言高級(jí)編程及實(shí)例剖析.北京:人民郵電出版社.2008.028徐慧.C語(yǔ)言實(shí)例解析精粹.北京:人民郵電出版社.2006.049姚大鵬 欒好利 張翼

11、英 等編著.C語(yǔ)言程序設(shè)計(jì)教程習(xí)題與上機(jī)實(shí)訓(xùn)指導(dǎo).中國(guó)水利水電出版社.2005課 程 設(shè) 計(jì) 任 務(wù) 分 工組長(zhǎng)姓名張峻銘題目個(gè)人記帳管理項(xiàng)目組成員個(gè)人任務(wù)描述自我評(píng)定錄入功能的設(shè)計(jì)和儲(chǔ)存功能設(shè)計(jì)和排序功能的設(shè)計(jì)以及刪除功能的設(shè)計(jì)優(yōu)秀主頁(yè)面的設(shè)計(jì)和查詢(xún)功能的設(shè)計(jì)和修改功能設(shè)計(jì)以及制作world文檔良好目 錄第1章 緒 論1第2章 系統(tǒng)功能分析22.1 功能22.2系統(tǒng)功能需求2第3章 總體設(shè)計(jì)33.1 系統(tǒng)設(shè)計(jì)33.2 分塊設(shè)計(jì)31)菜單32)錄入功能設(shè)計(jì)43 ) 存儲(chǔ)功能設(shè)計(jì)54)查看功能設(shè)計(jì)55)修改功能設(shè)計(jì)76)查詢(xún)功能設(shè)計(jì)87 ) 排序功能設(shè)計(jì)108)刪除功能設(shè)計(jì)12第4章 調(diào)試結(jié)果和

12、設(shè)計(jì)分析144.1 主頁(yè)面144.2 錄入數(shù)據(jù)144.3 查看數(shù)據(jù)154.4 修改數(shù)據(jù)154.5 查詢(xún)數(shù)據(jù)164.6 排序系統(tǒng)174.7 刪除系統(tǒng)17結(jié) 論18致 謝19參考文獻(xiàn)20程序21 第1章 緒 論程序設(shè)計(jì)過(guò)程有如解決一個(gè)實(shí)際問(wèn)題,從解決實(shí)際問(wèn)題的角度,我們可以這樣來(lái)看:首先要了解這個(gè)問(wèn)題的基本要求,即輸入、輸出、完成從輸入到輸出的要求是什么;其次,從問(wèn)題的要害入手,從前到后的解決問(wèn)題的每個(gè)方面,即從輸入開(kāi)始入手,著重考慮如何從輸入導(dǎo)出輸出,在這個(gè)過(guò)程中,可確定所需的變量、數(shù)組、指針、鏈表、命令、函數(shù),然后確定處理過(guò)程算法。可得最后結(jié)果這次我們組要解決的實(shí)際問(wèn)題是個(gè)人賬簿管理系統(tǒng)的設(shè)計(jì)

13、我們將嚴(yán)格按照程序設(shè)計(jì)的過(guò)程來(lái)完成這一個(gè)課題的設(shè)計(jì)第2章 系統(tǒng)功能分析 2.1 功能 個(gè)人帳簿管理系統(tǒng)記錄某人每月的全部收入及各項(xiàng)開(kāi)支情況,包括食品消費(fèi),房租,子女教育費(fèi)用,水電費(fèi),醫(yī)療費(fèi),儲(chǔ)蓄等。進(jìn)入系統(tǒng)后可以輸入和修改某月的收支情況,可以對(duì)每月的開(kāi)支從小到大進(jìn)行排序,可以根據(jù)輸入的月份查詢(xún)每月的收支情況。2.2系統(tǒng)功能需求1.文件操作功能:自動(dòng)加載和保存數(shù)據(jù)文件。2.數(shù)據(jù)輸入功能:可以按提示錄入各項(xiàng)數(shù)據(jù)。 3.數(shù)據(jù)修改功能:可以按提示修改各項(xiàng)數(shù)據(jù)。 4.查詢(xún)功能:可按月份、食品消費(fèi)進(jìn)行特定查詢(xún),及顯示全部數(shù)據(jù)。 5.排序功能:完成對(duì)每月開(kāi)支的排序。 6.刪除功能:可以按提示刪除一些數(shù)據(jù)。7

14、.轉(zhuǎn)碼功能:我們對(duì)文件用的是dat的形式,設(shè)計(jì)轉(zhuǎn)碼功能,將它轉(zhuǎn)為txt形式。第3章 總體設(shè)計(jì)3.1 系統(tǒng)設(shè)計(jì)按系統(tǒng)分析的功能要求將系統(tǒng)劃分為以下幾個(gè)主要功能模塊:結(jié)構(gòu)圖:主菜單錄入數(shù)據(jù)儲(chǔ)存數(shù)據(jù)修改數(shù)據(jù)查詢(xún)數(shù)據(jù)刪除數(shù)據(jù)排序退出查看數(shù)據(jù)3.2 分塊設(shè)計(jì)1)菜單void menu(void) int item; int mon; Yyy *a; a=(Yyy *)malloc(sizeof(Yyy); do printf("個(gè)人帳簿管理系統(tǒng)設(shè)計(jì)n"); printf("1.錄入數(shù)據(jù)n"); printf("2.查看數(shù)據(jù)n"); printf

15、("3.修改數(shù)據(jù)n"); printf("4.查詢(xún)數(shù)據(jù)n"); printf("5.排序數(shù)據(jù)n"); printf("6.刪除數(shù)據(jù)n"); printf("0.退出系統(tǒng)n"); printf("請(qǐng)輸入要進(jìn)行的操作: " ); scanf("%d",&item); while(item>6 | item<-1); 2)錄入功能設(shè)計(jì)void input(Yyy *newI) printf("n依次輸入數(shù)據(jù):n(本月月份 食品消費(fèi)

16、房租費(fèi)用 子女費(fèi)用 水電費(fèi)用 醫(yī)療費(fèi)用 儲(chǔ)蓄費(fèi)用 收入費(fèi)用)n"); scanf("%d%d%d%d%d%d%d%d",&newI->month,&newI->spxf,&newI->fzfy,&newI->znjy,&newI->sdfy,&newI->ylfy,&newI->cxfy,&newI->srfy);fflush(stdin);3 ) 存儲(chǔ)功能設(shè)計(jì)void writeyyy(Yyy *newI) FILE *fp; fp=fopen(Fil

17、ePath1,"ab+"); if(fp=NULL) printf("無(wú)法創(chuàng)建文件:%s",FilePath1); exit(0); fwrite(newI,sizeof(Yyy),1,fp); fclose(fp); printf("數(shù)據(jù)錄入成功!n"); 4)查看功能設(shè)計(jì) void changeFormat(void) /暫時(shí)只能操作一行文件有待改進(jìn) FILE *fp1,*fp2; Yyy *a; a=(Yyy *)malloc(sizeof(Yyy); fp1=fopen(FilePath1,"rb+");

18、if(fp1=NULL) printf("無(wú)法找到文件:%sn",FilePath1); return ;/返回主函數(shù) fp2=fopen(FilePath2,"wt+"); if(fp2=NULL) printf("無(wú)法創(chuàng)建文件:%sn",FilePath2); return ;/返回主函數(shù) fputs(" n個(gè)人帳簿管理系統(tǒng)n",fp2); fputs("記錄月份 食品消費(fèi) 房租費(fèi)用 子女費(fèi)用 水電費(fèi)用 醫(yī)療費(fèi)用 儲(chǔ)蓄費(fèi)用 本月收入n",fp2);fputs("- n",

19、fp2); printf("n記錄月份 食品消費(fèi) 房租費(fèi)用 子女費(fèi)用 水電費(fèi)用 醫(yī)療費(fèi)用 儲(chǔ)蓄費(fèi)用 本月收入n");printf("- n"); rewind(fp1); fread(a,sizeof(Yyy),1,fp1); while(!feof(fp1) printf("%7d %8d %8d %8d %8d %8d %8d %8dn",a->month,a->spxf,a->fzfy,a->znjy,a->sdfy,a->ylfy,a->cxfy,a->srfy);fprintf

20、(fp2,"%7d %8d %8d %8d %8d %8d %8d %8dn",a->month,a->spxf,a->fzfy,a->znjy,a->sdfy,a->ylfy,a->cxfy,a->srfy); fread(a,sizeof(Yyy),1,fp1); fputs("- n",fp2); fputs("關(guān)閉本程序繼續(xù)原程序!n",fp2); fclose(fp1); fclose(fp2); system(FilePath2); /調(diào)用打開(kāi)轉(zhuǎn)換的文本文件 remove(F

21、ilePath2);/刪除文本文件文件 5)修改功能設(shè)計(jì)void modify(Yyy *a,int mon) FILE *fp1,*fp2; Yyy *b; b=(Yyy *)malloc(sizeof(Yyy); fp1=fopen(FilePath1,"rt"); fp2=fopen("temp.dat","wt+"); rewind(fp1); fread(b,sizeof(Yyy),1,fp1); while (!feof(fp1) if(b->month=mon) fwrite(a,sizeof(Yyy),1,fp2

22、); else fwrite(b,sizeof(Yyy),1,fp2); fread(b,sizeof(Yyy),1,fp1); fclose(fp1); fclose(fp2); remove(FilePath1);/刪除源文件 rename("temp.dat",FilePath1);/重命名中間文件 printf("修改數(shù)據(jù)成功!n" ); changeFormat(); 6)查詢(xún)功能設(shè)計(jì)Status search(Yyy *a) FILE *fp1; int mon; int isfound=0; printf("請(qǐng)正確輸入要查詢(xún)的月份

23、:"); scanf("%d",&mon); fflush(stdin); fp1=fopen(FilePath1,"rb+"); if(fp1=NULL) printf("無(wú)法找到文件:%sn",FilePath1); return 0; /返回主函數(shù) rewind(fp1); fread(a,sizeof(Yyy),1,fp1); while(!feof(fp1) if(a->month=mon) isfound=1; break; else isfound=0; fread(a,sizeof(Yyy),1

24、,fp1); fclose(fp1); if(isfound) return 1; else return NotFound; 7 ) 排序功能設(shè)計(jì)void paixu(Yyy *a) int i=0,j=0,flag=0,t; pType px8=0,0; char str810="記錄月份","食品消費(fèi)","房租費(fèi)用","子女費(fèi)用","水電費(fèi)用","醫(yī)療費(fèi)用","儲(chǔ)蓄費(fèi)用","本月收入" for(;i<8;i+) pxi.no

25、=i; px0.data=a->month; px1.data=a->spxf; px2.data=a->fzfy; px3.data=a->znjy; px4.data=a->sdfy; px5.data=a->ylfy; px6.data=a->cxfy; px7.data=a->srfy; for(i=1;i<8;i+) for(j=0;j<8-i;j+) if(pxj.data>pxj+1.data) t=pxj.data; pxj.data=pxj+1.data; pxj+1.data=t; t=pxj.no; pxj

26、.no=pxj+1.no; pxj+1.no=t; printf("n"); for(i=0;i<8;i+) printf(" %s",strpxi.no); printf("n- n"); for(i=0;i<8;i+) printf("%8d ",pxi.data); printf("n"); 8)刪除功能設(shè)計(jì)void delRecord(int mon) FILE *fp1,*fp2; Yyy *b; b=(Yyy *)malloc(sizeof(Yyy); fp1=fopen

27、(FilePath1,"rt"); fp2=fopen("temp.dat","wt+"); rewind(fp1); fread(b,sizeof(Yyy),1,fp1); while (!feof(fp1) if(b->month!=mon) fwrite(b,sizeof(Yyy),1,fp2); fread(b,sizeof(Yyy),1,fp1); fclose(fp1); fclose(fp2); remove(FilePath1);/刪除源文件 rename("temp.dat",FilePat

28、h1);/重命名中間文件 printf("刪除數(shù)據(jù)成功!n" ); 第4章 調(diào)試結(jié)果和設(shè)計(jì)分析4.1 主頁(yè)面4.2 錄入數(shù)據(jù)4.3 查看數(shù)據(jù)4.4 修改數(shù)據(jù)4.5 查詢(xún)數(shù)據(jù)4.6 排序系統(tǒng)4.7 刪除系統(tǒng)結(jié) 論在這次的課程設(shè)計(jì),我發(fā)現(xiàn)了自己還有很多的不足,在這方面還有很多的不會(huì)。還需要更加深入的學(xué)習(xí)。通過(guò)此次的課程設(shè)計(jì),在大一C語(yǔ)言學(xué)習(xí)的基礎(chǔ)上,我較為深入的掌握了數(shù)據(jù)結(jié)構(gòu)與算法的設(shè)計(jì)方法,具備了一定獨(dú)立分析和設(shè)計(jì)能力和初步掌握軟件開(kāi)發(fā)過(guò)程的問(wèn)題分析,系統(tǒng)設(shè)計(jì),程序編碼,測(cè)試等基本方法和技能。致 謝感謝隊(duì)友的幫助,在我一些不懂的地方給予了我及時(shí)的幫助。感謝老師的教導(dǎo),正在有些

29、方面自己和同組人還有很多的不會(huì),不過(guò)經(jīng)過(guò)老師的輔導(dǎo)還是成功編寫(xiě)了出來(lái)。參考文獻(xiàn)程序#include <stdio.h> #include <stdlib.h> #include <memory.h> #include <windows.h> /文件保存路徑 #define FilePath1 "Myyyy.dat" #define FilePath2 "Myyyy.txt" /查詢(xún)用聲明 #define Status int #define OK 1 #define Error 0 #define NotF

30、ound 2 typedef struct int month;/月份 int spxf;/食品消費(fèi) int fzfy;/房租費(fèi)用 int znjy;/子女教育費(fèi)用 int sdfy;/水電費(fèi)用 int ylfy;/醫(yī)療費(fèi)用 int cxfy;/儲(chǔ)蓄費(fèi)用 int srfy;/收入費(fèi)用 Yyy; typedef struct / 查詢(xún)用自定義數(shù)據(jù)類(lèi)型 int no; int data; pType;void menu(void); /菜單 void input(Yyy *newI); /接收鍵盤(pán)輸入 void writeyyy(Yyy *newI);/向文件內(nèi)寫(xiě)入內(nèi)容 void changeFo

31、rmat(void );/將dat格式文件轉(zhuǎn)換為txt文件 Status search(Yyy *a);/查詢(xún)函數(shù)返回查詢(xún)的結(jié)果及查詢(xún)的狀態(tài) void paixu(Yyy *a);/對(duì)查詢(xún)據(jù)結(jié)果排序 void modify(Yyy *a,int mon);/修改數(shù)據(jù) void delRecord(int mon);/刪除數(shù)據(jù) void main() while(1) menu(); void menu(void) int item; int mon; Yyy *a; a=(Yyy *)malloc(sizeof(Yyy); do printf("個(gè)人帳簿管理系統(tǒng)設(shè)計(jì)n");

32、 printf("1.錄入數(shù)據(jù)n"); printf("2.查看數(shù)據(jù)n"); printf("3.修改數(shù)據(jù)n"); printf("4.查詢(xún)數(shù)據(jù)n"); printf("5.排序數(shù)據(jù)n"); printf("6.刪除數(shù)據(jù)n"); printf("0.退出系統(tǒng)n"); printf("請(qǐng)輸入要進(jìn)行的操作: " ); scanf("%d",&item); while(item>6 | item<-1)

33、; switch(item) /退出程序 case 0: exit(0); break; /錄入數(shù)據(jù) case 1: input(a); writeyyy(a); break; /查看數(shù)據(jù) case 2: changeFormat(); break; /修改數(shù)據(jù) case 3: item=search(a); mon=a->month; if (item!=OK) printf("n沒(méi)有符合條件的記錄!n"); else printf("n記錄月份 食品消費(fèi) 房租費(fèi)用 子女費(fèi)用 水電費(fèi)用 醫(yī)療費(fèi)用 儲(chǔ)蓄費(fèi)用 本月收入 n");printf(&quo

34、t;- n");printf("%7d %8d %8d %8d %8d %8d %8d %8d/n",a->month,a->spxf,a->fzfy,a->znjy,a->sdfy,a->ylfy,a->cxfy,a->srfy); input(a); modify(a,mon); break; /查詢(xún)數(shù)據(jù) case 4: item=search(a); if (item!=OK) printf("n沒(méi)有符合條件的記錄!n"); else printf("n記錄月份 食品消費(fèi) 房租費(fèi)用

35、 子女費(fèi)用 水電費(fèi)用 醫(yī)療費(fèi)用 儲(chǔ)蓄費(fèi)用 本月收入n");printf("- n");printf("%7d %8d %8d %8d %8d %8d %8d %8d/n",a->month,a->spxf,a->fzfy,a->znjy,a->sdfy,a->ylfy,a->cxfy,a->srfy); break; /排序數(shù)據(jù) case 5: item=search(a); if (item!=OK) printf("n沒(méi)有符合條件的記錄!n"); else paixu(a)

36、; break; /刪除數(shù)據(jù) case 6: item=search(a); mon=a->month; if (item!=OK) printf("n沒(méi)有符合條件的記錄!n"); else printf("n記錄月份 食品消費(fèi) 房租費(fèi)用 子女費(fèi)用 水電費(fèi)用 醫(yī)療費(fèi)用 儲(chǔ)蓄費(fèi)用 本月收入n");printf("- n");printf("%7d %8d %8d %8d %8d %8d %8d %8d/n",a->month,a->spxf,a->fzfy,a->znjy,a->s

37、dfy,a->ylfy,a->cxfy,a->srfy); delRecord(mon); break; free(a);/釋放內(nèi)存空間 void input(Yyy *newI) printf("n依次輸入數(shù)據(jù):n(本月月份 食品消費(fèi) 房租費(fèi)用 子女費(fèi)用 水電費(fèi)用 醫(yī)療費(fèi)用 儲(chǔ)蓄費(fèi)用 收入費(fèi)用)n");scanf("%d%d%d%d%d%d%d%d",&newI->month,&newI->spxf,&newI->fzfy,&newI->znjy,&newI->sd

38、fy,&newI->ylfy,&newI->cxfy,&newI->srfy); fflush(stdin); void writeyyy(Yyy *newI) FILE *fp; fp=fopen(FilePath1,"ab+"); if(fp=NULL) printf("無(wú)法創(chuàng)建文件:%s",FilePath1); exit(1); fwrite(newI,sizeof(Yyy),1,fp); fclose(fp); printf("數(shù)據(jù)錄入成功!n"); void changeForma

39、t(void) /暫時(shí)只能操作一行文件有待改進(jìn) FILE *fp1,*fp2; Yyy *a; a=(Yyy *)malloc(sizeof(Yyy); fp1=fopen(FilePath1,"rb+"); if(fp1=NULL) printf("無(wú)法找到文件:%sn",FilePath1); return ;/返回主函數(shù) fp2=fopen(FilePath2,"wt+"); if(fp2=NULL) printf("無(wú)法創(chuàng)建文件:%sn",FilePath2); return ;/返回主函數(shù) fputs(&

40、quot; n個(gè)人帳簿管理系統(tǒng)n",fp2); fputs("記錄月份 食品消費(fèi) 房租費(fèi)用 子女費(fèi)用 水電費(fèi)用 醫(yī)療費(fèi)用 儲(chǔ)蓄費(fèi)用 本月收入n",fp2);fputs("- n",fp2); printf("n記錄月份 食品消費(fèi) 房租費(fèi)用 子女費(fèi)用 水電費(fèi)用 醫(yī)療費(fèi)用 儲(chǔ)蓄費(fèi)用 本月收入n");printf("- n"); rewind(fp1); fread(a,sizeof(Yyy),1,fp1); while(!feof(fp1) printf("%7d %8d %8d %8d %8d %

41、8d %8d %8dn",a->month,a->spxf,a->fzfy,a->znjy,a->sdfy,a->ylfy,a->cxfy,a->srfy);fprintf(fp2,"%7d %8d %8d %8d %8d %8d %8d %8dn",a->month,a->spxf,a->fzfy,a->znjy,a->sdfy,a->ylfy,a->cxfy,a->srfy); fread(a,sizeof(Yyy),1,fp1); fputs("- n&

42、quot;,fp2); fputs("關(guān)閉本程序繼續(xù)原程序!n",fp2); fclose(fp1); fclose(fp2); system(FilePath2); /調(diào)用打開(kāi)轉(zhuǎn)換的文本文件 remove(FilePath2);/刪除文本文件文件 Status search(Yyy *a) FILE *fp1; int mon; int isfound=0; printf("請(qǐng)正確輸入要查詢(xún)的月份:"); scanf("%d",&mon); fflush(stdin); fp1=fopen(FilePath1,"r

43、b+"); if(fp1=NULL) printf("無(wú)法找到文件:%sn",FilePath1); return Error; /返回主函數(shù) rewind(fp1); fread(a,sizeof(Yyy),1,fp1); while(!feof(fp1) if(a->month=mon) isfound=1; break; else isfound=0; fread(a,sizeof(Yyy),1,fp1); fclose(fp1); if(isfound) return OK; else return NotFound; void paixu(Yyy *a) int i=0,j=0,flag=0,t; pType px8=0; char str810="記錄月份","食品消費(fèi)","房租費(fèi)用","子女費(fèi)用","水電費(fèi)用","醫(yī)療費(fèi)用","儲(chǔ)蓄費(fèi)用","

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論