




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
PAGEPAGE1課程名稱:數據結構湖南涉外經濟學院本科學生課程設計(論文)題目個人賬簿管理湖南涉外經濟學院本科學生課程設計(論文)湖南涉外經濟學院本科學生課程設計(論文)畢業設計(論文)原創性聲明和使用授權說明原創性聲明本人鄭重承諾:所呈交的畢業設計(論文),是我個人在指導教師的指導下進行的研究工作及取得的成果。盡我所知,除文中特別加以標注和致謝的地方外,不包含其他人或組織已經發表或公布過的研究成果,也不包含我為獲得及其它教育機構的學位或學歷而使用過的材料。對本研究提供過幫助和做出過貢獻的個人或集體,均已在文中作了明確的說明并表示了謝意。作者簽名:日期:指導教師簽名:日期:使用授權說明本人完全了解大學關于收集、保存、使用畢業設計(論文)的規定,即:按照學校要求提交畢業設計(論文)的印刷本和電子版本;學校有權保存畢業設計(論文)的印刷本和電子版,并提供目錄檢索與閱覽服務;學??梢圆捎糜坝?、縮印、數字化或其它復制手段保存論文;在不以贏利為目的前提下,學??梢怨颊撐牡牟糠只蛉績热?。作者簽名:日期:
摘要個人賬簿管理是根據現實生活中的應用而編寫的,主要是用C語言編寫,其中運用到了文件的基本操作,結構體數組,宏定義,還有幾個主要循環的應用,其功能包括按月份插入、輸出、修改、查詢、刪除及按開支排序,包括了賬簿管理的大部分功能,適合于大部分家庭用戶。關鍵詞:C語言,算法,數據結構,個人賬簿管理湖南涉外經濟學院本科學生課程設計(論文)目錄TOC\o"1-3"\h\z第一章前言 1第二章系統功能分析 22.1個人賬簿管理 22.2解決個人賬簿管理 22.2.1概要分析 22.2.2流程圖 3第三章總體設計 43.1概括 43.2基本思路 4第四章詳細設計 54.1程序代碼實現 54.1.1程序主界面 54.1.2創建結構體 74.1.3數據的插入 74.1.4數據的刪除 84.1.5數據的排序 10第五章系統實現 12第六章解決的關鍵問題 14第七章結論 15結束語 168.1編程感想 16參考文獻 17程序分工 18個人賬簿管理第一章前言第1頁個人賬簿管理第一章前言第一章前言本系統使用MicrosoftVisualStudio.NET2005開發工具創建Web應用程序。采VisualC.NET開發語言,使用文件的操作達到個人賬簿管理的各種功能。文章詳細討論了該系統的開發、設計環境、實現算法及其具體的實現。數據結構是一門專業技術基礎課。它的教學要求是:學會分析研究計算機加工的數據結構的特性,以便為應用涉及的數據選擇適當的邏輯結構,存儲結構及其相應的算法,并初步掌握算法的時間分析和空間分析的技術。另一方面,本課程的學習過程也是復雜程序設計的訓練過程,要求學生編寫的程序結構清楚和正確意讀,符合軟件工程的規范。如果說高級語言程序設計的訓練過程,要進行了結構化的程序設計的初步訓練的話,那么數據結構就要培養我們的數據抽象能力個人賬簿管理系統是結合了文件、結構體、函數等操作,運用了數據結構中最基本的一些算法,使程序簡單明了,使用了一些最優的算法,從而達到了不浪費內存的目的,同時也加快了程序的運行速度。個人賬簿管理第二章系統功能分析第二章系統功能分析本程序可以實現個人賬簿的按月份插入、輸出、修改、查詢、刪除及按開支排序,其中每一個功能,都分別使用了一個函數,其中程序的主界面簡潔明了??梢园粗鹘缑娴奶崾就瓿擅恳粔K功能。2.1個人賬簿管理在程序中定義了一個結構體主要包括(月份,全部的收入,食品開支,房租,水電費,醫療費,儲蓄,子女教育費和總體的支出費用)其次定義了6個函數,分別是插入信息,收支情況,修改信息,查詢月份信息,刪除某月信息,其中每一個程序都能實現相應部分的功能,并且在每一個程序中都使用了相應的文件操作,和結構體數組的操作,通過對數組,結構體,文件的刪除、查找、修改及排序使程序都完成了相應的功能。2.2解決個人賬簿管理2.2.1概要分析個人賬簿管理通過:voidInsert()//插入信息voidOutlin()//收支情況voidModify(intxg)//修改信息voidSearch(intyf)//查詢月份信息voidDel(intyf)//刪除某月信息voidps()//按收支排序這六個函數分別完成每一部分功能,其中都是從主函數調用相應的函數,完成相應的功能。2.2.2流程圖個人賬簿管理第三章總體設計第三章總體設計3.1概括個人賬簿管理主要是通過文件的輸入、輸出、查詢、修改、刪除、排序來完成程序的主要功能,其中每一個功能都為對應的一個函數,增加程序的可讀性,以實現程序的整體功能。3.2基本思路首先建立一個結構體,用戶輸入某個月的數據通過相應的文件操作就把他追加到文件data.dat中。輸入整體的收支情況就是直接從文件中讀出所有的數據然后輸出到屏幕中。修改信息是建立一個臨時的temp.dat的文件,通過fp1,fp2兩個文件指針和一個結構體變量b,fp1指向data.dat,fp2指向temp.dat。然后把fp1中的數據讀到b中,就通過對比,假如b->month==xg就把x[xg]的地址寫入到fp2中,否則就直接把b中的數據寫到fp2中,通過循環到!feof(fp1)為止,這個就把所有的修改的數據寫入到了fp2,關閉兩個文件,最后刪除原來的data.dat文件,然后把temp.dat文件換名成為data.dat文件,這樣就達到了修改的目的。查詢月份信息是在主函數中輸入一個數,然后在查詢函數中判斷是否月份相同,假如月份相同就輸出來。刪除某月信息是和修改某月信息一樣的,只是把其中的一句改成b->month!=xg就直接寫入到fp2中,經過換名就達到了效果。按收支排序是首先建立一個結構體數組,把所有的數據讀到數組中,然后按收支情況排序,排好序之后就又把他寫入到temp.dat的文件中,刪除源文件,替換文件名就實現了排序的功能。個人賬簿管理第四章詳細設計第四章詳細設計4.1程序代碼實現4.1.1程序主界面voidmain(){intk,xg,yf;do{printf("\n\n");printf("\n歡迎進入個人帳簿管理系統\n\n");printf("\n個人帳簿管理系統主菜單\n");printf("\n1.插入某月信息\n");printf("\n2.輸出整體收支情況\n");printf("\n3.修改某月信息\n");printf("\n4.查詢某月信息\n"); printf("\n5.刪除某月信息\n"); printf("\n6.按開支排序輸出結果\n");printf("\n0.退出個人帳簿管理系統\n");printf("\n\n");/*輸出開始界面*/scanf("%d",&k);switch(k){case1:{/*插入某月信息*/Insert();}break;case2:{/*輸出所有月份的收支情況*/Outlin();}break;case3:{/*修改某月信息*/printf("請輸入需要修改的月份:\n");scanf("%d",&xg);Modify(xg);}break;case4:{/*查詢某月信息*/printf("請輸入需要查詢的月份:\n");scanf("%d",&yf);Search(yf);}break; case5:{/*刪除某月信息*/printf("請輸入需要刪除的月份:\n");scanf("%d",&yf); Del(yf); }break; case6:{/*排序*/ps();}break;case0:exit(0);/*退出個人帳簿管理系統*/ default:printf("輸入錯誤,請重新輸入");}}while(k<=6);}4.1.2創建結構體structElemType{intmonth;/*月份*/intincome;/*全部月收入*/intfood;/*食品開支*/intrent;/*房租*/intutilities;/*水電費*/intmedical;/*醫療費*/intsavings;/*儲蓄*/inteducation;/*子女教育費*/ intpayment;/*總支出*/}x[12];/*一個月開支信息*/4.1.3數據的插入voidInsert()//插入信息{ intj,i=1; FILE*fp; printf("請依次輸入\n月份當月收入食品開支房租水電費醫療費子女教育\n"); scanf("%d%d%d%d%d%d%d",&x[i].month,&x[i].income,&x[i].food,&x[i].rent,&x[i].utilities,&x[i].medical,&x[i].education); x[i].payment=x[i].food+x[i].rent+x[i].utilities+x[i].medical+x[i].education; x[i].savings=x[i].income-x[i].payment; if((fp=fopen("data.dat","ab"))==NULL){printf("cannotopenfile\n");exit(0);}for(j=1;j<=i;j++)fwrite(&x[j],sizeof(structElemType),1,fp);fclose(fp);}4.1.4數據的刪除voidDel(intyf)//刪除某月信息{ FILE*fp1,*fp2; ElemType*b;if((fp1=fopen("data.dat","rb"))==NULL){printf("cannotopenfile\n");exit(0);}if((fp2=fopen("temp.dat","wb"))==NULL){printf("cannotopenfile\n");exit(0);}b=(ElemType*)malloc(sizeof(structElemType));rewind(fp1);fread(b,sizeof(structElemType),1,fp1);while(!feof(fp1)){if(b->month!=yf)fwrite(b,sizeof(ElemType),1,fp2);fread(b,sizeof(ElemType),1,fp1);}fclose(fp1);fclose(fp2);remove(File);//刪除源文件rename("temp.dat",File);//把臨時文件改成源文件名Outlin();//調用輸出函數,輸出整體的開支}4.1.5數據的排序voidps()//按收支排序{ FILE*fp1,*fp2; ElemTypea[12],h; inti,j,c=0;if((fp1=fopen("data.dat","rb"))==NULL){printf("cannotopenfile\n");exit(0);}if((fp2=fopen("temp.dat","wb"))==NULL){printf("cannotopenfile\n");exit(0);}for(j=1;!feof(fp1);j++,c++) fread(&a[j],sizeof(structElemType),1,fp1);for(i=1;i<c;i++) for(j=1;j<c;j++) { if(a[i].payment<a[j].payment) { h=a[i]; a[i]=a[j]; a[j]=h; } } for(i=1;i<c;i++) fwrite(&a[i],sizeof(structElemType),1,fp2);fclose(fp1);fclose(fp2);remove(File);//刪除源文件rename("temp.dat",File);//把臨時文件改成源文件名Outlin();//調用輸出函數,輸出整體的開支}個人賬簿管理第五章系統實現第五章系統實現其中程序結果如下:圖5.1程序的主界面圖5.2程序插入月份界面圖5.3程序輸出整體收支情況圖5.4修改某月信息(修改3月份的數據)圖5.5查詢2月份的數據圖5.5刪除3月份的信息圖5.6按收支排序個人賬簿管理第六章解決的關鍵問題第六章解決的關鍵問題本程序主要解決的關鍵問題如下:文件的讀寫操作及讀寫所用的方式文件的修改及刪除文件的排序結構體的操作函數的參數傳遞問題個人賬簿管理第七章結論第七章結論通過這次課程設計使我了解到了:寫一個程序首先要有算法,而算法有很多種,使用最優的算法,能節約很多時間和加快系統的速度。在這個程序中,主要還是利用了C語言中文件的操作,其中最主要的就是文件的讀寫及用的不同種讀寫的方式,還有查找、修改及刪除文件中的數據,其中查找還是比較簡單,但修改文件中的數據,要利用一個中間文件。首先要查找到要刪除的數據,假如相同就復制到一個文件中,原文件中不相同的也復制到那個文件中,這樣以達到修改的目的,刪除也類似,還有就是排序了,也要利用到中間文件。在結構體的操作用,不能直接給結構體變量賦值。這個程序的界面編的雖然不怎么好看,但基本賬簿管理的功能都達到了。所以說還是具有一定的實用性。個人賬簿管理結束語結束語8.1編程感想在這次課程設計中,我學習到了,不管做什么事情還是團隊協作,才可以使一件事情辦得最后,一個人的力量永遠是有限的,不管一個人的能力有多大,總會有一些地方的不足,尤其是我們編程這一行,最主要的還是要團隊合作。其次就是寫程序時要用到注釋,因為一個程序是由幾個人寫出來的,假如不寫注釋的話,就相互都看不懂,也不能實現程序的結合,所以說寫程序時注釋很重要。最后,我覺得不管做什么事情必須認認真真的做,要沉得下心來,尤其是寫程序,假如沉不下心來做的話,也決對寫不出一個好的程序或者實用的程序來。個人賬簿管理參考文獻
參考文獻[1]譚浩強著.《C語言程序設計(第三版)》.清華大學出版社[2]嚴蔚敏、吳偉民.《數據結構(C語言版)》.清華大學出版社[3]鄭阿奇.《VisualC++實用教程(第三版)》.電子工業出版社.個人賬簿管理程序分工課程設計論文題名附錄程序分工姓名任務分配馬鐵軍程序的插入、輸出、刪除、排序梁斌程序主界面的設計、查找、修改基于C8051F單片機直流電動機反饋控制系統的設計與研究基于單片機的嵌入式Web服務器的研究MOTOROLA單片機MC68HC(8)05PV8/A內嵌EEPROM的工藝和制程方法及對良率的影響研究基于模糊控制的電阻釬焊單片機溫度控制系統的研制基于MCS-51系列單片機的通用控制模塊的研究基于單片機實現的供暖系統最佳啟停自校正(STR)調節器單片機控制的二級倒立擺系統的研究基于增強型51系列單片機的TCP/IP協議棧的實現基于單片機的蓄電池自動監測系統基于32位嵌入式單片機系統的圖像采集與處理技術的研究基于單片機的作物營養診斷專家系統的研究基于單片機的交流伺服電機運動控制系統研究與開發基于單片機的泵管內壁硬度測試儀的研制基于單片機的自動找平控制系統研究基于C8051F040單片機的嵌入式系統開發基于單片機的液壓動力系統狀態監測儀開發模糊Smith智能控制方法的研究及其單片機實現一種基于單片機的軸快流CO〈,2〉激光器的手持控制面板的研制基于雙單片機沖床數控系統的研究基于CYGNAL單片機的在線間歇式濁度儀的研制基于單片機的噴油泵試驗臺控制器的研制基于單片機的軟起動器的研究和設計基于單片機控制的高速快走絲電火花線切割機床短循環走絲方式研究基于單片機的機電產品控制系統開發基于PIC單片機的智能手機充電器基于單片機的實時內核設計及其應用研究基于單片機的遠程抄表系統的設計與研究基于單片機的煙氣二氧化硫濃度檢測儀的研制基于微型光譜儀的單片機系統單片機系統軟件構件開發的技術研究基于單片機的液體點滴速度自動檢測儀的研制基于單片機系統的多功能溫度測量儀的研制基于PIC單片機的電能采集終端的設計和應用基于單片機的光纖光柵解調儀的研制氣壓式線性摩擦焊機單片機控制系統的研制基于單片機的數字磁通門傳感器基于單片機的旋轉變壓器-數字轉換器的研究基于單片機的光纖Bragg光柵解調系統的研究單片機控制的便攜式多功能乳腺治療儀的研制基于C8051F020單片機的多生理信號檢測儀基于單片機的電機運動控制系統設計Pico專用單片機核的可測性設計研究基于MCS-51單片機的熱量計基于雙單片機的智能遙測微型氣象站MCS-51單片機構建機器人的實踐研究基于單片機的輪軌力檢測基于單片機的GPS定位儀的研究與實現基于單片機的電液伺服控制系統用于單片機系統的MMC卡文件系統研制基于單片機的時控和計數系統性能優化的研究基于單片機和CPLD的粗光柵位移測量系統研究單片機控制的后備式方波UPS提升高職學生單片機應用能力的探究基于單片機控制的自動低頻減載裝置研究基于單片機控制的水下焊接電源的研究基于單片機的多通道數據采集系統基于uPSD3234單片機的氚表面污染測量儀的研制基于單片機的紅外測油儀的研究96系列單片機仿真器研究與設計基于單片機的單晶金剛石刀具刃磨設備的數控改造基于單片機的溫度智能控制系統的設計與實現基于MSP430單片機的電梯門機控制器的研制基于單片機的氣體測漏儀的研究基于三菱M16C/6N系列單片機的CAN/USB協議轉換器基于單片機和DSP的變壓器油色譜在線監測技術研究基于單片機的膛壁溫度報警系統設計基于AVR單片機的低壓無功補償控制器的設計基于單片機船舶電力推進電機監測系統基于單片機網絡的振動信號的采集系統基于單片機的大容量數據存儲技術的應用研究基于單片機的疊圖機研究與教學方法實踐基于單片機嵌入式Web服務器技術的研究及實現基于AT89S52單片機的通用數據采集系統基于單片機的多道脈沖幅度分析儀研究機器人旋轉電弧傳感角焊縫跟蹤單片機控制系統基于單片機的控制系統在PLC虛擬教學實驗中的應用研究基于單片機系統的網絡通信研究與應用基于PIC16F877單片機的莫爾斯碼自動譯碼系統設計與研究基于單片機的模糊控制器在工業電阻爐上的應用研究基于雙單片機沖床數控系統的研究與開發基于Cygnal單片機的μC/OS-Ⅱ的研究基于單片機的一體化智能差示掃描量熱儀系統研究基于TCP/IP協議的單片機與Internet互聯的研究與實現變頻調速液壓電梯單片機控制器的研究基于單片機γ-免疫計數器自動換樣功能的研究與實現基于單片機的倒立擺控制系統設計與實現單片機嵌入式以太網防盜報警系統基于51單片機的嵌入式Internet系統的設計與實現單片機監測系統在擠壓機上的應用MSP430單片機在智能水表系統上的研究與應用基于單片機的嵌入式系統中TCP/IP協議棧的實現與應用單片機在高樓恒壓供水系統中
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 藥庫設備維護管理制度
- 藥店獎罰規章管理制度
- 藥店設備投放管理制度
- 營林防火安全管理制度
- 設備公司營銷管理制度
- 設備安全細節管理制度
- 設備現場施工管理制度
- 設施權屬清冊管理制度
- 設計單位員工管理制度
- 詐騙公司經營管理制度
- 項目部內審檢查表
- 森林計測學(測樹學)智慧樹知到答案章節測試2023年浙江農林大學
- 對外漢語教學法智慧樹知到答案章節測試2023年西北師范大學
- 春雨計劃患教指南-高血壓治療與合理用藥
- jgj113-2015建筑玻璃技術規范
- 陜西延長石油四海煤化工有限公司金屬鎂廠1萬噸-年金屬鎂生產項目環評報告
- 學校校本課程開辟匯報材料
- GB/T 42103-2022游樂園安全風險識別與評估
- YY 0780-2018電針治療儀
- 棒球運動主題教育PPT模板
- GA/T 1556-2019道路交通執法人體血液采集技術規范
評論
0/150
提交評論