1、请选更进彳二的撲作ca-v:4.3查询收入明细测试溝漱明细收入管理豊翻细 明 支支 沓-修 6 8出出支支加除i- 5 7堆 菅 出 支统计汁统计总收人二总支出 退 岀词退岀系统请选择要进行的換作:2沁青输入要查询的穿月好匹肮”7请按任意键畛心其也数据? 4.4删除收入测试4 hA*#. N*l* WUA AA 貝VlAA, RHuW. MAAjAjfKj*nrrHnrwMnmmmMVirwvwnmrnimjrwHmmww耳XJOEXiMICMXX 3风*EKK KN 掛耳 XX 3E:MiMKliE XXXX 斃入明细冢庭财务管理系统4HX It JOOCJCKK JffKHKltK UK
2、KK KJClf UlflffKlt XKXKJtlt MKlTMlflKltiMKJC6.轉K科稱補稻耳港KiHPt耳轉齋黑禅齋清KiHKiM贰清料牺if清清秫齋啊轉M 统 计汁统计忌收入儿鼠支出 退 岀汨退岀系统 请选择雯迸行的操作個“竹诘切八耍查询的年月201-4/lI I 4删除成功Pirss an key to cnnt-imie4.5修改收入测试M-MJM)CJM Kil! XHJCXIOCW JtXJHXKKTHTHieTCJtXltJCJt J JtKKJC 收A管理m添加收入 趴查育3 删除收入屛其 N ) BOf MJtHBtiM 豪算 K:W 址耳英* 號豪 KJCMiM
3、tiMlCiM K3f 號耳贰 Jt NJf 3 X查询支出明细8 修改支出统 计也统计创辺吏出退 出:肌退出系纟充4.6添加支出测试4.7查询支出明细测试udviBiimiaufMawmwvwiviiBiwiuriVia-waufvawMiiw 家庭财务管理系统 nrrwmvwwwMwvwnrnmwmwwKirwwruYuwvwwsmwvrwnriffwwvnFiwrHnrhHwurwwrurunjw收初狒歓X NJf 孫 X N w2-04-W4翹:k轨耳NJieKH曲耳嵐耳昶x *入明细攵人HL ML JL JR支岀管瑋汚探加支出 巴删除支出般护细绕 i+=?.fcA/.aSSe m e
4、 r退S:0-iai 系绕i 奮按任意键继续.4.8删除支出测试泉庭财务管理系统收入管理沁3務賑旳细ME界貝其貝耳疑耳冥艮K耳KME界 界箕梵JOC 3KH M:耳NW算見其買梵就艮植耳拉算址舅覽如其支出管理參報鑒:義鏗细:K“a :WFjaNtf K Itf NJ* ;K“M; *M* :K hE 倚甘 1* 材 UIfrJtf N Jtfim;M HH X lil: KW ;M H U“aCHHXKKMMKKMtKMK4CXKMKMKtK4tKtXMdKXKHKtK请选择要进行的操隹2013Z1NO.;年声月 咲型姓名金额!#i;iZUlJZOl :支岀 iii 1iyy J购物1 1Pr
5、ess any key to continue4.9修改支出测试支岀管理汗统计守统计邕收入/总支岀/H2313/9年帛备注衣耶12013/09300.00农服裘型年/月金埶#?-支出衣服2013/09200.00谙邈择禮进肓的擁忙汚任苣槌返回攵入明细 攵入:XX 莫 K 耳 X W 奪 X梵:H MS X 来 JK 3J H H X 英 X 冥 X NX 梵黑梵 梵:MX XJtXiMJC JiEXX W! ”M屛胃押 弭岸W!岸翳詞制胃WE W If K屛W! K删打删勢 ! 捕骑K4HI出汨退出系统合计支出500,001】结余4204.63收瀰合计收入4734.63去出篙理沾.添呻去串S査
6、询支出阴卸 叽删除支二航膨改支出=W W* W Iff目 W * 1* 弭 W 菁 Iff 群 K 材 1W 祈 * * If W M iW” 材 1*1*舊1* 舊 KW计=9 纟充i十总收入严总支出X BiCIM XNFeMCXXlMKIWSeiHIICIMXlMIXXIM XIK 痕 出m退也累统rwna-MivrMimi vwiwhi wr*awi*iH 史岀譽聽【鶴护统计伙统计施收人/总支出整减穽姒整址整買址M址賢宾貝MIC軒慕配X慕X穽 穽姒整过整肚址號址賢W貝 退出血退岀系统储选择要逝亍牆作Press any key to continue.5.软件操作使用说明书本系统采用命令行
7、对话方式进行操作,运行后出现主界面(如下图所示) 然后按照主界面菜单指引操作即可。收入管理曲添加収入 皐查询收入明细m 删陈收入4 修改收入 !:统 计叽统计刘女dz总妾由退 出询退岀系统 :卜请选揉要进盯的换作6.总结编写程序之前要有一个整体的思路, 不能写到哪里算哪里。这样很容易遗漏,连 续性也不好。通过本次的课程设计让我对于数组、文件的存放、循环结构等知识 有了更加透彻的理解。希望在以后的课程设计中对于知识的运用能够更加的熟 练。代码:#in elude #inelude stri ng.h家庭成员姓名的最大长度/注最大长度#in elude vconi o.h#defi ne MAXN
8、AME 11 /#defi ne MAXDETAIL 21/自定义枚举类型fi_type,用来表示收入与支出typedef enum _fi_typein come=1, 收入payout =-1 / 支出 fi_type;/ 家庭财务信息结构体typedef struct _fi_infoint year;int mon th;fi_type type;char n ame9;float mon ey;char detail11;finfo;/ 存储财务数据结构的结构体typedef struct _fi_datafi_info info;struct _fi_data* n ext; fi
9、_data;fi_data *head;/ 财务数据的头结点void menu ();/ 菜单函数void add_ in come();void search_ in come();void delete_ in come();void update_ in come();void add_payout();void search_payout();void delete_payout();void update_payout();void coun t_total();void quit();/void search_data(fi_type type);void delete_data(
10、fi_type type);void update_data(fi_type type);void in itialize();void save_to_file();void clear_data();fi_data *get_last();fi_data *get_previous(fi_data *p);void in put_ in fo(fi_ info *in fo);void show_i nfo(fi_data *p);void menu()prin tf(n); prin tf(tt prin tf(ttt prin tf(tt家庭财务管理系统ntt*n收入管理:”);添加收
11、入查询收入明细n 删除收入修改收入n支出管理:添加支出查询支出明细nprintf(ttt 7. 删除支出 8. 修改支出 ntt 统 计:9. 统计总收入/总支出ntt 退 出:0.退出系统 nvoid mai n()int selected=O;in itialize();while(selected=0&selected 请选择要进行的操作(0-9):if(sca nf(%d, &selected)!=1|selected9) 输入有误!请选择(0-9)之间的数字!按任意键重试getchar();elseswitch(selected)case O:exit(O);clear_data()
12、;break;case 1:add_ in come();save_to_file();case 2:search_ in come();case 3:delete_ in come();case 4:update_ in come();case 5:add_payout();case 6:search_payout();case 7:delete_payout();case 8:update_payout();case 9:co un t_total();void add_ in come() 添加收入fi_data *p=(fi_data *)malloc(sizeof(fi_data);
13、p- next=NULL;in put_i nfo(&(p-i nfo);in fo.type=in come;if(head=NULL) head=p;get_last()-n ext=p;void add_payout() 添加支出 p-in fo.type=payout;/输入函数void in put_i nfo(fi_i nfo *info) 请输入年月(YYYY/M)sca nf(%d/%d,&(in fo-year),&mo nth); 请输入家庭成员姓名(最大长度为 d):,MAXNAME-1);sea nf(%s,i nfo- name); 输入金额:%f(i nfo-mo
14、ney); 请输入备注(最大长度为%d):,20);detail);/查找数据函数void search_data(fi_type type)int year=0;int mon th=0;fi_data *p=NULL;int coun t=0;char in put=while 请输入要查询的年月(YYYY/M)year,&mon th)!=2) 输入有误 np=head;coun t=0;while(p!=NULL)if(p-in fo.year=year)&info.mon th=month)&in fo.type=type)show_ in fo(p);PAUSEcoun t+;p=
15、p-n ext;if(co un t=0) 没有找到数据n 继续查找其他数据? (y or n)in put=getchar();if(i nput=y|i nput=Y)con ti nue;/初始化函数,读取文本数据void in itialize()FILE * fp=NULL;fi_data *last=NULL;fp=fope n( data.txt,rbif(fp=NULL)wfclose(fp);retur n;p=(fi_data*)malloc(sizeof(fi_data); memset(p,0,sizeof(fi_data);while(fread(&in fo),si
16、zeof(fi_ in fo),1,fp)=1) if(head=NULL)head=p;last=get_last();last- fseek(fp,cou nt*sizeof(fi_i nfo),SEEK_SET); p=(fi_data *)malloc(sizeof(fi_data);free(p);p=NULL;/显示信息函数void shownfo(fi_data *p)int i=0;|tt|tt|tt|tt|tt|tt|n|NO.t | 年/ 月 tt| 类型 tt| 姓名 tt| 金额 tt| 备注 tt|n|%5dt|%4d/%02dt|%4st|%10st|%10.2f|
17、%20s|n,i+1,info.year,p-info.month,p-info.type=income? 收入支出,info.n ame,p-info.mon ey,p-in fo.detail);/统计总收入、总支出void coun t_total()float total_ in come=0.0;float total_payout=0.0;fi_data *p=head;if(p-in fo.type=in come)total_ in come+=p-info.mon ey;total_payout+=p-tt+tt+tt+ntt| 合计收入t|合计支出t|结余t|ntt%12.
18、2f|%12.2f|%12.2f|n,total_i ncome,total_payout,total_i ncome -total_payout); 按任意键返回主菜单/保存到文件void save_to_file()FILE *fp=fopen(wbfwrite(&i nfo),sizeof(fi_i nfo),1,fp);fseek(fp,O,SEEK_END);/修改信息函数void update_data(fi_type type) int year=0;fi_data *pre=NULL;char in put;while(1) prin tf(tt 修改成功 nP=get_previous(p);void delete_data(fi_type type)/ 删除数据函数,&mo nth)!
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1