版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、沈 陽 工 程 學(xué) 院信 息 學(xué) 院C語言程序設(shè)計實踐課 程 設(shè) 計設(shè)計題目: 個人記帳管理 系 別 物聯(lián)網(wǎng)工程 班級 學(xué)生姓名 學(xué) 號 2016319119 指導(dǎo)教師 職稱 副教授/講師 起止日期: 2016年12月16日起至 2017年01月06日止沈 陽 工 程 學(xué) 院 信 息 學(xué) 院 C語言程序設(shè)計實踐 課程設(shè)計成績評定表系(部): 班級: 學(xué)生姓名: 指 導(dǎo) 教 師 評 審 意 見評價內(nèi)容具 體 要 求權(quán)重評 分加權(quán)分調(diào)研論證能獨立查閱文獻(xiàn),收集資料;能制定課程設(shè)計方案和日程安排。0.15432工作能力態(tài)度工作態(tài)度認(rèn)真,遵守紀(jì)律,出勤情況是否良好,能夠獨立完成設(shè)計工作, 0.2543
2、2工作量按期圓滿完成規(guī)定的設(shè)計任務(wù),工作量飽滿,難度適宜。0.25432說明書的質(zhì)量說明書立論正確,論述充分,結(jié)論嚴(yán)謹(jǐn)合理,文字通順,技術(shù)用語準(zhǔn)確,符號統(tǒng)一,編號齊全,圖表完備,書寫工整規(guī)范。0.55432指導(dǎo)教師評審成績(加權(quán)分合計乘以8) 分加權(quán)分合計指 導(dǎo) 教 師 簽 名: 年 月 日評 閱 教 師 評 審 意 見評價內(nèi)容具 體 要 求權(quán)重評 分加權(quán)分查閱文獻(xiàn)查閱文獻(xiàn)有一定廣泛性;有綜合歸納資料的能力0.25432工作量工作量飽滿,難度適中。0.55432說明書的質(zhì)量說明書立論正確,論述充分,結(jié)論嚴(yán)謹(jǐn)合理,文字通順,技術(shù)用語準(zhǔn)確,符號統(tǒng)一,編號齊全,圖表完備,書寫工整規(guī)范。0.35432
3、評閱教師評審成績(加權(quán)分合計乘以4)分加權(quán)分合計評 閱 教 師 簽 名: 年 月 日答 辯 小 組 評 審 意 見評價內(nèi)容具 體 要 求權(quán)重評 分加權(quán)分學(xué)生匯報匯報準(zhǔn)備充分,思路清晰;語言表達(dá)準(zhǔn)確,概念清楚,論點正確,有層次,有重點,基本上反映了所完成任務(wù)的全部內(nèi)容;時間符合要求。0.55432答 辯思路清晰;回答問題有理論依據(jù),基本概念清楚;主要問題回答準(zhǔn)確,深入,有說服力。0.55432答辯小組評審成績(加權(quán)分合計乘以8)分加權(quán)分合計答辯小組教師簽名: 年 月 日課 程 設(shè) 計 總 評 成 績分沈 陽 工 程 學(xué) 院 信 息 學(xué) 院 C語言程序設(shè)計實踐 課程設(shè)計成績評定表系(部): 班級:
4、 學(xué)生姓名: 指 導(dǎo) 教 師 評 審 意 見評價內(nèi)容具 體 要 求權(quán)重評 分加權(quán)分調(diào)研論證能獨立查閱文獻(xiàn),收集資料;能制定課程設(shè)計方案和日程安排。0.15432工作能力態(tài)度工作態(tài)度認(rèn)真,遵守紀(jì)律,出勤情況是否良好,能夠獨立完成設(shè)計工作, 0.25432工作量按期圓滿完成規(guī)定的設(shè)計任務(wù),工作量飽滿,難度適宜。0.25432說明書的質(zhì)量說明書立論正確,論述充分,結(jié)論嚴(yán)謹(jǐn)合理,文字通順,技術(shù)用語準(zhǔn)確,符號統(tǒng)一,編號齊全,圖表完備,書寫工整規(guī)范。0.55432指導(dǎo)教師評審成績(加權(quán)分合計乘以8) 分加權(quán)分合計指 導(dǎo) 教 師 簽 名: 年 月 日評 閱 教 師 評 審 意 見評價內(nèi)容具 體 要 求權(quán)重評
5、 分加權(quán)分查閱文獻(xiàn)查閱文獻(xiàn)有一定廣泛性;有綜合歸納資料的能力0.25432工作量工作量飽滿,難度適中。0.55432說明書的質(zhì)量說明書立論正確,論述充分,結(jié)論嚴(yán)謹(jǐn)合理,文字通順,技術(shù)用語準(zhǔn)確,符號統(tǒng)一,編號齊全,圖表完備,書寫工整規(guī)范。0.35432評閱教師評審成績(加權(quán)分合計乘以4)分加權(quán)分合計評 閱 教 師 簽 名: 年 月 日答 辯 小 組 評 審 意 見評價內(nèi)容具 體 要 求權(quán)重評 分加權(quán)分學(xué)生匯報匯報準(zhǔn)備充分,思路清晰;語言表達(dá)準(zhǔn)確,概念清楚,論點正確,有層次,有重點,基本上反映了所完成任務(wù)的全部內(nèi)容;時間符合要求。0.55432答 辯思路清晰;回答問題有理論依據(jù),基本概念清楚;主要
6、問題回答準(zhǔn)確,深入,有說服力。0.55432答辯小組評審成績(加權(quán)分合計乘以8)分加權(quán)分合計答辯小組教師簽名: 年 月 日課 程 設(shè) 計 總 評 成 績分沈陽工程學(xué)院信息學(xué)院C語言程序設(shè)計實踐課程設(shè)計任務(wù)書課程設(shè)計題目: 個人記帳管理 系 別 物聯(lián)網(wǎng)工程 班級 物聯(lián)網(wǎng)161 學(xué)生姓名 學(xué) 號 2 指導(dǎo)教師 職稱 副教授、講師 課程設(shè)計進(jìn)行地點: 實訓(xùn)樓F六樓機(jī)房 任 務(wù) 下 達(dá) 時 間: 2016年 12 月 14 日起止日期:2016年12月16日起至2017年01月06日止系主任 2016年 12 月 09 日批準(zhǔn)一、 課程設(shè)計的原始資料及依據(jù)查閱有關(guān)資料,進(jìn)一步理解面向?qū)ο蟪绦蛟O(shè)計的思想
7、,并編寫一個簡單的應(yīng)用程序系統(tǒng)。通過本設(shè)計可以加深理解使用結(jié)構(gòu)化程序設(shè)計思想開發(fā)一個系統(tǒng)的方法,提高分析問題、解決問題和實際動手的能力。二、課程設(shè)計主要內(nèi)容及要求設(shè)計內(nèi)容:1. 記賬信息:月份、食品消費、房租費用、子女教育費、用水電費用、醫(yī)療費用、儲蓄費用、收入費用。2. 功能:分別可添加、修改、查詢、排序、刪除。3. 保存。設(shè)計要求:1. 要求利用結(jié)構(gòu)化的方法完成系統(tǒng)的設(shè)計;2. 要求在設(shè)計的過程中建立清晰度層次結(jié)構(gòu);3. 設(shè)計功能滿足要求、易于操作的友好界面;4. 界面中需有菜單;5. 在系統(tǒng)的設(shè)計中,至少要建立5個以上獨立函數(shù);6. 要求操作簡單,用戶界面友好。7. 運行程序,檢查結(jié)果是
8、否和理論值一致。8. 在完成該題目時,小組人員進(jìn)行詳細(xì)的任務(wù)分工,并要在報告中體現(xiàn)出來。三、對課程設(shè)計說明書撰寫內(nèi)容、格式、字?jǐn)?shù)的要求1課程設(shè)計說明書是體現(xiàn)和總結(jié)課程設(shè)計成果的載體,主要內(nèi)容包括:設(shè)計題目、設(shè)計目的、設(shè)備器材、設(shè)計原理及內(nèi)容、設(shè)計步驟、遇到的問題及解決方法、設(shè)計總結(jié)、參考文獻(xiàn)等。一般不應(yīng)少于3000字。2在適當(dāng)位置配合相應(yīng)的實驗原理圖、功能模塊圖、算法流程圖等圖表進(jìn)行說明。應(yīng)做到文理通順,內(nèi)容正確完整,書寫工整,裝訂整齊。3設(shè)計總結(jié)部分主要寫本人完成工作簡介以及自己的設(shè)計體會,包括通過課程設(shè)計學(xué)到了什么,哪里遇到了困難,解決的辦法以及今后的目標(biāo)。4課程設(shè)計說明書手寫或打印均可。
9、手寫要用學(xué)校統(tǒng)一的課程設(shè)計用紙,用黑或藍(lán)黑墨水工整書寫;打印時采用A4紙,頁邊距均為20mm,正文采用宋體小四號字,行間距18磅。文中大標(biāo)題采用黑體小三號字,一級節(jié)標(biāo)題采用黑體四號字,二級節(jié)標(biāo)題采用黑體小四號字,表題與圖題采用宋體五號字。5課程設(shè)計說明書裝訂順序為:封面、任務(wù)書、成績評定表、目錄、正文、參考文獻(xiàn)。四、設(shè)計完成后應(yīng)提交成果的種類、數(shù)量、質(zhì)量等方面的要求1完成“任務(wù)書”中指定的功能,運行結(jié)果正確。2課程設(shè)計說明書。五、時間進(jìn)度安排順序階段日期計 劃 完 成 內(nèi) 容備注1第1天進(jìn)行設(shè)計準(zhǔn)備,閱讀資料,分析設(shè)計任務(wù)書,明確設(shè)計要求、內(nèi)容和步驟2第2天需求分析3第3天概要設(shè)計4第4-5天
10、詳細(xì)設(shè)計5第58天編碼、調(diào)試6第9-10天程序答辯,撰寫課程設(shè)計報告六、主要參考資料(文獻(xiàn))1譚浩強(qiáng).C程序設(shè)計(第三版).北京: 清華大學(xué)出版社.20062陳天洲.C語言高級程序設(shè)計. 北京:人民郵電出版社.2002 3楊旭.C語言程序設(shè)計案例教程.北京: 人民郵電出版社.20054郭翠英.程序設(shè)計案例經(jīng)典.中國水利電力出版社.20045譚浩強(qiáng).程序設(shè)計基礎(chǔ).北京:清華大學(xué)出版社.20046張翔.C語言函數(shù)大全 電子工業(yè)出版社.20057王為青.C語言高級編程及實例剖析.北京:人民郵電出版社.2008.028徐慧.C語言實例解析精粹.北京:人民郵電出版社.2006.049姚大鵬 欒好利 張翼
11、英 等編著.C語言程序設(shè)計教程習(xí)題與上機(jī)實訓(xùn)指導(dǎo).中國水利水電出版社.2005課 程 設(shè) 計 任 務(wù) 分 工組長姓名張峻銘題目個人記帳管理項目組成員個人任務(wù)描述自我評定錄入功能的設(shè)計和儲存功能設(shè)計和排序功能的設(shè)計以及刪除功能的設(shè)計優(yōu)秀主頁面的設(shè)計和查詢功能的設(shè)計和修改功能設(shè)計以及制作world文檔良好目 錄第1章 緒 論1第2章 系統(tǒng)功能分析22.1 功能22.2系統(tǒng)功能需求2第3章 總體設(shè)計33.1 系統(tǒng)設(shè)計33.2 分塊設(shè)計31)菜單32)錄入功能設(shè)計43 ) 存儲功能設(shè)計54)查看功能設(shè)計55)修改功能設(shè)計76)查詢功能設(shè)計87 ) 排序功能設(shè)計108)刪除功能設(shè)計12第4章 調(diào)試結(jié)果和
12、設(shè)計分析144.1 主頁面144.2 錄入數(shù)據(jù)144.3 查看數(shù)據(jù)154.4 修改數(shù)據(jù)154.5 查詢數(shù)據(jù)164.6 排序系統(tǒng)174.7 刪除系統(tǒng)17結(jié) 論18致 謝19參考文獻(xiàn)20程序21 第1章 緒 論程序設(shè)計過程有如解決一個實際問題,從解決實際問題的角度,我們可以這樣來看:首先要了解這個問題的基本要求,即輸入、輸出、完成從輸入到輸出的要求是什么;其次,從問題的要害入手,從前到后的解決問題的每個方面,即從輸入開始入手,著重考慮如何從輸入導(dǎo)出輸出,在這個過程中,可確定所需的變量、數(shù)組、指針、鏈表、命令、函數(shù),然后確定處理過程算法??傻米詈蠼Y(jié)果這次我們組要解決的實際問題是個人賬簿管理系統(tǒng)的設(shè)計
13、我們將嚴(yán)格按照程序設(shè)計的過程來完成這一個課題的設(shè)計第2章 系統(tǒng)功能分析 2.1 功能 個人帳簿管理系統(tǒng)記錄某人每月的全部收入及各項開支情況,包括食品消費,房租,子女教育費用,水電費,醫(yī)療費,儲蓄等。進(jìn)入系統(tǒng)后可以輸入和修改某月的收支情況,可以對每月的開支從小到大進(jìn)行排序,可以根據(jù)輸入的月份查詢每月的收支情況。2.2系統(tǒng)功能需求1.文件操作功能:自動加載和保存數(shù)據(jù)文件。2.數(shù)據(jù)輸入功能:可以按提示錄入各項數(shù)據(jù)。 3.數(shù)據(jù)修改功能:可以按提示修改各項數(shù)據(jù)。 4.查詢功能:可按月份、食品消費進(jìn)行特定查詢,及顯示全部數(shù)據(jù)。 5.排序功能:完成對每月開支的排序。 6.刪除功能:可以按提示刪除一些數(shù)據(jù)。7
14、.轉(zhuǎn)碼功能:我們對文件用的是dat的形式,設(shè)計轉(zhuǎn)碼功能,將它轉(zhuǎn)為txt形式。第3章 總體設(shè)計3.1 系統(tǒng)設(shè)計按系統(tǒng)分析的功能要求將系統(tǒng)劃分為以下幾個主要功能模塊:結(jié)構(gòu)圖:主菜單錄入數(shù)據(jù)儲存數(shù)據(jù)修改數(shù)據(jù)查詢數(shù)據(jù)刪除數(shù)據(jù)排序退出查看數(shù)據(jù)3.2 分塊設(shè)計1)菜單void menu(void) int item; int mon; Yyy *a; a=(Yyy *)malloc(sizeof(Yyy); do printf("個人帳簿管理系統(tǒng)設(shè)計n"); printf("1.錄入數(shù)據(jù)n"); printf("2.查看數(shù)據(jù)n"); printf
15、("3.修改數(shù)據(jù)n"); printf("4.查詢數(shù)據(jù)n"); printf("5.排序數(shù)據(jù)n"); printf("6.刪除數(shù)據(jù)n"); printf("0.退出系統(tǒng)n"); printf("請輸入要進(jìn)行的操作: " ); scanf("%d",&item); while(item>6 | item<-1); 2)錄入功能設(shè)計void input(Yyy *newI) printf("n依次輸入數(shù)據(jù):n(本月月份 食品消費
16、房租費用 子女費用 水電費用 醫(yī)療費用 儲蓄費用 收入費用)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 ) 存儲功能設(shè)計void writeyyy(Yyy *newI) FILE *fp; fp=fopen(Fil
17、ePath1,"ab+"); if(fp=NULL) printf("無法創(chuàng)建文件:%s",FilePath1); exit(0); fwrite(newI,sizeof(Yyy),1,fp); fclose(fp); printf("數(shù)據(jù)錄入成功!n"); 4)查看功能設(shè)計 void changeFormat(void) /暫時只能操作一行文件有待改進(jìn) FILE *fp1,*fp2; Yyy *a; a=(Yyy *)malloc(sizeof(Yyy); fp1=fopen(FilePath1,"rb+");
18、if(fp1=NULL) printf("無法找到文件:%sn",FilePath1); return ;/返回主函數(shù) fp2=fopen(FilePath2,"wt+"); if(fp2=NULL) printf("無法創(chuàng)建文件:%sn",FilePath2); return ;/返回主函數(shù) fputs(" n個人帳簿管理系統(tǒng)n",fp2); fputs("記錄月份 食品消費 房租費用 子女費用 水電費用 醫(yī)療費用 儲蓄費用 本月收入n",fp2);fputs("- n",
19、fp2); printf("n記錄月份 食品消費 房租費用 子女費用 水電費用 醫(yī)療費用 儲蓄費用 本月收入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)用打開轉(zhuǎn)換的文本文件 remove(F
21、ilePath2);/刪除文本文件文件 5)修改功能設(shè)計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)查詢功能設(shè)計Status search(Yyy *a) FILE *fp1; int mon; int isfound=0; printf("請正確輸入要查詢的月份
23、:"); scanf("%d",&mon); fflush(stdin); fp1=fopen(FilePath1,"rb+"); if(fp1=NULL) printf("無法找到文件:%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è)計void paixu(Yyy *a) int i=0,j=0,flag=0,t; pType px8=0,0; char str810="記錄月份","食品消費","房租費用","子女費用","水電費用","醫(yī)療費用","儲蓄費用","本月收入" 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è)計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è)計分析4.1 主頁面4.2 錄入數(shù)據(jù)4.3 查看數(shù)據(jù)4.4 修改數(shù)據(jù)4.5 查詢數(shù)據(jù)4.6 排序系統(tǒng)4.7 刪除系統(tǒng)結(jié) 論在這次的課程設(shè)計,我發(fā)現(xiàn)了自己還有很多的不足,在這方面還有很多的不會。還需要更加深入的學(xué)習(xí)。通過此次的課程設(shè)計,在大一C語言學(xué)習(xí)的基礎(chǔ)上,我較為深入的掌握了數(shù)據(jù)結(jié)構(gòu)與算法的設(shè)計方法,具備了一定獨立分析和設(shè)計能力和初步掌握軟件開發(fā)過程的問題分析,系統(tǒng)設(shè)計,程序編碼,測試等基本方法和技能。致 謝感謝隊友的幫助,在我一些不懂的地方給予了我及時的幫助。感謝老師的教導(dǎo),正在有些
29、方面自己和同組人還有很多的不會,不過經(jīng)過老師的輔導(dǎo)還是成功編寫了出來。參考文獻(xiàn)程序#include <stdio.h> #include <stdlib.h> #include <memory.h> #include <windows.h> /文件保存路徑 #define FilePath1 "Myyyy.dat" #define FilePath2 "Myyyy.txt" /查詢用聲明 #define Status int #define OK 1 #define Error 0 #define NotF
30、ound 2 typedef struct int month;/月份 int spxf;/食品消費 int fzfy;/房租費用 int znjy;/子女教育費用 int sdfy;/水電費用 int ylfy;/醫(yī)療費用 int cxfy;/儲蓄費用 int srfy;/收入費用 Yyy; typedef struct / 查詢用自定義數(shù)據(jù)類型 int no; int data; pType;void menu(void); /菜單 void input(Yyy *newI); /接收鍵盤輸入 void writeyyy(Yyy *newI);/向文件內(nèi)寫入內(nèi)容 void changeFo
31、rmat(void );/將dat格式文件轉(zhuǎn)換為txt文件 Status search(Yyy *a);/查詢函數(shù)返回查詢的結(jié)果及查詢的狀態(tài) void paixu(Yyy *a);/對查詢據(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("個人帳簿管理系統(tǒng)設(shè)計n");
32、 printf("1.錄入數(shù)據(jù)n"); printf("2.查看數(shù)據(jù)n"); printf("3.修改數(shù)據(jù)n"); printf("4.查詢數(shù)據(jù)n"); printf("5.排序數(shù)據(jù)n"); printf("6.刪除數(shù)據(jù)n"); printf("0.退出系統(tǒng)n"); printf("請輸入要進(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沒有符合條件的記錄!n"); else printf("n記錄月份 食品消費 房租費用 子女費用 水電費用 醫(yī)療費用 儲蓄費用 本月收入 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; /查詢數(shù)據(jù) case 4: item=search(a); if (item!=OK) printf("n沒有符合條件的記錄!n"); else printf("n記錄月份 食品消費 房租費用
35、 子女費用 水電費用 醫(yī)療費用 儲蓄費用 本月收入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沒有符合條件的記錄!n"); else paixu(a)
36、; break; /刪除數(shù)據(jù) case 6: item=search(a); mon=a->month; if (item!=OK) printf("n沒有符合條件的記錄!n"); else printf("n記錄月份 食品消費 房租費用 子女費用 水電費用 醫(yī)療費用 儲蓄費用 本月收入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(本月月份 食品消費 房租費用 子女費用 水電費用 醫(yī)療費用 儲蓄費用 收入費用)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("無法創(chuàng)建文件:%s",FilePath1); exit(1); fwrite(newI,sizeof(Yyy),1,fp); fclose(fp); printf("數(shù)據(jù)錄入成功!n"); void changeForma
39、t(void) /暫時只能操作一行文件有待改進(jìn) FILE *fp1,*fp2; Yyy *a; a=(Yyy *)malloc(sizeof(Yyy); fp1=fopen(FilePath1,"rb+"); if(fp1=NULL) printf("無法找到文件:%sn",FilePath1); return ;/返回主函數(shù) fp2=fopen(FilePath2,"wt+"); if(fp2=NULL) printf("無法創(chuàng)建文件:%sn",FilePath2); return ;/返回主函數(shù) fputs(&
40、quot; n個人帳簿管理系統(tǒng)n",fp2); fputs("記錄月份 食品消費 房租費用 子女費用 水電費用 醫(yī)療費用 儲蓄費用 本月收入n",fp2);fputs("- n",fp2); printf("n記錄月份 食品消費 房租費用 子女費用 水電費用 醫(yī)療費用 儲蓄費用 本月收入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)用打開轉(zhuǎn)換的文本文件 remove(FilePath2);/刪除文本文件文件 Status search(Yyy *a) FILE *fp1; int mon; int isfound=0; printf("請正確輸入要查詢的月份:"); scanf("%d",&mon); fflush(stdin); fp1=fopen(FilePath1,"r
43、b+"); if(fp1=NULL) printf("無法找到文件:%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="記錄月份","食品消費","房租費用","子女費用","水電費用","醫(yī)療費用","儲蓄費用","
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 課題申報參考:閩派古琴的歷史、現(xiàn)狀及文獻(xiàn)研究
- 課題申報參考:面向?qū)W生創(chuàng)造力培育的場館學(xué)習(xí)環(huán)境測評體系與優(yōu)化機(jī)制研究
- 課題申報參考:面向產(chǎn)品個性化定制的共享制造資源協(xié)同調(diào)度優(yōu)化理論研究
- 二零二五年度智能電網(wǎng)信息化系統(tǒng)運維與電力市場服務(wù)合同3篇
- 二零二五年度黨政機(jī)關(guān)會議酒店住宿及會議場地租賃合同4篇
- 2025年度土地承包經(jīng)營權(quán)續(xù)包合同示范文本4篇
- 2025年度個人個人房產(chǎn)買賣合同(含裝修及配套設(shè)施)2篇
- 2025年度鋼材行業(yè)投資合作開發(fā)合同
- 2025年個人購房合同(含房屋保險服務(wù))
- 二零二五版南京房地產(chǎn)抵押物拍賣合同4篇
- 《現(xiàn)代根管治療術(shù)》課件
- 幼兒平衡車訓(xùn)練課程設(shè)計
- 肩袖損傷的護(hù)理查房課件
- 2023屆北京市順義區(qū)高三二模數(shù)學(xué)試卷
- 公司差旅費報銷單
- 我國全科醫(yī)生培訓(xùn)模式
- 2021年上海市楊浦區(qū)初三一模語文試卷及參考答案(精校word打印版)
- 八年級上冊英語完形填空、閱讀理解100題含參考答案
- 八年級物理下冊功率課件
- DBJ51-T 188-2022 預(yù)拌流態(tài)固化土工程應(yīng)用技術(shù)標(biāo)準(zhǔn)
- 《長津湖》電影賞析PPT
評論
0/150
提交評論