1、课程设计说明书学院、系:专.业:学生姓名:学号:设计总目:家庭财务小管家起迄日期:指导教师:1设计目的本课程设计是采纳C语言,在VC平台下设计年历显示系统,该系统运行在MS-DoS吩咐行模式下。本课程设计为学生供应了一个既动手又动脑,独汇实践的机会,将课本上的理论学问和实际有机的结合起来,熬炼学生的分析解决实际问题的实力。提高学生适应实际,实践编程的实力。D进一步巩固和复习C程序设计的基础学问;2)培育学生结构化程序、模块化程序设计的方法和实力;3)了解软件的编制过程与各环节的详细内容;0提高学生程序调试技巧、软件设计实力和代码规范化等素养;提高学生分析问题、解决问题以与实际运用实力。2任务概
2、述个人小管家应用系统给家庭供应了-个管理个人财务的产台,主要用于对家庭成员收入、支出进行添加、查询、删除、修改以与打印的操作,使得家庭财务收支状况一目了然。主要功能包括:主菜单。主要包括收入管理、支出管理和退出;添加收入记录;查泡收入记录;删除收入记录;修改收入记录;打印收入记录;添加支出记录;查询支出记录; 9)删除支出记录; 0)修改支出记录;(I1.)打印支出记录;修改操作:图5(以支出为例)PiaX叶“J2WMT9e-使用裁曜引詈小智穿0依名字修改授B1.B卷款返同上一一入你的隹界,1演人馋刑的6字救二:如*H09:I03101:1000各在,WW*W*.6删除操作:图6(以收入为例)
3、0Mm3aSF务广犹逢使用寄。财务小寄”射障收人三*5t星承收入J1.A雄眼请人热曲林名李四nK-4e*B.iUNfi1.YX?7支出界面:图7Sxxas8统计界面:图8Ba入S曳出1B受攵,跑月上一S入I_6课程设计心得通过本此的课程设计,让我们更娴熟地驾驭了C语言程序设计教程的学问,熟识了一个管理系统的运用和操作,熟识如何采纳DeVC+作为编译环境,使程序胜利的编译和运行,能够运用C语言创建基本表和编辑信息,增加信息,删除信息,修改信息,杳找信息和显示信息。通过对结构体,编辑,增加,删除,修改,查找,显示模块的连接,生成能操作运行的管理系统。在这次课程设计的过程中,由于对学问驾驭不熟识,特
4、殊是施表、指针和文件的运用不娴熟,是自己在编写代码的时候遇到了很大的困难,最终通过上网查找资料并请教学长解决了问题,但自身还是有许多不足的地方!通过这次课程设计,是自己相识到了基础学问的重要性,在平常的学习中要把基础的内容完全理解融会贯穿,并且应当多加练习,提高自己敲写代码的速度和精确性。通过这次课程设计,增加了我对编程的宠好和欲望。总之,这次课程设计使我受益匪浅!附录:源代码#inc1.udc#inc1.ude#inc1.udestructDatacharname20;charriqi(8;f1.oatmoney;charbeizhu(50;;struct1.iststructDatainf
5、o;struct1.ist*next;);struct1.ist*Inhead=NU1.1.;struct1.ist*Intai1.=NU1.1.;struct1.ist*zhichuhead=NU1.1.;struct1.ist*zhichutai1.=NU1.1.;struct1.ist*temp=NU1.1.;voidchaxun_income();voidchaxun_zhichu();voidxiugaijncome();voidxiugai-zhichu();voidSaveJncomeO/保存支出文件FI1.E*fp;文件指针fp=fopen(D:家庭财务管理.txt,w);st
6、ruct1.ist*p三Inhead;whi1.e(p1=NU1.1.)fwrite(p-info,sizeof(structData),1,fp);p=p-next;fc1.ose(fp);voidSave_zhichu()保存支出文件FI1.E*fp;fp=fopen(D家庭财务管理支出.txtJw);打开文件struct1.ist*p=zhichuhead;whi1.e(p!=NU1.1.)fwrite(&p-info,sizeof(structData),1,fp);p=p-ncxt;fc1.ose(fp);voidOpen()FI1.E*fp;fp=fopen(D家庭财务管理txt”
7、T);/打开文件if(fp!=NU1.1.)structDataIinshi;whi1.e(fread(1.inshi,sizeof(structData),1,fp)=1)temp=(struct1.ist*)ma1.1.oc(sizeof(struct1.ist);temp-info=1.inshi;tcmp-next=NU1.1.;if(Inhead=NU1.1.)Inhead=temp;Intai1.=temp;e1.seIntai1.-next=temp;Intai1.=temp;fc1.ose(fp);voidMenu()主菜单system(c1.sj;Printf(#欢迎运用家
8、庭财务小管家#n);printf(=n);Printfr1:收入操作n);Printf(”2:支出操作n”);Printfr3:统计操作n);Printf(0:退出n);voidOpenzhichuO打开支出文件FI1.E*fp;fp=fopen(D:家庭财务管理支出.txt,f);if(fp!=NU1.1.)structDataIinshi;whi1.e(fread(&1.inshi,sizeof(structData),1,fp)=1)(temp=(struct1.ist*)ma1.1.oc(sizeof(struct1.ist);temp-info=1.inshi;temp-next=N
9、U1.1.;if(zhichuhead=NU1.1.)zhichuhead=temp;Zhichutai1.=temp;e1.sezhichutai1.-ncxt=temp;Zhichutai1.=temp;fc1.osc(fp);voidmingzi0按姓名查询charchazhao20;Printfr请输入查询的名字名gets(chazhao);struct1.ist*p=Inhead;whi1.e(pI=NU1.1.)if(strcmpp-info.name,chazhao)=0)Printfr姓名:)jputs(p-info.name);printf(,日期:)jputs(p-info
10、riqi);Printfr收入:)jprintf(%.4fn,p-info.money);Printfr备注:);puts(p-info.beizhu);system(PAUSE);p=p-next;if(Inhead!=NU1.1.)charpanduan;Printf(是否接着查询(YN);panduan=getchar();ff1.ush(stdin);if(panduan=Y,panduan=y)chaxun_income();voidmingzi-zhichu()charchazhao20);Printf(“请输入杳询的名字”);gets(chazhao);struct1.ist*
11、p=zhichuhead;whi1.e(p!=NU1.1.)if(strcmp(p-info.name,chazhao)=0)Printfr姓名:);PUtS(P-info.name);Prindr11期:);puts(p-info.riqi);Printf(支出:hprintf(%.4fn,p-info.money);Printn备注:);PUtS(P-info.bcizhu);system(PAUSE);p三p-next;if(zhichuhead!=NU1.1.)charpanduan;Printf(”是否接着杳询(YN);panduan=getchar();ff1.ush(stdin)
12、if(panduan=YIpanduan=y)chaxun-zhichu();voidmingzi_xiugai_income()charxiugai20);Printfr请输入修改的名字”);ff1.ush(stdin);gets(xiugai);struct1.ist*p=Inhcad;whi1.e(p!=NU1.1.)if(strcmp(p-info.name,xiugai)=0)(ff1.ush(stdin);Printfr姓名:);gets(p-info.name);ff1.ush(stdin);Printf(日期:);gets(p-info.riqi);ff1.ush(stdin
13、);Printfr收入:);scanf(%f,8&p-info.money);ff1.ush(stdin);Printf(备注:)jgets(p-info.beizhu);ff1.ush(stdin);p=p-ncxt;SavjincomcO;if(Inhead!=NU1.1.)charpanduan;Printf(是否接着修改(YN);panduan=getchar();ff1.ush(stdin);if(panduan=YIpanduan=y)IXiUgai_income();voidmingzi_xiugai_zhichuO按名字修改支出charxiugai201;Printf(“请输入
14、修改的名字”);ff1.ush(stdin);gets(xiugai);struct1.ist*p=zhichuhead;whi1.e(p!=NU1.1.)if(strcmp(p-info.name,xiugai)=0)ff1.ush(stdin);Printfr姓名:);gets(p-info.name);ff1.ush(stdin);Printfr日期:);gets(p-info.riqi);ff1.ush(stdin);Printfr支出:);SCanfr%f,&p-info.money);ffhish(stdin);Printfr备注:r);gets(p-info.beizhu);ff
15、1.ush(stdin);p=p-next;Save_zhichuO;if(zhichuhead!=NU1.1.)charpanduan;Printf(是否接着修改(YN);panduan=getchar();ff1.ush(stdin);if(panduan=,Ypanduan三三,y)xiugai-zhichu();)voidriqi()收入杳询charchazhao20;Printfr请输入查询的日期);gets(chazhao);struct1.ist*p=Inhead;whi1.e(p!=NU1.1.)if(strcmp(p-info.riqi,chazhao)=0)Printfr姓
16、名:);PUtS(P-ink.name);printf(,日期:)jputs(p-info.riqi);Printfr收入:)jprintf(%.4fn,p-info.money);Printf(备注:);PUtS(P-info.beizhu);system(PAUSE);p=p-next;if(Inhead!=NU1.1.)charpanduan;Printf(是否接着查询(YN)panduan=getchar();ff1.ush(stdin);if(panduan=YIpanduan=y)chaxunJncomeO;voidriqi_zhichu()charchazhao(20);Prin
17、tfr请输入查询的日期日gets(chazhao);struct1.ist*p=zhichuhead;whi1.e(p!=NU1.1.)if(strcmp(p-info.riqi,chazhao)=0)Printf(姓名:)jputs(p-info.name);Printf(日期:);PUtS(P-info.riqi);Printf(支出:hprintf(%.4fnp-info.money);Printfr备注:);PUtS(P-info.bcizhu);system(PAUSE);P=p-next;if(zhichuhead!=NU1.1.)charpanduan;Printf(”是否接着杳
18、询(Y/N);panduan=getchar();ff1.ush(stdin);if(panduan=YIpanduan=y)chaxun_zhichu();voidriqi_xiugai_income()charxiugai(20);Printfr请输入修改的日期”);ff1.ush(stdin);gets(xiugai);struct1.ist*p=Inhcad;whi1.e(pI=NU1.1.)if(strcmp(p-info.riqi,xiugai)=0)ff1.ush(stdin);Printf(姓名:);gets(p-info.name);ff1.ush(stdin);Printf
19、日期:);gets(p-info.riqi);ff1.ush(stdin);Printfr收入:);scanf(%f,&p-info.money);ff1.ush(stdin);Printfr备注:,)jgets(p-info.beizhu)jff1.ush(stdin);p=p-next;SaVJinCome0;if(Inhead!=NU1.1.)charpanduan;Printf(是否接着修改(YN);PandUan=getchar();ff1.ush(stdin);if(panduan=YIpanduan=y)xiugai-income()voidriqi_xiugai_zhichu
20、)charxiugai201;Printfr请输入修改的日期日ff1.ush(stdin);gets(xiugai);struct1.ist*p=zhichuhead;whi1.e(p!=NU1.1.)if(strcmp(p-info.riqi,xiugai)=0)ff1.ush(stdin);Printfr姓名:);gets(p-info.name);ff1.ush(stdin);Printfr日期:)jgets(p-info.riqi);ff1.ush(stdin);PrintfC支出:);scanf(%f,&p-info.money);ff1.ush(stdin);Printfr备注:
21、);gets(p-info.beizhu);ff1.ush(stdin);p=p-next;Save_zhichuO;if(zhichuhead!=NU1.1.)charpanduan;Printf(是否接着修改(YN);panduan=getchar();ff1.ush(stdin);if(panduan=YIpanduan=y)ZXiUga1.ZhiChU();voidmoney()收入f1.oatchazhao;Printfr请输入查询的money);scanf(%f,chazhao);ff1.ush(stdin);struct1.ist*p=Inhead;whi1.e(p!=NU1.1
22、)if(p-info.money=chazhao)(Printfr姓名:);PUtS(P-info.name);printf(H期:);puts(p-info.riqi);Printfr收入:);printf(%.4fn,p-info.money);Printfr备注:)jputs(p-info.bcizhu);system(PAUSE);p=p-next;if(Inhead!=NU1.1.)charpanduan;Printfr是否接若查询(YNT);panduan=getchar();ff1.ush(stdin);if(panduan=,Ypanduan=y)IchaxunJncomeO
23、voidmoney_zhichu()f1.oatchazhao;Printfr请输入查询的money);scanf(%f,8&chazhao);ff1.ush(stdin);struct1.ist*p=zhichuhead;whi1.e(p!=NU1.1.)if(p-info.money=chazhao)Printfr姓名:);PUtS(P-info.name);Printf(日期:)jputs(p-info.riqi);Printfr收入:)iprintf(%.4fn,p-info.money);Printn备注:)jputs(p-info.bcizhu);system(PAUSE);P=
24、p-next;if(zhichuhead!=NU1.1.)charpanduan;Printf(是否接若杳询(YN);panduan=getchar();ff1.ush(stdin);if(panduan=YIpanduan=y)chaxun_zhichu();voidmoney_xiugai_income()f1.oatxiugai;Printfr请输入修改的money);scanf(%f,&xiugai);f11ush(stdin);struct1.ist*p=Inhead;whi1.e(p!=NU1.1.)if(p-info.money=xiugai)ff1.ush(stdin);Pri
25、ntf(姓名:);gets(p-info.name);ff1.ush(stdin);Printfr日期:);gets(p-info.riqi);ff1.ush(stdin);Printfr收入:);SCanfr%f,&p-info.money);ffhish(stdin);printf(f?!:);gets(p-info.beizhu);ff1.ush(stdin);P=p-next;Save_income();if(Inhcad!=NU1.1.)charpanduan;Printf(是否接着修改(YN);panduan=getchar();ff1.ush(stdin);if(panduan=
26、Ypanduan=y)xiugai_income();Hvoidmoney_xiugai_zhichuOf1.oatxiugai;Printf(”请输入修改的money);scanf(%f,&xiugai);f11ush(stdin);struct1.ist*p=zhichuhead;whi1.e(p!=NU1.1.)if(p-info.moncy=xiugai)ff1.ush(stdin);Printfr姓名:);gets(p-info.name);ff1.ush(stdin);Printfr日期:);gets(p-info.riqi);ff1.ush(stdin);Printfr支出:);
27、SCanfr%f,&p-info.money);ffhish(stdin);Printfr备注:r);gets(p-info.beizhu);ff1.ush(stdin);p=p-next;Save_zhichuO;if(zhichuhead!=NU1.1.)charpanduan;Printf(是否接着修改(YN);panduan=getchar();ff1.ush(stdin);if(panduan=,Ypanduan三三,y)xiugai-zhichu();voidbeizhu()charchazhao20);Printfr请输入查询的备注”);gets(chazhao);struct1
28、ist*p=Inhead;whi1.e(p!=NU1.1.)if(strcmp(pinfo.beizhu,chazhao)=0)(Printfr姓名:);PUtS(P-info.name);printf(日期:)jputs(p-info.riqi);Printfr收入:)jprintf(%.4fn,p-info.money);Printn备注:)jputs(p-info.bcizhu);system(PUSE);p=p-next;if(Inhead!=NU1.1.)charpanduan;Printf(”是否接着杳询(Y/N);panduan=getchar();ff1.ush(stdin)
29、if(panduan=YIpanduan=y)chaxunjncome();voidbeizhu-zhichucharchazhao20;Printfr请输入查询的备注);gets(chazhao);struct1.ist*p=zhichuhead;whi1.e(p!=NU1.1.)(if(strcmp(p-info.beizhu,chazhao)=O)Printfr姓名:)iputs(p-info.name);Printfr日期:)jputs(p-info.riqi);Printfr收入:)iprintf(%.4fn,p-info.money);Printfr备注:);PUtS(P-inf
30、o.beizhu);system(PAUSE);P=p-next;if(zhichuhead!=NU1.1.)charpanduan;Printfr是否接若查询(YNT);panduan=getchar();ff1.ush(stdin);if(panduan=YIpanduan=y)chaxun_zhichu();voidbeizhu_xiugai_income()charxiugai20;Printfr请输入修改的备注”);ff1.ush(stdin);gets(xiugai);struct1.ist*p三Inhead;whi1.e(p1=NU1.1.)if(strcmp(p-info.be
31、izhu,xiugai)=0)ff1.ush(stdin);Printfr姓名:);gets(p-info.name);ff1.ush(stdin);Printf(日期:);gets(p-info.riqi);ff1.ush(stdin);Printfr支出:);scanf(%f,&p-info.money);ff1.ush(stdin);printf(ttfc:);gets(p-info.beizhu);ff1.ush(stdin);p=p-next;Save_income();if(Inhead!=NU1.1.)charpanduan;Printf(是否接若修改(YN);panduan=g
32、etchar();ff1.ush(stdin);if(panduan=Ypanduan=y)xiugai_income();Hvoidbeizhu_xiugai_zhichu()charxiugai20;Printfr请输入修改的备注”);ff1.ush(stdin);gets(xiugai);ff1.ush(stdin);struct1.ist*p=zhichuhead;whi1.e(p!=NU1.1.)if(strcmp(p-info.beizhu,xiugai)0)(ff1.ush(stdin);Printf(姓名:);gets(p-info.name);ff1.ush(stdin);P
33、rintfr日期:n);gets(p-info.riqi)ush(stdin);Printf(支出:);SCanf(%f,&p-info.money);ff1.ush(stdin);Printfr备注:);gets(p-info.beizhu);ff1.ush(stdin);p=p-next;Save_zhichuQ;if(zhichuhead!=NU1.1.)charpanduan;Printf(是否接着修改(YN);panduan=getchar();ff1.ush(stdin);if(panduan=YIpanduan=y)ZXiUga1.ZhiChu0;voidIncome_menu(
34、)收入菜单SyStem(cis);printf(=n);Printf(#欢迎运用家庭财务小管家#n);printf(,=n);Printfr1.添加收入n);Printf(“2.删除收入n);Printf(3.查询收入n);Printf(“4.显示收入n);Printf(5.修改收入n);Printfro.返回上一级r);voidZhiChU_menu()支出菜单system(c1.s,);printf(=11,);Printf(”#欢迎运用家庭财务小管家#n);printf(=n);Printfr1.添加支出n);Printf(2删除支出”);Printfr3.杳询支出n);Printf(4
35、显示支出n);Printf(5.修改支出n);PrintfrO.返回上一级n);voidChaXUn_menu()查询菜单(system(c1.s);rintf(,=n);Printf(#欢迎运用家庭财务小管家#n);printf(=n);Printf(”1.按名字杳询n);Printf(2按日期查询n”);Printf(3.按money询n);Printfr4.按备注查询n);Printf(-0.返回上一级n);voidxiugai-menusystcm(c1.s);printff,=n);Printf(”#欢迎运用家庭财务小管家#n);printf(,=n);Printfr1.按名字修改
36、n);Printf(“2.按日期修改n);Printfr3.按money修改n);Printfr4.按备注修改n);PrintfrO.返回上级n);voidAddJncomeOcharpanduan;dotemp=(struct1.ist*)ma1.1.oc(sizeof(struct1.ist);Printf(姓名);gets(temp-info.name);ff1.ush(stdin);printf(,H期)gets(tcmp-info.riqi)Jf1.ush(stdin);printf(iB(A);scanf(%f,&temp-info.money);ff1.ush(stdin);Pr
37、intfr备注)gets(temp-info.bcizhu)Jf1.ush(Stdin);printf(,11);temp-next=NU1.1.;if(Inhead=NU1.1.)Inhead=temp;Intai1.=temp;e1.seIntai1.-next=temp;Intai1.=temp;SaVjinCOme();Printf(是否(YN)接着添加信息n);PandUan=getchar()Jf1.ush(stdin);whi1.e(panduan=Ypanduan=y);system(,PAUSE);voidAdC1.ZhiChU()charpanduan;dotemp=(st
38、ruct1.ist*)ma1.1.oc(sizeof(struct1.ist);Printfr姓名);gets(temp-info.name);ffhish(stdin);printf(日期)gets(temp-info.riqi);ff1.ush(stdin);Printf(支出);SCanf(%f,&temp-info.money);ff1.ush(stdin);Printf(备注);gets(temp-info.beizhu);ff1.ush(stdin);rintf(,n);temp-next=NU1.1.;if(zhichuhead=NU1.1.)Zhichuhead=temp;zhichutai1.=temp;e1.sezhichutai1.-next=temp;zhichutai1.=temp;SaVj