c语言课程设计家庭财务管理

上传人:bin****86 文档编号:55881756 上传时间:2018-10-07 格式:DOCX 页数:21 大小:23.73KB
返回 下载 相关 举报
c语言课程设计家庭财务管理_第1页
第1页 / 共21页
c语言课程设计家庭财务管理_第2页
第2页 / 共21页
c语言课程设计家庭财务管理_第3页
第3页 / 共21页
c语言课程设计家庭财务管理_第4页
第4页 / 共21页
c语言课程设计家庭财务管理_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《c语言课程设计家庭财务管理》由会员分享,可在线阅读,更多相关《c语言课程设计家庭财务管理(21页珍藏版)》请在金锄头文库上搜索。

1、c c 语言课程设计家庭财务管理语言课程设计家庭财务管理篇一:c 语言课程设计报告(答辩上交)青岛理工大学 题目 C 语言程序设计 家庭财务管理系统指导教师: 王金龙 姓名: 吴玮 学号:班级: 网络 102专业: 地点: 多媒体楼 207时间:一、内容家庭财务管理系统主要是对家庭成员的收入,支出,进行添加,删除,查询等操作,并能统计总收入和总支出。该软件给家庭成员提供了一个管理家庭财务的平台。1)菜单设计:本系统提供简单易操作的界面。有提示,帮助用户根据需要对家庭财务管理系统进行操作。2)添加模块:根据实际的收入或支出,添加相应的记录,条数不限。 3)查询模块:可以选择不同关键字输入,查找该

2、条记录。 4)删除模块:若某条记录错误或者不需要则可以删除。5)显示模块:按照添加的先后顺序依次把记录显示在屏幕上,并显示总收入和总支出以及余额。6)退出模块:退出财务管理系统并保存文件。 )二、上机环境操作系统:windows XP 开发工具:VC6.0+三、函数调用关系图四、各函数功能说明1系统主要函数及功能。 1.)add 函数:功能为添加收入或支出的记录 2.)search 函数:功能为查找联系人输入关键字,从文件中搜索相应的记录并显示出来。 3.)delete_rec 函数:功能为删除记录若某条记录错误或者不需要则可以删除。 4.)show 函数:功能为显示记录,将添加的记录显示在屏

3、幕上。 5.)quit 函数:功能为保存信息退出系统。五、算法描述添加:在主菜单选择添加选项后,系统会依次让用户输入年月日,并且限定月份输入时要在 1 至 12 内,如果符合要求则继续执行,输完整条记录。动态链表会根据用户的使用情况动态调整内存大小。插入一个结点到已有链表后,head 指向插入的结点,该结点指向 head 原来所指的结点。每添加一条记录后接点随即加一。查询:在主菜单选择查询选项后,选择查询方式,1.按姓名查 2.按备注查。然后按提示输入相应的信息姓名(或备注) ,系统会根据信息用一个指针从这个链表的第一个结点依次往后开始查询,若某个结点符合则输出该记录的信息,若指向 NULL

4、即最后一个结点也查询完毕依然没找到,则返回主菜单。删除:输入需要删除的姓名和金额,系统会根据信息用一个 q 指针从这个链表的第一个结点依次往后开始查询,并将已查询过的结点赋给另一个 p 指针。若某个结点符合则显示该记录的信息,并让用户再次确认是否删除。若指向 NULL 即最后一个结点也查询完毕依然没找到,则则返回主菜单。如果确定删除该结点,则 q 所指的结点的前一个结点(即 p 所指的结点)指向该接点所指向的下一个结点,也就是将 q 所指的结点从原来的链表中分离出来。每删除一条记录后接点随即减一。六、程序运行效果图1.添加联系人添加记录时限定月份在 112 月之间,否则无法添加,每添加一条记录

5、后就返回主菜单,链表中插入了该结点。2 查询联系人 查询记录时,可以选择备注或者姓名进行查找。若选择按姓名查找,则在输入名字后,系统会根据添加的先后顺序,在屏幕上依次显示出该联系人的全部记录。3 删除联系人 选择删除选项后,界面会让使用者输入要删除者的姓名及金额,并根据输入的信息显示该条记录,并且为了防止意外删除而有提示是否删除,经使用者再三确认后便删除该记录。4 显示联系人 在菜单中选择显示选项后,系统会把所有的记录按照先后顺序依次逐条显示在界面上,并且还计算出了一共的收入,一共的支出及当前余额。5 退出在菜单中选中该选项后,系统会把所有的资料都保存到文件中,然后关闭该系统。七、总结本次对家

6、庭财务管理系统的编写,我遇到了许多困难。主要原因不怎么擅长使用“指针” 。在添加模块中,由于没有很好的理解指针中插入的专用句子,所以脱离书本的时候根本不知怎么开始,自己想了很久也没想出来,后面翻了书,把相关的句子抄上去后死记硬背了下来。p-next=head;head=p;在添加节点数是,未强调 Recordcount数据类型。在写删除模块是也遇到了类似的问题。看了书上的一个例题,里面有两个指针,可是我的代码中只有一个,怎么办呢?模仿了书上的写法,第一次以失败告终,经过很多种修改后总结出失败的原因是该指针定义错误,针对该错误,经过很多的尝试终成功了。在显示函数中,自我感觉没有错误了,可是每次在

7、“一共收入,一共支出,当前余额”后面都显示了一长串数字,在快放弃时终于发现自己犯了一个很可笑的错,printf 语言中居然用了取地址符。在保存函数中也犯了一些常见的错,在写入文件中居然用了fscanf 语句。八、参考文献谭浩强C 程序设计(第四版) 清华大学出版社。九、程序清单(双列排版,小五号字)#include #include #include struct F_Data int year; /年 int month;/月 int data; /日期float amout; /金额char name20;/姓名int type;/收入或支出类型 char comment100; /备注

8、struct F_Data*next; /定义一个指针;void main() int i,w=1; void add(); void search(); void delete_rec(); void show();doprintf(“*n“);printf(“欢迎使用家庭财务管理系统n); printf(“1:添加记录n“); printf(“2:查询记录n“); printf(“3:删除记录n“); printf(“4:显示所有记录n“); printf(“0:退出n“); scanf(“%d“,switch(i)case 1:add();break;case 2:search();br

9、eak;case 3:delete_rec();break;case 4:show();break;while(w=1);void add() system(“cls“);/*清屏*/int Recordcount; struct F_Data*head;struct F_Data *p=NULL; /*定义 pNode 为 struct F_Data 类型指针*/p=(struct F_Data*)malloc(sizeof(struct F_Data); /*运行时动态调整所占内存 的大小*/ printf(“请输入年份:“); scanf(“%d“, printf(“请输入月份:“);s

10、canf(“%d“, if(p-month0) scanf(“%d“, printf(“请输入金额:“); scanf(“%f“, printf(“请输入姓名:“);scanf(“%s“,p-name);printf(“收入按 1,支出按 0:“); scanf(“%d“, printf(“请输入类型:“);scanf(“%s“,p-comment);p-next=head; /*插入一个结点 */ 篇二:家庭财务管理课程设计报告信息工程学院 课程设计报告项目名称: 项目组长:项目成员:班级名称:专业名称:完成时间: 家庭财务管理系统的分析和设计 叶 杨 刘 11 信管 3(本) 信管管理和信

11、息系统 XX 年 5 月 21 日信息工程学院制一、 案例描述(小四号字体,段前断后 0.5 行)1.、总体描述家庭财务管理系统是一个典型的管理信息系统,主要运用添加、删除、修改、查询、显示等操作,给用户提供了一个在计算机上实现家庭的各项财务收支管理的平台,能够为每一个家庭的管理者提供充足的信息和快捷的查询手段,极大地提高家庭财务管理的效率,方便家庭管理者的合理理财。2、模块描述1)菜单设计主界面由封面图案、收入管理、支出管理、统计四大部分组成。其中,收入管理和支出管理两部分中各包含添加、查询、删除、修改、显示五大功能,而统计部分则包含统计总收入(总支出)的功能。封面主要利用 ptintf 函

12、数,摆出各式各样的图形,又用上了 system()更改了页面的背景颜色、字体颜色、家庭财务管理系统的标题,以求达到美化封面的作用,而其余六大功能则是完善该家庭财务管理系统。2)load 模块通过创建链表完成初始化。链表创建完成后,把读取的资料先放在 linshi 中。该模块的创建为实现接下来的一系列功能打下坚实基础。3)cover 模块作为程序的封面,对主界面的颜色、尺寸、图案进行设置,起到美化作用。同时,把程序里的每一项主要功能的名称显示到主界面上,使界面更加亲近、友好,方便用户进入并进行使用,在不知不觉中提升了程序的档次。4)add 模块:用于添加用户的信息。创建用户信息,依次输入家庭成员

13、的姓名、收入(支出)的具体日期(可根据系统已有时间添加) 、收入(支出)金额、收入(支出)备注等详细信息,完善用户的资料,并将其保存在文件记录中。添加完一人信息后,界面提示用户“是否继续添加?(Y or N) ”。若选择继续添加,则重复上述步骤,添加用户信息,并将其详细信息一并保存到文件记录中,文件记录加 1。其中,用 type 判断是收入还是支出。5)search 模块用于查询已添加的用户的信息。以日期、姓名、金额等其中任意一项为关键词进行搜索并显示用户的详细信息。若输入的关键词不存在,则提示用户“选择错误,请重新输入” 。若输入关键词正确,则显示该联系人的所有相关信息。6)delete 模

14、块用于删除用户不需要或输入错误的用户的相关信息。首先,以姓名为关键词进行搜索并显示该联系人的所有已输入的信息。然后,提示用户需要删除该联系人的第几条信息,删除该条完毕后,提示用户“是否继续删除?(Y or N) ” 。若当前家庭成员所有信息均已删除,则再继续删除时,提示“家庭财务管理内无任何信息!” 。7)show 模块用于显示已输入的相关信息。该模块建立后,用户通过点击该模块的名称,系统先提示用户选择以同月、同日、姓名、全部信息等其中一项关键词为显示依据,选择所需要显示的同一类型的详细信息,以便使所有信息一目了然,有利于用户核对之前所输入的信息,方便用户使用。8)save 模块用于保存之前用

15、户输入的所有用户的有用信息。该模块建立后,用户之前所输入的所有用户的详细信息皆可保存到指定文件中,方便用户在下一次使用时仍能轻松、便捷地找到其所需的有用信息。9)修改模块用于重新输入用户需要却输入错误的用户的相关信息。先以姓名为关键词查找到需要修改的用户的所有相关信息。然后删除该条输入错误的信息,并重新输入正确有效的信息,最后保存。二、 界面设计菜单:序号 15:进行收入管理序号 610:进行支出管理序号 1112:进行统计本软件界面友好,不难操作,根据页面提示进行操作即可。三、 模块化设计方案1、系统主要函数及功能(五号黑体)1)load 函数: 创建链表,打开并读取文件,保存相关资料,起到

16、一定的储存功能。2)添加功能: 添加用户的相关收支信息,用户可根据选项选择是用系统时间还是自己添加时间,然后再输入相关用户姓名、金额、备注等基本信息,之后可自行选择是否继续添加,最后系统会自动保存用户信息,返回系统用户界面。3)删除功能:用户输入需要删除的姓名后系统根据用户输入信息删除,之后还可自行选择是否继续删除,待所有删除完毕后,返回系统用户界面。4)修改功能:用户根据系统提示输入需要修改的姓名,然后根据用户输入信息进行删除、重新添加,之后自行选择是否继续,在全部修改成功之后,返回系统用户界面。5)查询功能:用户根据系统提示输入判断资料,系统根据用户输入的信息进行查询,在查询成功之后,之后自行选择是否继续,否,则返回系统用户界面。6)显示功能:系统将根据用户的选择显示家庭财务管理系统中的相关信息。7)统计功能:系统将根据用户需要统计出总收入或总支出。8)退

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作范文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号