freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

c語言家庭財(cái)務(wù)管理系統(tǒng)設(shè)計(jì)報(bào)告(已修改)

2024-10-01 10:45 本頁面
 

【正文】 東華理工大學(xué) C 語言課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告 題目:家庭賬務(wù)管理 姓名:曾祥華 班級: 1321815 學(xué)號: 202020181518 指導(dǎo)老師:程志梅 一 案例描述 1.總體描述 家庭財(cái)務(wù)管理系統(tǒng)主要是對家庭成員的收入,支出,進(jìn)行添加,刪除,查詢等操作,并能統(tǒng)計(jì)總收入和總支出。該軟件給家庭成員提供了一個(gè)管理家庭財(cái)務(wù)的平臺。 2.模塊描述 1)菜單設(shè)計(jì): 本系統(tǒng)提供簡單 易操作的界面。有提示,幫助用戶根據(jù)需要對家庭財(cái)務(wù)管理系統(tǒng)進(jìn)行操作。 2)添加模塊:根據(jù)實(shí)際的收入或支出,添加相應(yīng)的記錄,條數(shù)不限。 3)查詢模塊:可以選擇不同關(guān)鍵字輸入,查找該條記錄。 4)刪除模塊:若某條記錄錯(cuò)誤或者不需要?jiǎng)t可以刪除。 5)顯示模塊:按照添加的先后順序依次把記錄顯示在屏幕上,并顯示總收入和總支出以及余額。 6)退出模塊:退出財(cái)務(wù)管理系統(tǒng)并保存文件。 二 界面設(shè)計(jì) 界面有相應(yīng)的選擇,根據(jù)自己的需要對該管理系統(tǒng)進(jìn)行添加,查找,刪除,顯示功能操作。 本軟件界面友好,不難操作,用戶可根據(jù)自己的 需要按提示進(jìn)行。 三 模塊化設(shè)計(jì)方案 1.系統(tǒng)主要函數(shù)及功能 1) DataInit 函數(shù):功能為數(shù)據(jù)初始化 將數(shù)據(jù)從硬盤傳到內(nèi)存。 2) add 函數(shù):功能為添加 收入或支出的記錄 3) search 函數(shù):功能為查找聯(lián)系人 輸入關(guān)鍵字,從文件中搜索相應(yīng)的記錄并顯示出來。 4) delete_rec 函數(shù):功能為刪除記錄 若某條記錄錯(cuò)誤或者不需要?jiǎng)t可以刪除。 5) show 函數(shù):功能為顯示記錄 將添加的記錄顯示在屏幕上。 6) quit 函數(shù):功能為保存信息退出系統(tǒng) 2.主函數(shù)調(diào)用各功能函數(shù)流程 四. 數(shù)據(jù)結(jié)構(gòu)描述 struct F_Data { int year。 //年 int month。 //月 int data。 //日期 float amout。 //金額 char name[20]。 //姓名 int type。 //收入或支出類型 開始 打開文件,載入信息 用戶菜單界面 1 添 加 記 錄 2 查 詢 記 錄 3 刪除 記 錄 4 顯示 記 錄 0 退出 保存 結(jié)束 char ment[100]。 //備注 struct F_Data*next。 //定義一個(gè)指針 }。 該 數(shù)據(jù)結(jié)構(gòu)為鏈表,是一種動(dòng)態(tài)進(jìn)行存儲分配的結(jié)構(gòu)。鏈表的每一個(gè)一個(gè)節(jié)點(diǎn)中包含了一個(gè)指針變量,用它存放下一個(gè)結(jié)點(diǎn)的地址,環(huán)環(huán)相扣,中間決不能斷開,該指針指向一個(gè) struct F_Data 類型的數(shù)據(jù)。鏈表中各元素在內(nèi)存中可以不是連續(xù)存放的。 五 算法設(shè)計(jì) 添加 在主菜單選擇添加選項(xiàng)后,系統(tǒng)會依次讓用戶輸入年月日,并且限定月份輸入時(shí)要在 1 至12 內(nèi),如果符合要求則繼續(xù)執(zhí)行,輸完整條記錄。動(dòng)態(tài)鏈表會根據(jù)用戶的使用情況動(dòng)態(tài)調(diào)整內(nèi)存大小。插入一個(gè)結(jié)點(diǎn)到已有鏈表后, head指向插入的結(jié)點(diǎn),該結(jié)點(diǎn)指向 head原來所指的結(jié)點(diǎn)。每添加一條記錄后接點(diǎn)隨即加一。 開始 輸入年月 月份 0amp。amp。月份13? 是 輸入日,金額,姓名,類型類型 結(jié)束 鏈表中添加該記錄 查詢 在主菜單選擇查詢選項(xiàng)后,選擇查詢方式, 。然后按提示輸入相應(yīng)的信息姓名(或備注),系統(tǒng)會根據(jù)信息用一個(gè)指針從這 個(gè)鏈表的第一個(gè)結(jié)點(diǎn)依次往后開始查詢,若某個(gè)結(jié)點(diǎn)符合則輸出該記錄的信息,若指向 NULL即最后一個(gè)結(jié)點(diǎn)也查詢完畢依然沒找到,則返回主菜單。 刪除 輸入需要?jiǎng)h除的姓名和金額,系統(tǒng)會根據(jù)信息用一個(gè) q指針從這個(gè)鏈表的第一個(gè)結(jié)點(diǎn)依次往后開始查詢,并將已查詢過的結(jié)點(diǎn)賦給另一個(gè) p指針。若某個(gè)結(jié)點(diǎn)符合則顯示該記錄的信息,并讓用戶再次確認(rèn)是否刪除。若指向 NULL即最后一個(gè)結(jié)點(diǎn)也查詢完畢依然沒找到,則則返回主菜單。如果確定刪除該結(jié)點(diǎn),則 q所指的結(jié)點(diǎn)的前一個(gè)結(jié)點(diǎn)(即 p所指的結(jié)點(diǎn))指向該接點(diǎn)所指向的下一個(gè)結(jié)點(diǎn),也就是將 q所指的 結(jié)點(diǎn)從原來的鏈表中分離出來。每刪除一條記錄后接點(diǎn)隨即減一。 六. 程序運(yùn)行結(jié)果 添加記錄時(shí)限定月份在 1~12 月之間,否則無法添加,每添加一條記錄后就返回主菜單,鏈表中插入了該結(jié)點(diǎn)。 2 查詢聯(lián)系人 查詢記錄時(shí),可以選擇類型或者姓名進(jìn)行查找。若選擇按姓名查找,則在輸入名字后,系統(tǒng)會根據(jù)添加的先后順序,在屏幕上依次顯示出該聯(lián)系人的全部記錄。 3 刪除聯(lián)系人 選擇刪除選項(xiàng)后,界面會讓使用者輸入要?jiǎng)h除者的姓名及金額,并根據(jù)輸入的信息顯示該條記錄,并且為了防止意外刪除而有提示是否刪除,經(jīng)使用者 再三確認(rèn)后便刪除該記錄。 4 顯示聯(lián)系人 在菜單中選擇顯示選項(xiàng)后,系統(tǒng)會把所有的記錄按照先后順序依次逐條顯示在界面上,并且還計(jì)算出了一共的收入,一共的支出及當(dāng)前余額。 5 退出 在菜單中選中該選項(xiàng)后,系統(tǒng)會把所有的資料都保存到文件中,然后關(guān)閉該系統(tǒng)。 七. 總結(jié) 1.工作時(shí)間 通訊錄界面 —— 1星期 添加的實(shí)現(xiàn) —— 1星期 查詢的實(shí)現(xiàn) —— 1星期 刪除的實(shí)現(xiàn) —— 1星期 顯示實(shí)現(xiàn) —— 1星期 退出的實(shí)現(xiàn) —— 1星期 程序初步完成 —— 3 星期 整理修改程序 —— 1 星期 報(bào)告的制作 —— 1 星期 2. 分工情況 何潔:設(shè) 計(jì)程序的整個(gè)框架,編寫 add 函數(shù) , delete_rec 函數(shù),并對初步完成的整個(gè)程序做調(diào)試修改。制作報(bào)告的案例描述,模塊設(shè)計(jì)方案,數(shù)據(jù)結(jié)構(gòu)描述,總結(jié)。 潘昇琳:編寫 search函數(shù), quit函數(shù),制作報(bào)告的封面,流程圖,界面設(shè)計(jì)。 王樹康:編寫 DataInit函數(shù), show函數(shù),算法設(shè)計(jì),程序運(yùn)行結(jié)果。 3. 心得體會 本次對家庭財(cái)務(wù)管理系統(tǒng)的編寫,我遇到了許多困難。主要原因不怎么擅長使用“指針”。在添加模塊中,由于沒有很好的理解指針中插入的專用句子,所以脫離書本的時(shí)候根本不知怎么開始,自己想了很久也沒想 出來,后面翻了書,把相關(guān)的句子抄上去后死記硬背了下來。pnext=head。head=p。在寫刪除模塊是也遇到了類似的問題。看了書上的一個(gè)例題,里面有兩個(gè)指針,可是我的代碼中只有一個(gè),怎么辦呢?模仿了書上的寫法,第一次以失敗告終,經(jīng)過很多種修改后總結(jié)出失敗的原因是該指針定義錯(cuò)誤,針對該錯(cuò)誤,經(jīng)過很多的嘗試終成功了。在顯示函數(shù)中,自我感覺沒有錯(cuò)誤了,可是每次在“一共收入,一共支出,當(dāng)前余額”后面都顯示了一長串?dāng)?shù)字,在快放棄時(shí)終于發(fā)現(xiàn)自己犯了一個(gè)很可笑的錯(cuò), printf 語言中居然用了取地址符,真是苦笑不得。 在保存函數(shù)中葉犯了一些常見的錯(cuò),在寫入文件中居然用了 fscanf 語句,因此,一開始打開該系統(tǒng)時(shí)總是什么記錄也沒有,后來老師給我指出了這個(gè)錯(cuò)誤,在修改之后還是不能顯示之前的記錄,請教其他同學(xué)后才發(fā)現(xiàn)主函數(shù)中沒有調(diào)用數(shù)據(jù)導(dǎo)入函數(shù),在修改之后,一個(gè)系統(tǒng)就完成了。 我們也有了一些感慨:我們平時(shí)的一些基礎(chǔ)學(xué)習(xí)真的很重要 .總而言之,這次的報(bào)告讓我們獲益匪淺。 附頁(源代碼附加注釋) 以下是添加模塊代碼 void add() { system(cls)。 /*清屏 */ struct F_Data *p=NULL。 /*定義 pNode為 struct F_Data類型指針 */ p=(struct F_Data*)malloc(sizeof(struct F_Data))。 /*運(yùn)行時(shí)動(dòng)態(tài)調(diào)整所占內(nèi)存 的大小 */ printf(請輸入年份 :)。 scanf(%d,amp。pyear)。 printf(請輸入月份 :)。 scanf(%d,amp。pmonth)。 if((pmonth0)amp。amp。(pmonth13)) /*限定月份為 1~12 */ { printf(請輸入日期 :)。 scanf(%d,amp。pdata)。 printf(請輸入金額 :)。 scanf(%f,amp。pamout)。 printf(請輸入姓名 :)。 scanf(%s,pname)。 printf(收入按 1,支出按 0:)。 scanf(%d,amp。ptype)。 printf(請輸入類型 :)。 scanf(%s,pment)。 pnext=head。 /*插入一個(gè)結(jié)點(diǎn) */ head=p。 Recordcount++。 /*結(jié)點(diǎn)數(shù)加一 */ } system(PAUSE)。 /*停頓 */ } 在菜單界面選擇“添加”選項(xiàng),界面會依次顯示年份,月份,且限定月份為 1~12,再顯示日期,金額,姓名, type,類型逐個(gè)填寫,然后返回到菜單界面。 以下是查詢模塊代碼 void search() { system(cls)。 /*清屏 */ char name[20]。 int type。 int choice。 struct F_Data*p=NULL。 /*定義 pNode為 struct F_Data類型指針 */ printf(1按姓名查找 \n2 按類型查找 \n )。 printf(請輸入你的選擇: )。 scanf(%d,amp。choice)。 if(choice==1) { printf(請 輸入姓名: )。 scanf(%s,name)。 for(p=head。p!=NULL。p=pnext) /*從鏈表的第一個(gè)結(jié)點(diǎn)到尾結(jié)點(diǎn) */ if(strcmp(pname,name)==0) /*如果輸入的 name和結(jié)點(diǎn)中的 name一樣 */ { printf(%d\t,pyear)。 printf(%d\t,pmonth)。 printf(%d\t,pdata)。 printf(%.2f\t,pamout)。 printf(%s\t,pname)。 printf(%d\t,ptype)。 printf(%s\n,pment)。 } } if(choice==2) { printf(請輸入類型 :1收入 0支出 \n )。 scanf(%d,amp。type)。 for(p=head。p!=NULL。p=pnext) if(ptype==type) /*如果輸入的 type和 結(jié)點(diǎn)中的 type一樣 */ { printf(%d\t,pyear)。 printf(%d\t,pmonth)。 printf(%d\t,pdata)。 printf(%.2f\t,pamout)。 printf(%s\t,pname)。 printf(%d\t,ptype)。 printf(%s\n,pment)。 } } system(PAUSE)。 /*停頓 */ } 在菜單界面選擇“查詢”選項(xiàng),界面會讓你選擇查找的方式 : 1按姓名查找 2按類型查找,用戶可以根據(jù)自己的需要進(jìn)行選擇,按 1就輸入聯(lián)系人的姓名,按 2就輸入類型,系統(tǒng)會進(jìn)行查詢,如果有就顯示該條記錄。 以下是刪除模塊代碼 void delete_rec() { system(cls)。 /*清屏 */ char name[20]。 float amout。 int choice。 struct F_Data *p=NULL,*q=NULL。 /*定義 p和 q都為 struct F_Data類型指針
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1