家庭財務(wù)小管家(共33頁)_第1頁
家庭財務(wù)小管家(共33頁)_第2頁
家庭財務(wù)小管家(共33頁)_第3頁
家庭財務(wù)小管家(共33頁)_第4頁
家庭財務(wù)小管家(共33頁)_第5頁
已閱讀5頁,還剩28頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上課程設(shè)計說明書學(xué) 院、系:專 業(yè):學(xué) 生 姓 名:學(xué) 號:設(shè) 計 題 目:家庭財務(wù)小管家 起 迄 日 期:指 導(dǎo) 教 師:1 設(shè)計目的 本課程設(shè)計是采用C語言,在VC平臺下設(shè)計年歷顯示系統(tǒng),該系統(tǒng)運(yùn)行在MS-DOS命令行模式下。本課程設(shè)計為學(xué)生提供了一個既動手又動腦,獨立實踐的機(jī)會,將課本上的理論知識和實際有機(jī)的結(jié)合起來,鍛煉學(xué)生的分析解決實際問題的能力。提高學(xué)生適應(yīng)實際,實踐編程的能力。1) 進(jìn)一步鞏固和復(fù)習(xí)C程序設(shè)計的基礎(chǔ)知識;2) 培養(yǎng)學(xué)生結(jié)構(gòu)化程序、模塊化程序設(shè)計的方法和能力;3) 了解軟件的編制過程及各環(huán)節(jié)的具體內(nèi)容;4) 提高學(xué)生程序調(diào)試技巧、軟件設(shè)計能力

2、和代碼規(guī)范化等素質(zhì);提高學(xué)生分析問題、解決問題以及實際運(yùn)用能力。 2 任務(wù)概述個人小管家應(yīng)用系統(tǒng)給家庭提供了一個管理個人財務(wù)的平臺,主要用于對家庭成員收入、支出進(jìn)行添加、查詢、刪除、修改以及打印的操作,使得家庭財務(wù)收支狀況一目了然。主要功能包括:(1) 主菜單。主要包括收入管理、支出管理和退出;(2) 添加收入記錄;(3) 查詢收入記錄;(4) 刪除收入記錄;(5) 修改收入記錄;(6) 打印收入記錄;(7) 添加支出記錄;(8) 查詢支出記錄;(9) 刪除支出記錄;(10) 修改支出記錄;(11) 打印支出記錄;(12) 退出系統(tǒng)。 3 模塊劃分家庭財務(wù)小管家統(tǒng)計操作 退出支出操作收入操作返

3、回上級總資金 總支出 總收入返回上級修改收入顯示收入查詢收入刪除收入添加收入刪除支出查詢支出返回上級修改支出顯示支出添加支出4 主要函數(shù)說明及其N-S圖1、主函數(shù) main()Switch(choice)Income()zhichu()Tongji()Quit()default:錯誤 2、增加函數(shù)Add_()輸入待加入的家庭成員收支情況 文件存在T F 從該文件讀出數(shù)據(jù)并顯示出來 退出確定所要加入的位置向文件輸入前面家庭成員收支數(shù)據(jù)并顯示向文件輸出待輸入的家庭成員收支數(shù)據(jù)并顯示向文件輸出位置后面家庭成員收支數(shù)據(jù)并顯示關(guān)閉文件 3、刪除函數(shù)Del_()打開文件 顯示讀出的數(shù)據(jù) 關(guān)閉文件 N=1輸

4、入待刪除的家庭成員信息 信息正確 T F 將第j+1個成員的數(shù)據(jù) 移到第j個 關(guān)閉文件4、修改函數(shù)xiugai_()打開文件輸入需要修改家庭成員的信息顯示需要修改家庭成員信息 重新寫入各項信息 向文件輸入新信息并顯示 關(guān)閉文件5、查詢函數(shù)chaxun_()打開文件輸入需要查詢家庭成員的信息 顯示需要查詢家庭成員信息關(guān)閉文件6、統(tǒng)計函數(shù)Tongji_() 打開文件 統(tǒng)計所有家庭成員的收入并顯示 統(tǒng)計所有家庭成員的支出并顯示 統(tǒng)計所有家庭成員的(收入-支出)并顯示 關(guān)閉文件5 程序運(yùn)行數(shù)據(jù)及其結(jié)果1>主界面:圖12>收入界面:圖23>添加操作:圖3(以收入為例)4>查詢操作

5、:圖4(以收入為例)5>修改操作:圖5(以支出為例)6>刪除操作:圖6(以收入為例)7>支出界面:圖78>統(tǒng)計界面:圖86 課程設(shè)計心得 通過本此的課程設(shè)計,讓我們更熟練地掌握了C語言程序設(shè)計教程的知識,熟悉了一個管理系統(tǒng)的運(yùn)用和操作,熟悉如何采用Dev C+作為編譯環(huán)境,使程序成功的編譯和運(yùn)行,能夠運(yùn)用C語言創(chuàng)建基本表和編輯信息,增加信息,刪除信息,修改信息,查找信息和顯示信息。通過對結(jié)構(gòu)體,編輯,增加,刪除,修改,查找,顯示模塊的連接,生成能操作運(yùn)行的管理系統(tǒng)。 在這次課程設(shè)計的過程中,由于對知識掌握不熟悉,特別是鏈表、指針和文件的使用不熟練,是自己在編寫代碼的時候

6、遇到了很大的困難,最后通過上網(wǎng)查找資料并請教學(xué)長解決了問題,但自身還是有很多不足的地方! 通過這次課程設(shè)計,是自己認(rèn)識到了基礎(chǔ)知識的重要性,在平時的學(xué)習(xí)中要把基礎(chǔ)的內(nèi)容完全理解融會貫通,并且應(yīng)該多加練習(xí),提高自己敲寫代碼的速度和準(zhǔn)確性。通過這次課程設(shè)計,增加了我對編程的興趣和欲望。總之,這次課程設(shè)計使我受益匪淺!附錄:源代碼#include<stdio.h>#include<stdlib.h>#include<string.h>struct Datachar name20; char riqi8;float money;char beizhu50;struc

7、t liststruct Data info;struct list *next;struct list *Inhead=NULL;struct list *Intail=NULL;struct list *zhichuhead=NULL;struct list *zhichutail=NULL;struct list *temp=NULL;void chaxun_income();void chaxun_zhichu();void xiugai_income();void xiugai_zhichu();void Save_income() /保存支出文件 FILE *fp; /文件指針 f

8、p=fopen("D:家庭財務(wù)管理.txt","w");struct list *p = Inhead;while(p != NULL)fwrite(&p->info, sizeof(struct Data), 1, fp);p = p->next;fclose(fp);void Save_zhichu() /保存支出文件 FILE *fp;fp=fopen("D:家庭財務(wù)管理支出.txt","w"); /打開文件 struct list *p = zhichuhead;while(p != N

9、ULL)fwrite(&p->info, sizeof(struct Data), 1, fp);p = p->next;fclose(fp);void Open() FILE *fp;fp=fopen("D:家庭財務(wù)管理.txt","r"); /打開文件 if(fp!=NULL)struct Data linshi;while(fread(&linshi, sizeof(struct Data), 1, fp) = 1)temp=(struct list*)malloc(sizeof(struct list);temp-&g

10、t;info=linshi;temp->next=NULL; if(Inhead = NULL)Inhead = temp;Intail = temp;elseIntail->next = temp;Intail = temp; fclose(fp);void Menu() /主菜單 system("cls");printf("=n");printf("#歡迎使用家庭財務(wù)小管家#n");printf("=n");printf("1:收入操作 n");printf("2:支出

11、操作 n");printf("3:統(tǒng)計操作 n"); printf("0:退出 n");void Openzhichu() /打開支出文件 FILE *fp;fp=fopen("D:家庭財務(wù)管理支出.txt","r");if(fp!=NULL)struct Data linshi;while(fread(&linshi, sizeof(struct Data), 1, fp) = 1)temp=(struct list*)malloc(sizeof(struct list);temp->in

12、fo=linshi;temp->next=NULL; if(zhichuhead = NULL)zhichuhead = temp;zhichutail = temp;elsezhichutail->next = temp;zhichutail = temp; fclose(fp);void mingzi ()/按姓名查詢 char chazhao20;printf("請輸入查詢的名字");gets(chazhao);struct list *p = Inhead;while(p != NULL)if(strcmp(p->,chazhao

13、)=0)printf("姓名:");puts(p->); printf("日期:");puts(p->info.riqi); printf("收入:");printf("%.4fn",p->info.money); printf("備注:");puts(p->info.beizhu);system("PAUSE");p = p->next;if(Inhead!=NULL)char panduan; printf("是否

14、繼續(xù)查詢(Y/N)"); panduan=getchar();fflush(stdin);if(panduan='Y'|panduan='y')chaxun_income();void mingzi_zhichu ()char chazhao20;printf("請輸入查詢的名字");gets(chazhao);struct list *p = zhichuhead;while(p != NULL)if(strcmp(p->,chazhao)=0)printf("姓名:");puts(p-

15、>); printf("日期:");puts(p->info.riqi); printf("支出:");printf("%.4fn",p->info.money); printf("備注:");puts(p->info.beizhu);system("PAUSE");p = p->next;if(zhichuhead!=NULL)char panduan; printf("是否繼續(xù)查詢(Y/N)"); panduan=getch

16、ar();fflush(stdin);if(panduan='Y'|panduan='y')chaxun_zhichu();void mingzi_xiugai_income()char xiugai20;printf("請輸入修改的名字");fflush(stdin);gets(xiugai);struct list *p = Inhead;while(p != NULL)if(strcmp(p->,xiugai)=0) fflush(stdin);printf("姓名:");gets(p->

17、;);fflush(stdin); printf("日期:");gets(p->info.riqi);fflush(stdin); printf("收入: ");scanf("%f",&p->info.money);fflush(stdin); printf("備注:");gets(p->info.beizhu);fflush(stdin); p = p->next;Save_income(); if(Inhead!=NULL)char panduan; print

18、f("是否繼續(xù)修改(Y/N)"); panduan=getchar();fflush(stdin);if(panduan='Y'|panduan='y')xiugai_income();void mingzi_xiugai_zhichu() /按名字修改支出 char xiugai20;printf("請輸入修改的名字");fflush(stdin);gets(xiugai);struct list *p = zhichuhead;while(p != NULL)if(strcmp(p->,xiug

19、ai)=0) fflush(stdin);printf("姓名:");gets(p->);fflush(stdin); printf("日期:");gets(p->info.riqi);fflush(stdin); printf("支出: ");scanf("%f",&p->info.money);fflush(stdin); printf("備注:");gets(p->info.beizhu);fflush(stdin); p = p->

20、next;Save_zhichu();if(zhichuhead!=NULL)char panduan; printf("是否繼續(xù)修改(Y/N)"); panduan=getchar();fflush(stdin);if(panduan='Y'|panduan='y')xiugai_zhichu();void riqi() /收入查詢 char chazhao20;printf("請輸入查詢的日期");gets(chazhao);struct list *p = Inhead;while(p != NULL)if(strc

21、mp(p->info.riqi,chazhao)=0)printf("姓名:");puts(p->); printf("日期:");puts(p->info.riqi); printf("收入:");printf("%.4fn",p->info.money); printf("備注:");puts(p->info.beizhu);system("PAUSE");p = p->next;if(Inhead!=NULL)cha

22、r panduan; printf("是否繼續(xù)查詢(Y/N)"); panduan=getchar();fflush(stdin);if(panduan='Y'|panduan='y')chaxun_income();void riqi_zhichu()char chazhao20;printf("請輸入查詢的日期");gets(chazhao);struct list *p = zhichuhead;while(p != NULL)if(strcmp(p->info.riqi,chazhao)=0)printf(&

23、quot;姓名:");puts(p->); printf("日期:");puts(p->info.riqi); printf("支出:");printf("%.4fn",p->info.money); printf("備注:");puts(p->info.beizhu);system("PAUSE");p = p->next;if(zhichuhead!=NULL)char panduan; printf("是否繼續(xù)查詢(Y/N

24、)"); panduan=getchar();fflush(stdin);if(panduan='Y'|panduan='y')chaxun_zhichu();void riqi_xiugai_income()char xiugai20;printf("請輸入修改的日期");fflush(stdin);gets(xiugai);struct list *p = Inhead;while(p != NULL)if(strcmp(p->info.riqi,xiugai)=0) fflush(stdin);printf("

25、姓名:");gets(p->);fflush(stdin); printf("日期:");gets(p->info.riqi);fflush(stdin); printf("收入: ");scanf("%f",&p->info.money);fflush(stdin); printf("備注:");gets(p->info.beizhu);fflush(stdin); p = p->next;Save_income();if(Inhead!=NULL

26、)char panduan; printf("是否繼續(xù)修改(Y/N)"); panduan=getchar();fflush(stdin);if(panduan='Y'|panduan='y')xiugai_income();void riqi_xiugai_zhichu()char xiugai20;printf("請輸入修改的日期");fflush(stdin);gets(xiugai);struct list *p = zhichuhead;while(p != NULL)if(strcmp(p->info.r

27、iqi,xiugai)=0) fflush(stdin);printf("姓名:");gets(p->);fflush(stdin); printf("日期:");gets(p->info.riqi);fflush(stdin); printf("支出: ");scanf("%f",&p->info.money);fflush(stdin); printf("備注:");gets(p->info.beizhu);fflush(stdin); p

28、= p->next;Save_zhichu(); if(zhichuhead!=NULL)char panduan; printf("是否繼續(xù)修改(Y/N)"); panduan=getchar();fflush(stdin);if(panduan='Y'|panduan='y')xiugai_zhichu();void money () /收入 float chazhao;printf("請輸入查詢的money");scanf("%f",&chazhao);fflush(stdin);s

29、truct list *p = Inhead;while(p != NULL)if(p->info.money=chazhao)printf("姓名:");puts(p->); printf("日期:");puts(p->info.riqi); printf("收入:");printf("%.4fn",p->info.money); printf("備注:");puts(p->info.beizhu);system("PAUSE"

30、;);p = p->next;if(Inhead!=NULL)char panduan; printf("是否繼續(xù)查詢(Y/N)"); panduan=getchar();fflush(stdin);if(panduan='Y'|panduan='y')chaxun_income();void money_zhichu ()float chazhao;printf("請輸入查詢的money");scanf("%f",&chazhao);fflush(stdin);struct list *

31、p = zhichuhead;while(p != NULL)if(p->info.money=chazhao)printf("姓名:");puts(p->); printf("日期:");puts(p->info.riqi); printf("收入:");printf("%.4fn",p->info.money); printf("備注:");puts(p->info.beizhu);system("PAUSE");p = p

32、->next;if(zhichuhead!=NULL)char panduan; printf("是否繼續(xù)查詢(Y/N)"); panduan=getchar();fflush(stdin);if(panduan='Y'|panduan='y')chaxun_zhichu();void money_xiugai_income()float xiugai;printf("請輸入修改的money");scanf("%f",&xiugai);fflush(stdin);struct list *

33、p = Inhead;while(p != NULL)if(p->info.money=xiugai) fflush(stdin);printf("姓名:");gets(p->);fflush(stdin); printf("日期:");gets(p->info.riqi);fflush(stdin); printf("收入: ");scanf("%f",&p->info.money);fflush(stdin); printf("備注:");g

34、ets(p->info.beizhu);fflush(stdin); p = p->next;Save_income();if(Inhead!=NULL)char panduan; printf("是否繼續(xù)修改(Y/N)"); panduan=getchar();fflush(stdin);if(panduan='Y'|panduan='y')xiugai_income();void money_xiugai_zhichu()float xiugai;printf("請輸入修改的money");scanf(&q

35、uot;%f",&xiugai);fflush(stdin);struct list *p = zhichuhead;while(p != NULL)if(p->info.money=xiugai) fflush(stdin);printf("姓名:");gets(p->);fflush(stdin); printf("日期:");gets(p->info.riqi);fflush(stdin); printf("支出: ");scanf("%f",&p

36、->info.money);fflush(stdin); printf("備注:");gets(p->info.beizhu);fflush(stdin); p = p->next;Save_zhichu();if(zhichuhead!=NULL)char panduan; printf("是否繼續(xù)修改(Y/N)"); panduan=getchar();fflush(stdin);if(panduan='Y'|panduan='y')xiugai_zhichu();void beizhu()char

37、chazhao20;printf("請輸入查詢的備注");gets(chazhao);struct list *p = Inhead;while(p != NULL)if(strcmp(p->info.beizhu,chazhao)=0)printf("姓名:");puts(p->); printf("日期:");puts(p->info.riqi); printf("收入:");printf("%.4fn",p->info.money); printf

38、("備注:");puts(p->info.beizhu);system("PAUSE");p = p->next;if(Inhead!=NULL)char panduan; printf("是否繼續(xù)查詢(Y/N)"); panduan=getchar();fflush(stdin);if(panduan='Y'|panduan='y')chaxun_income();void beizhu_zhichu()char chazhao20;printf("請輸入查詢的備注")

39、;gets(chazhao);struct list *p = zhichuhead;while(p != NULL)if(strcmp(p->info.beizhu,chazhao)=0)printf("姓名:");puts(p->); printf("日期:");puts(p->info.riqi); printf("收入:");printf("%.4fn",p->info.money); printf("備注:");puts(p->info.

40、beizhu);system("PAUSE");p = p->next;if(zhichuhead!=NULL)char panduan; printf("是否繼續(xù)查詢(Y/N)"); panduan=getchar();fflush(stdin);if(panduan='Y'|panduan='y')chaxun_zhichu();void beizhu_xiugai_income()char xiugai20;printf("請輸入修改的備注");fflush(stdin);gets(xiug

41、ai);struct list *p = Inhead;while(p != NULL)if(strcmp(p->info.beizhu,xiugai)=0) fflush(stdin);printf("姓名:");gets(p->);fflush(stdin); printf("日期:");gets(p->info.riqi);fflush(stdin); printf("支出: ");scanf("%f",&p->info.money);fflush(stdin

42、); printf("備注:");gets(p->info.beizhu);fflush(stdin); p = p->next;Save_income();if(Inhead!=NULL)char panduan; printf("是否繼續(xù)修改(Y/N)"); panduan=getchar();fflush(stdin);if(panduan='Y'|panduan='y')xiugai_income();void beizhu_xiugai_zhichu() char xiugai20;printf(&q

43、uot;請輸入修改的備注");fflush(stdin); gets(xiugai);fflush(stdin);struct list *p = zhichuhead;while(p != NULL)if(strcmp(p->info.beizhu,xiugai)=0) fflush(stdin);printf("姓名:");gets(p->);fflush(stdin); printf("日期:");gets(p->info.riqi);fflush(stdin); printf("支出: &q

44、uot;);scanf("%f",&p->info.money);fflush(stdin); printf("備注:");gets(p->info.beizhu);fflush(stdin); p = p->next;Save_zhichu();if(zhichuhead!=NULL)char panduan; printf("是否繼續(xù)修改(Y/N)"); panduan=getchar();fflush(stdin);if(panduan='Y'|panduan='y')x

45、iugai_zhichu();void Income_menu() /收入菜單 system("cls");printf("=n");printf("#歡迎使用家庭財務(wù)小管家#n");printf("=n"); printf("1.添加收入n"); printf("2.刪除收入n"); printf("3.查詢收入n"); printf("4.顯示收入n"); printf("5.修改收入n"); printf(&q

46、uot;0.返回上一級n"); void zhichu_menu() /支出菜單 system("cls");printf("=n");printf("#歡迎使用家庭財務(wù)小管家#n");printf("=n"); printf("1.添加支出n"); printf("2.刪除支出n"); printf("3.查詢支出n"); printf("4.顯示支出n"); printf("5.修改支出n"); pri

47、ntf("0.返回上一級n"); void chaxun_menu() /查詢菜單 system("cls");printf("=n");printf("#歡迎使用家庭財務(wù)小管家#n");printf("=n");printf("1.按名字查詢n");printf("2.按日期查詢n");printf("3.按money詢n");printf("4.按備注查詢n");printf("0.返回上一級n&quo

48、t;);void xiugai_menu() system("cls");printf("=n");printf("#歡迎使用家庭財務(wù)小管家#n");printf("=n");printf("1.按名字修改n");printf("2.按日期修改n");printf("3.按money修改n");printf("4.按備注修改n");printf("0.返回上一級n");void Add_income() char p

49、anduan; dotemp=(struct list*)malloc(sizeof(struct list);printf("姓名");gets(temp->);fflush(stdin);printf("日期");gets(temp->info.riqi);fflush(stdin);printf("收入");scanf("%f",&temp->info.money);fflush(stdin);printf("備注");gets(temp->

50、;info.beizhu);fflush(stdin);printf("n");temp->next=NULL; if(Inhead = NULL)Inhead = temp;Intail = temp;elseIntail->next = temp;Intail = temp; Save_income(); printf("是否(Y/N)繼續(xù)添加信息n"); panduan=getchar();fflush(stdin); while(panduan='Y'|panduan='y'); system(&quo

51、t;PAUSE");void Add_zhichu() char panduan; dotemp=(struct list*)malloc(sizeof(struct list);printf("姓名");gets(temp->);fflush(stdin);printf("日期");gets(temp->info.riqi);fflush(stdin);printf("支出");scanf("%f",&temp->info.money);fflush(stdi

52、n);printf("備注");gets(temp->info.beizhu);fflush(stdin);printf("n");temp->next=NULL; if(zhichuhead = NULL)zhichuhead = temp;zhichutail = temp;elsezhichutail->next = temp;zhichutail = temp; Save_zhichu(); printf("是否(Y/N)繼續(xù)添加信息n"); panduan=getchar();fflush(stdin);

53、while(panduan='Y'|panduan='y'); system("PAUSE");void Del_income() char shanchu20;struct list *p=NULL;struct list *m =NULL;struct list *n =NULL;p=Inhead;printf("請輸入刪除姓名");gets(shanchu);if(strcmp(Inhead->,shanchu)=0)while(Inhead!=NULL && strcmp(I

54、nhead->,shanchu)=0)char ch;printf("找到一個數(shù)據(jù)名字為%s,確認(rèn)刪除Y/N?",shanchu);ch=getchar();fflush(stdin);if(ch='y'|ch='Y')Inhead=Inhead->next;else break;elseif(strcmp(Intail->,shanchu)=0) do m=p; p=p->next; while(p!=Intail); m->next=NULL;elsedo m=p; p=p->next; n=p->next; while(strcmp(p->,shanchu)!=0&&n->next!=NULL); if(strcmp(p->,shanchu)=0) m->next=n; Save_income(); if(Inhead!=NULL)char panduan; printf("是否繼續(xù)刪除(Y/N)"); panduan=getchar();

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論