家庭财务管理系统C
家庭财务管理系统C
目录一、需求分析 (1)二、程序的主要功能 (2)三、程序运行平台 (3)四、系统总框架图 (4)五、程序类的说明 (5)六、模块分析 (6)七、比较有特色的函数 (7)八、存在的不足与对策 (8)一、需求分析家庭财务收支管理是一个家庭日常生活中不可缺少一部分,也是财务管理的重要组成部分。
它的内容对于财务管理者来说都至关重要,设计一个程序对财务收支进行管理是必不可少的。
二、程序的主要功能1、用户管理:对账单的用户进行登记。
2、消费明细:对用户账单明细进行记录。
3、个人账单查询:对用户的账单进行查询。
4、账单总计:对整个系统所存账单进行总计。
5、显示所有用户账单:把所有账单进行显示。
三、程序运行平台Dev c++四、系统总框架图五、程序类的说明class inter_f //定义一个界面类{public:inter_f(){}; //构造~inter_f(){}; //析构void display(); //声明显示用户信息界面函数/////////////////// void check(user* p); //声明用户登记函数void seek(user* p); //声明用户查询函数void show(user* p); //声明显示用户信息函数void add(user* p); //声明用户新增函数void cancel(user* p); //声明用户注销函数void exit(); //声明用户退出函数void limit(user& ru); //声明用户操作界面函数void display2(); //消费明细界面函数///////////////////////void water_cost(user* p); //水费函数void elec_cost(user* p); //电费函数void comm_cost(user* p); //通信费函数void shop_cost(user* p); //购物费函数void gas_cost(user* p); //煤气费函数void pin_cost(user* p); //零用函数void exit2(); //声明退出消费明细函数void limit2(user& ru); //声明消费明细操作界面函数void display1(); //声明显示总信息界面//////////////////////void personal_bill(user* p); //声明个人账单函数void amount_bill(user* p); //账单总计函数void show1(user* p); //声明显示所有用户账务函数void exit1(); //声明财务退出函数void limit1(user& ru); ////总界面函数};六、模块分析1、用户管理:对账单的用户进行登记。
家庭财务管理信息系统
个人道德素养
11/11/2024
做好個人道德素養;不要因為貪小便宜, 貪一時方便而不顧道德品行丟失把人格尊 嚴都降低了。
11/11/2024
因為一個人把道德品質丟失了,再想建立 起來將是萬分的困難。
11/11/2024
所以每個人都應該尊首道德底線,不應敗壞 基本道德品質。
11/11/2024
系统详细设计
1. 用户管理设计
用户分三类,为超级管理员 、普通管理员和普通用 户。
只有管理员才可进入用户管理窗口进行添加、删除用 户、把普通用户升级为普通管理员 、把普通管理员降为 普通用户和恢复密码等操作,普通用户没有此权限 。
删除普通管理员必须先降级为普通用户才可删除 。 用户忘记了密码,可以选中该用户数据行通过点击恢 复密码按钮将其恢复为初试密码 。
不做”損人利己”之事。 Ps.回想郭爾堡的道德認知理論、馬斯洛的需求層次理論。
11/11/2024
•---THE END---
11/11/2024
11/11/2024
以下是公司裡面出現的不好的現象: 1、厕所紙巾偷到宿舍去用 2、車間應急藥箱裡面的藥偷走 (偷盜行為可恥)
11/11/2024
以下是公司裡面出現的不好的現象: 1、公共场所随意扔垃圾 2、電視房垃圾亂丟
11/11/2024
以下是公司裡面出現的不好的現象: 恶意损坏公共财物
11/11/2024
债权债务记账 :对一特定债权债务账户的借入借出进行跟踪记 账 ,它记录了每次借入借出活动的日期 、借入金额 、借出金额及 说明信息 。 债权债务活动将作为一项收入支出活动自动转入对应资 金账户的收支记录上 。
保险实物记账 :对每一项保险项目的变动信息及时登记 。 收支分类 :收支分类主要为各种收支活动按一种统一的标准进行 分类 ,便于对各类收支进行分类统计 。用户可以用收支分类表自行 添加新的收支类型、删除不需要的或模糊的类目 ,并可查询和浏览 系统中所有类目信息 。收支类型为各种记账活动提供选择 。
C语言课程设计——家庭财务管理系统
课程设计报告课程设计题目:家庭财务管理系统学生姓名:专业: 信息工程班级:指导教师:2018年1月8日1.需求分析根据家庭账务管理的需要,建立一个“家庭账务管理系统”,以方便对家庭日常收入及支出进行记录和管理。
该系统要求:①家庭月收入管理②家庭月支出管理③统计家庭总收入/总支出④系统提供收入/支出的添加、删除和修改功能。
2. 总体设计根据以上分析,本家庭账务管理系统主要包括:①从键盘键入家庭月收入、月支出数据;②查询月收入、月支出明细;③删除收入、支出数据;④修改收入、支出数据;⑤统计总收入/总支出;⑥退出系统。
除main()函数之外,系统还定义了以下函数来实现各部分内容:①add_income():添加收入数据函数。
②add_payout():添加支出数据函数。
③search_data():查找数据函数。
④initialize():初始化函数,读取文本数据。
⑤show_info():显示数据函数。
⑥count_total():统计函数,统计总收入、总支出。
⑦update_data():修改信息函数。
⑧delete_data():删除数据函数。
⑨quit():退出函数。
程序结构功能图如下:3.详细设计3.1收入管理3.2支出管理4.测试结果4.1 程序运行主菜单4.2 添加收入测试4.3 查询收入明细测试4.4 删除收入测试4.5 修改收入测试4.6 添加支出测试4.7 查询支出明细测试4.8 删除支出测试4.9 修改支出测试4.10 统计总收入/支出测试4.11 退出系统测试5.软件操作使用说明书本系统采用命令行对话方式进行操作,运行后出现主界面(如下图所示),然后按照主界面菜单指引操作即可。
6.总结编写程序之前要有一个整体的思路,不能写到哪里算哪里。
这样很容易遗漏,连续性也不好。
通过本次的课程设计让我对于数组、文件的存放、循环结构等知识有了更加透彻的理解。
希望在以后的课程设计中对于知识的运用能够更加的熟练。
案例四 家庭财务管理系统
案例四家庭财务管理系统4.1需求分析家庭财务系统主要对家庭的各项财务收支管理进行在计算机上的信息存储和处理,从而简化用户的工作量。
在需求分析过程中,概括描述了本软件能够为用户提供哪些服务、系统功能的整体框架,以及相应的业务流程。
4.1.1 系统概述家庭财务管理系统给家庭成员提供了一个管理平台,家庭成员可以对其成员编号、姓名以及收入、支出构成进行增加、删除、修改等管理操作。
同时,该系统还提供了家庭成员管理功能,根据家庭成员的分类,其拥有的权限也不同,系统可以判断登录家庭成员的用户名和密码,从而判断其是否可以使用该系统。
系统亦可登录家庭成员的权限信息,从而判断该家庭成员能够使用该系统的哪些特定功能,不同级别的家庭成员之间不能够越权使用系统功能。
家庭成员分家长和普通成员两类。
4.1.2 系统运行环境一、硬件环境●处理器:Intel Pentium 166 MX或更高●内存:32MB●硬盘空间:1GB●显卡:SVGA显示适配器二、软件环境●操作系统:Windows 98/ME/2000/XP4.1.3 功能需求描述家庭财务管理系统软件是为用户对家庭成员的收支构成及信息进行辅助管理的应用软件,功能需求描述如下。
1.用户登录:系统获取的家庭成员用户名和密码判断该家庭成员能否成功登录系统,并且当用户登录后根据权限判断该家庭成员是家长还是普通成员,可以使用哪些对应功能。
普通用户只能管理财务信息,而家长还可以管理用户信息。
2.给家庭成员提供功能选择界面:不同级别的家庭成员对应不同的功能选择界面。
功能选择界面包括输入功能选项、调用相应程序两大需求。
3.创建收支信息文件:用户根据提示输入家庭成员序号、姓名、各项财务信息,如收入、支出、合计。
可一次性输入多条家庭成员的收支信息。
并将家庭成员收支信息存储在系统磁盘文件中,以便进行管理、查找和备份。
4.增加家庭成员收支信息:可在原有收支信息文件的基础上增加新的家庭成员财务信息,并保存至磁盘,5.删除家庭成员收支信息:提示用户输入要删除的家庭成员序号,如果在文件中有该家庭成员的收支信息,则将该序号对应的信息在文件中删除。
C语言家庭财务管理系统设计报告
东华理工大学C语言课程设计实验报告题目:家庭账务管理姓名:曾祥华班级:1321815学号:201320181518指导老师:程志梅一案例描述1.总体描述家庭财务管理系统主要是对家庭成员的收入,支出,进行添加,删除,查询等操作,并能统计总收入和总支出。
该软件给家庭成员提供了一个管理家庭财务的平台。
2.模块描述1)菜单设计:本系统提供简单易操作的界面。
有提示,帮助用户根据需要对家庭财务管理系统进行操作。
2)添加模块:根据实际的收入或支出,添加相应的记录,条数不限。
3)查询模块:可以选择不同关键字输入,查找该条记录。
4)删除模块:若某条记录错误或者不需要则可以删除。
5)显示模块:按照添加的先后顺序依次把记录显示在屏幕上,并显示总收入和总支出以及余额。
6)退出模块:退出财务管理系统并保存文件。
二界面设计界面有相应的选择,根据自己的需要对该管理系统进行添加,查找,删除,显示功能操作。
本软件界面友好,不难操作,用户可根据自己的需要按提示进行。
三模块化设计方案1.系统主要函数及功能1)DataInit函数:功能为数据初始化将数据从硬盘传到内存。
2)add函数:功能为添加收入或支出的记录3)search函数:功能为查找联系人输入关键字,从文件中搜索相应的记录并显示出来。
4)delete_rec函数:功能为删除记录若某条记录错误或者不需要则可以删除。
5)show函数:功能为显示记录将添加的记录显示在屏幕上。
6)quit函数:功能为保存信息退出系统2.主函数调用各功能函数流程四.数据结构描述struct F_Data{int year; //年int month; //月int data; //日期float amout; //金额char name[20]; //姓名int type; //收入或支出类型开始打开文件,载入信息用户菜单界面1 添加记录2查询记录3删除记录4显示记录退出保存结束char comment[100]; //备注struct F_Data*next; //定义一个指针};该数据结构为链表,是一种动态进行存储分配的结构。
家庭财务管理系统源代码
#include<stdio.h>#include<stdlib.h>#include<conio.h>#include<string.h>#define LEN sizeof(struct financial)#define FFORMAT "%-8d%-15s%-10d%-10d%-12.2f%-12.2f%-12.2f\n"#define DATA member[i].num,member[i].name,member[i].month,member[i].year,member[i].income,me mber[i].output,member[i].totalstruct financial //定义家庭成员信息{int num; //编号char name[15]; //家庭成员姓名int month; //月份int year; //年份float income; //收入float output; //支出float total; //总金额};struct financial member[50]; //定义结构体数组void menu(); //主界面void in(); //录入家庭成员收支信息void show(); //显示家庭成员收支信息void del(); //删除家庭成员收支信息void modify(); //修改家庭成员收支信息void total(); //计算家庭成员总收入void search(); //查找家庭成员收支信息int main(){int n;menu();scanf("%d",&n); //输入数字选择功能while(n){switch(n){case 1:in(); //调用录入家庭成员信息函数break;case 2:search(); //查找家庭成员信息函数break;case 3:del(); //调用删除家庭成员信息函数break;case 4:modify(); //调用修改家庭成员信息函数break;case 5:total(); //调用汇总函数break;default:break;}printf("按任意键返回主菜单:\n");getch();menu(); //执行完功能再次显示菜单界面 scanf("%d",&n);}return 0;}void menu(){system("cls");printf("|-------------------------------------------------|\n"); printf("|--------------------家庭财务信息系统-------------|\n"); printf("| 0. 退出 |\n"); printf("| 1. 录入信息 |\n"); printf("| 2. 查找信息 |\n"); printf("| 3. 删除信息 |\n"); printf("| 4. 修改信息 |\n"); printf("| 5. 统计信息 |\n"); printf("|-------------------------------------------------|\n"); printf("选择(0-5):");}void in() //录入家庭成员信息{int i,m=0;char ch[2];FILE *fp;if((fp=fopen("家庭财务管理系统","ab+"))==NULL){printf("不能打开文件!\n");return;}while(!feof(fp)){if(fread(&member[m] ,LEN,1,fp)==1)m++; //统计当前记录条数fclose(fp);if(m==0)printf("没有找到!\n");else{//system("cls");show(); //调用show函数,显示原有信息}if((fp=fopen("家庭财务管理系统","wb"))==NULL){printf("不能打开文件!\n");return;}for(i=0;i<m;i++)fwrite(&member[i] ,LEN,1,fp); //向指定的磁盘文件写入信息printf("是否输入?(y/n):");scanf("%s",ch);while(strcmp(ch,"Y")==0||strcmp(ch,"y")==0) //判断是否要录入新信息{printf("编号:");scanf("%d",&member[m].num); //输入家庭成员编号for(i=0;i<m;i++)if(member[i].num == member[m].num){printf("该记录已经存在,按任意键继续!");getch();fclose(fp);return;}printf("家庭成员姓名:");scanf("%s",member[m].name); //输入家庭成员姓名printf("请输入月份:");scanf("%d",&member[m].month); //输入月份printf("请输入年份:");scanf("%d",&member[m].year); //输入年份printf("请输入收入:");scanf("%f",&member[m].income); //输入收入printf("请输入支出:");scanf("%f",&member[m].output); //输入支出member[m].total=member[m].income - member[m].output;if(fwrite(&member[m],LEN,1,fp)!=1) //将新录入的信息写入指定的磁盘文件{printf("不能保存!");getch();}else{printf("%s 已经保存!\n",member[m].name);m++;}printf("是否继续?(y/n):"); scanf("%s",ch);}fclose(fp);printf("OK!\n");}void show(){FILE *fp;int i,m=0;fp=fopen("家庭财务管理系统","ab+");while(!feof(fp)){if(fread(&member[m] ,LEN,1,fp)==1)m++;}fclose(fp);printf("编号成员月份年分收入支出总金额 \t\n");for(i=0;i<m;i++){printf(FFORMAT,DATA);}}void del(){FILE *fp;int snum,i,j,m=0;char ch[2];if((fp=fopen("家庭财务管理系统","ab+"))==NULL){printf("不能打开文件\n");return;}while(!feof(fp))if(fread(&member[m],LEN,1,fp)==1)m++;fclose(fp);if(m==0){printf("没有记录!\n");return;}printf("请输入编号:");scanf("%d",&snum);for(i=0;i<m;i++)if(snum==member[i].num)break;if(i==m){printf("没有找到!");return;}printf("已经找到该记录,是否删除?(y/n)");scanf("%s",ch);if(strcmp(ch,"Y")==0||strcmp(ch,"y")==0) //判断是否要进行删除{for(j=i;j<m;j++)member[j] = member[j+1]; //将后一个记录移到前一个记录的位置m--; //记录的总个数减1printf("成功删除!\n");}if((fp=fopen("家庭财务管理系统","wb"))==NULL){printf("不能打开!\n");return;}for(j=0;j<m;j++) //将更改后的记录重新写入指定的磁盘文件中if(fwrite(&member[j] ,LEN,1,fp)!=1){printf("不能保存!\n");getch();}fclose(fp);}void search(){FILE *fp;int snum,i,m=0;char ch[2];if((fp=fopen("家庭财务管理系统","ab+"))==NULL){printf("不能打开文件\n");return;}while(!feof(fp))if(fread(&member[m],LEN,1,fp)==1)m++;fclose(fp);if(m==0){printf("没有记录!\n");return;}printf("请输入编号:");scanf("%d",&snum);for(i=0;i<m;i++)if(snum == member[i].num){printf("已经找到该记录,是否显示?(y/n)");scanf("%s",ch);if(strcmp(ch,"Y")==0||strcmp(ch,"y")==0){printf("编号成员月份年份收入支出总金额\t\n");printf(FFORMAT,DATA);break;}elsereturn;}if(i==m)printf("没有找到相应的记录!\n");}void modify(){FILE *fp;int i,j,m=0,snum;char ch[2];if((fp=fopen("家庭财务管理系统","ab+"))==NULL){printf("不能打开文件!\n");return;}while(!feof(fp))if(fread(&member[m],LEN,1,fp)==1)m++;if(m==0){printf("没有记录!\n");fclose(fp);return;}printf("请输入要修改的记录信息的编号!\n");scanf("%d",&snum);for(i=0;i<m;i++)if(snum==member[i].num) //检索记录中是否有要修改的信息{printf("已经找到该记录,是否修改?(y/n)\n");scanf("%s",ch);if(strcmp(ch,"Y")==0||strcmp(ch,"y")==0){printf("家庭成员姓名:");scanf("%s",member[i].name); //输入家庭成员姓名printf("请输入月份:");scanf("%d",&member[i].month); //输入月份printf("请输入年份:");scanf("%d",&member[i].year); //输入年份printf("请输入收入:");scanf("%f",&member[i].income); //输入收入 printf("请输入支出:");scanf("%f",&member[i].output); //输入支出member[i].total=member[i].income - member[i].output; //汇总printf("保存成功!");}elsereturn;}else{printf("没有找到!");return;}if((fp=fopen("家庭财务管理系统","wb"))==NULL){printf("不能打开文件!\n");return;}for(j=0;j<m;j++) //将新修改的信息写入指定的磁盘文件中if(fwrite(&member[j] ,LEN,1,fp)!=1){printf("不能保存!");}fclose(fp);}void total() // 统计{FILE *fp;int m=0;if((fp=fopen("家庭财务管理系统","ab+"))==NULL){printf("不能打开记录!\n");return;}while(!feof(fp))if(fread(&member[m],LEN,1,fp)==1)m++; //统计记录个数if(m==0){printf("没有记录!\n");fclose(fp);return;}printf("一共有 %d 条记录!\n",m); //将统计的个数输出 fclose(fp);}. .。
C语言家庭财务管理系统
{
n=scanf("%s %s %f",J[i].rq,J[i].zy,&J[i].xf);
if(J[i]Biblioteka xf==0)break;/*收入和支出为0则退出*/
if(n==3)i++;
}
while(n==3);
N=i; /*修改家庭财务信息记录数*/
}
void SaveJ(char file[])/*保存家庭财务信息关系*/
{
int n,i=0;
FILE *fp=fopen("JTCWGLXT.txt","r");
char s[80];fgets(s,80,fp);
do
{
n=fscanf(fp,"%s %s %f %f",J[i].rq,J[i].zy,&J[i].xf,&J[i].ye);
if(n==4)i++;/*若读到4个数据则i加1*/
}
while(n==4);
fclose(fp);
return i;
}
void DispJ()/*显示家庭财务信息*/
{
int i;
printf("%s %8s %8.2f%8.2f\n",J[0].rq,J[0].zy,J[0].xf,J[0].ye);
for(i=1;i<N;i++)
printf("%s %8s %8.2f%8.2f\n",J[i].rq,J[i].zy,J[i].xf,J[i-1].ye+J[i].xf);
fprintf( fp,"%s %8s %8.2f%8.2f\n",J[i].rq,J[i].zy,J[i].xf,J[i-1].ye+J[i].xf);
家庭财务管理系统毕业论文终稿
家庭财务管理系统毕业论文终稿本文作者将探讨家庭财务管理系统的开发与应用,旨在提高家庭理财水平,避免过度消费和债务,在经济上取得长期可持续的稳定收益。
本文首先介绍了家庭财务管理系统的背景和现状,其次探讨了家庭理财的重要性以及影响因素,接着分析了家庭财务管理系统开发的需求和设计思路,最后阐述了系统优点和实现方法。
一、家庭财务管理系统的背景与现状随着经济发展和社会变化,人们的消费观念也发生了转变。
许多人更加注重及时、便捷地掌握自己的收支状况,实现家庭财务管理的精细化和科学化。
然而,目前市场上的家庭财务管理软件种类繁多,而且往往不够智能化和个性化,难以满足用户的实际需求。
此外,由于家庭理财知识和技能的匮乏,许多人往往存在消费决策不合理、开支过度等问题,导致财务困境、债务累积等后果。
因此,通过建立易用、实用的家庭财务管理系统,帮助用户更好地管理自己的财务,具有极为重要的现实意义和市场前景。
二、家庭理财的重要性及影响因素家庭理财对于个人和家庭经济具有重要的影响,能够帮助人们理财风险,提高生活品质。
正确的家庭理财有助于保障经济安全和稳定性,避免因意外事故、突发疾病等造成的经济压力和后果。
此外,良好的家庭财务管理还可以促进家庭关系、增进幸福感和生活质量,从而实现家庭幸福指数的提升。
家庭理财不仅受到个人收入、家庭结构和风险偏好等因素的影响,还受到宏观经济情况、产业发展、社会政策等多方面的影响。
在此基础上,进行理性思考和决策,选择合适的投资方式和消费方式,是进行家庭理财的基本要求。
三、家庭财务管理系统的开发需求和设计思路1.开发需求(1)安全性家庭财务管理系统必须确保用户的隐私安全,如账号密码、财务记录等涉及到用户的敏感信息必须进行保密和加密处理,防止数据泄漏和安全漏洞。
(2)用户友好性家庭财务管理系统必须简单易用、符合用户习惯,避免繁琐的输入步骤、页面跳转等问题,使用户能够轻松快捷地处理财务事项。
(3)智能化家庭财务管理系统需要具有一定的智能化和数据分析能力,能够根据用户的消费习惯、收支情况等,给予适当的财务建议和咨询,以便更好地指导用户进行理财决策。
C语言课程设计——家庭财务管理系统
课程设计报告课程设计题目:家庭财务管理系统学生姓名:专业: 信息工程班级:指导教师:2018年1月8 日1.需求分析根据家庭账务管理的需要,建立一个“家庭账务管理系统” 收入,以方便对家庭日常及支出进行记录和管理。
该系统要求:①家庭月收入管理②家庭月支出管理③统计家庭总收入/ 总支出④系统提供收入/ 支出的添加、删除和修改功能。
2.总体设计根据以上分析,本家庭账务管理系统主要包括:①从键盘键入家庭月收入、月支出数据;②查询月收入、月支出明细;③删除收入、支出数据;④修改收入、支出数据;⑤统计总收入/总支出;⑥退出系统。
除main()函数之外,系统还定义了以下函数来实现各部分内容:①add_income():添加收入数据函数。
②add_payout():添加支出数据函数。
③search_data():查找数据函数。
④initialize():初始化函数,读取文本数据。
⑤show_info ():显示数据函数。
⑥count_total ():统计函数,统计总收入、总支出。
⑦update_data():修改信息函数。
⑧delete_data():删除数据函数。
⑨quit()退出函数。
程序结构功能图如下:家庭财务管理系统3.详细设计3.1收入管理3.2支出管理4 .测试结果4.1程序运行主菜单室庭财务管理系统4.2添加收入测试明細8统 退>1 麗卿加」人冢雇成貝姓宕〔最大长芨为i0>=iyy耀絨黠離大长度技邮:jdicw E i M i ta iE KW i o t KJ t ao ta cM a o t NW 3<図梵:11:梵]|[梵:《梵]<屛冠屛耳耳9<耳3<耳1<>63<梵1<耳计詔•统计总收人/忌支出S HMXJCKKBOCKJtJt WK W)C :H.J<:JI.)C :IIJ<Jt)CJ<J<J<)CJ<X 8<:MJ<:M ・:MK]il KJl i t ;K M 梵 S C ;K S C >EX W M : X X X I CH X W >CW ;3t 3<:H :弭:H 3<Jt i M :<>Ej C]itS<]<KXN>f K>e K* 支出管理汚冢庭财务管理系统回FC 逼Vk i nd OWE 11 sy=rtem z 2\Debug\Fyyl. G <e4.3查询收入明细测试统计汁•统计总收人二总支出 退 岀词•退岀系统'请选择要进行的換作<0-9>:2 沁青输入要查询的穿月好匹肮”7请按任意键畛心其也数据? <y 叶n>4.4删除收入测试4 hAi>A N*L * WM B . i^ulA WUAWUK J *冢庭财务管理系统rrwwwrMrHrrwYvruruwruwnmmrirurhmmmww耳XJO E X i MICMXX 址风址耳XM I>EKK KN掛耳 XX 3<Wr>E :MiMKl iE XXXX 斃入明细M=建建茉豪事,i Wi atfHW*・ME ・=MX K WlFafr M i 幕荒豪務整豪豪亲=M i MH Sfr M i *H<・ W ,c.轉弼算闿曲若耳豪科,^■■轉if ■苗]<満■科■■■>< ■齋if 轉苗曲満耳酬耳■贰科贰轉曹 统 计汁•统计忌收入儿鼠支出 退 岀汨•退岀系统 》请选择雯迸行的操作個“竹>请初1/厘查询的年月<¥¥¥¥zH>201-4/l I I 4》删除成功P I ^RSS an^ key to cnnt-imie溝漱明细收入管理豊翻细明 支支 沓-修■■68出出 支支 加除i■-«5 年月1 !20t3/09咲型 ;收入1008.00::备汪工资支出吨勰雜.iMO-月:类型:备汪1 !2014/01168.23 :lyy岀羽细4.5修改收入测试JCJ H JCJOtKJt ■* XU JOCWJtKJW M ><:«■: ■! JCJ! MUM BL JCJt MH JCKJCJtK 菱理 KJIM收A 管理m添加收入趴查育3-删除收入弭XJ ta<>E M X a O t MJC H K i M羸算 KW 址耳 KJ t 址豪 KJC M SX i MIC i M K3t 址耳贰疋 XJ f a t X支出管理出7统计叽统计总收人血支岀退出汕*退出系纟充>iMA^<VVVV/M>2013z2〉诗输入擁成员姓名〔最大长度为诃》 ”書输人眷注t 最大长度为饷庆工资.4.6添加支出测试NO.1 !2013/fRU ?UC (_■作月操年:咲型;金额叫夂入30001400.00:「查询支出明细 8 •修改支出4.7查询支出明细测试■ Ud'WmmflUrMgumW -FMiWihiriiMIUriVia^WUirMiWMiiW家庭财务管理系统X >E X i M~:MiKK>ti O f HX a<]<>E :W >E X>E冥耳 N X其 M M i K 弭 K 瓮 XXXX N M N NX H M ; ]«S M收入管鵲:勰怒m林明细X KU >[]<■: K JOCK WJCJfXlHf i l H l fJOt JotKU it MnOiJCKX支岀管瑋汚•探加支出 "查询支出明细巴删除支出孔修改支出 统计伙统计总收人/負支岀 K KM 普材■K4 m W M i K唇・科恒■退 出:0-退出系统I■;青按任意键継续.-亠4.8删除支出测试I 屜月 I IS 作個-9,海^<¥V¥V/M>20i3/1:类型 I 支岀■姓亡3*;金埶1备注200.00 1购物ME界貝其貝耳疑耳冥艮K 耳KME 界]< 界箕梵JOC 3KH M :耳NW 算見其買梵就艮植耳拉算址舅覽如其支出管理參報鑒:義鏗细:K“a< :WFj a Ntf K Itf NJ* ;K“M ; *M* :K h E 倚甘 1* 材 UIfrJtf N Jtfim ;:M H H X l il: K W ;M H U“a< :M ;:M :fcff甘ik计=9 •统计包收入/总支出 退出詬•退出系统KKM^M«tK>CHHX^KKMM^K>£KMtKMK4CX^KM^KM^K»tK4tK»tX^MdKX^KHK>tK>请选择要进行的操隹 <0-9>=7■1A 请输入要査询的年月 H■¥1<Y¥YYZM>2013Z11 ■1 11 1 :NO. 1;年声月"咲型 1;姓名;金额!#i£; 1111iZUlJZOl:支岀 iiyyJ1 1 购物1 1 i1 1i》删除成功11[Press any key to continue4.9修改支出测试«:«■泉庭财务管理系统收入管理沁3務賑旳细4.10统计总收入/支出测试家庭财务管理系绒iSWWMYWM¥WWWWAANiHWWVSAHM¥W%hnAiSWfW芽I* it 員ji ・iKifcK ・・!J R PtK ・貝 ・■*■*“* 応*收 '管理d 添加收入上一査询収入明细*删除收入4-*SK 入请尹 统计=9 ■统计总收入严总支出 X X J t XXXXXK aC X K K XMtK !M XS f K S C H'XXXXX I M ! X m e K X**K St X!KK XK'XW阻出汕”通出系统 K 梵廉拉艮梵耳疋艮3CM8. ■ :JC i M ■>!梵滩X農梵X X M E 4C 旌舅Jt i MK 耳■:梵英]< 梵耳X葺朋觀呈婪进行的操作汚 ;合计支岀 :结余 :500,901 423^.631 :按任焉缶月家庭财务管理系统ru 41WEH U f HEiM *M"U d *M**UI *M * EJ ■ *19! I、MX W5 &FU *、『WT梵ME it WE 梵K XW iM KE M iMr 梵琏梵覺梵K 梵 W 港味疋址梵曲梵琏梵:M 3< H收入管理1席加収入霊查询收入明细4圖除收入4W t f If U ・=Mtl i f If ■・・・・・・・・i f If ・・・i f ・ 筑查询支岀明细 緘修改支出 h l 屛轉I H ■冒!w K ■!< w K ■弭昇轉・屛衬!M 筑岸捕曲KF 弭屛W!岸屛耐忖岸K 屛利K ■统 计汐•统计总收入"总支岀 退支岀管理惰 出通■退岀系统攵入 <0-9>:8<V¥¥YzM>2013/9■M-12013/09年月咲型I 备注lyy300.00:》请输人年月<V¥ y?/M>2013内>请嫡△寡庭喩员妃名〔最工长厦为讪:丄妁 、输人金额:左腼冰蕃注塢俵服i2013/09;裘型 :支出I 金额 200.00:衣朋衣服[合计L 反入4734-63I一湛返回主苹吉出背理汗4.11退出系统测试5 .软件操作使用说明书本系统采用命令行对话方式进行操作,运行后出现主界面(如下图所示) 然后按照主界面菜单指引操作即可6.总结编写程序之前要有一个整体的思路,不能写到哪里算哪里。
家庭财务管理系统
收入管理
收入管理
新增功能:单击“添加”按钮,可以添加新的收入记录
家庭成员管理
家庭成员管理:用来查看家庭成员的相关信息,可新增记录,
具有查看、编辑、删除单条记录的功能(与账簿管理的对应功
能相似,将不做介绍)
ቤተ መጻሕፍቲ ባይዱ庭成员管理
家庭成员管理
新增功能:单击“新增”按钮,新增家庭成员信息
支出管理
支出项目管理:用来查看支出项目名称等相关信息,可新增
记录,具有查看、编辑、删除单条记录的功能(与收入管理的
对应功能相似,将不做介绍)
支出管理
支出管理
新增功能:单击“新增”按钮,新增支出项目名称等信息
报表统计
报表统计页面可以查看家庭财务收支的汇总情况
鸣谢
首先,向我的导师老师表示崇高的敬意和由衷的感谢,在
整个论文写作期间老师给了我很大的关心和指导,才使我的论 文顺利完成。 感谢同学对我的支持和鼓励,也感谢各位同学的帮助。 另外,非常感谢在百忙之中抽出时间来评阅本论文的各位 专家教授,感谢他们付出的辛勤劳动!
家庭财务管理系统
页面需求分析
登陆界面
管理员 家庭成员管理 收入管理 支出管理
登陆界面
登陆界面
在登陆界面中输入正确的用户名和密码才能进入程序进行下
一步操作
如果输入的用户名或密码不正确将跳出如下图的消息提示框
收入管理
账簿管理页面可以显示家庭收入情况,具有新增、查找等功
能,并可以查看、编辑、删除单条记录。
Thank You! 谢谢观看!!
家庭财务管理
家庭财务管理1. 简介家庭财务管理是指管理和控制家庭的收入和支出,确保家庭财务的稳定和健康。
通过合理规划和有效管理家庭财务,可以帮助家庭实现财务目标,并增加家庭的财务安全感。
2. 家庭财务管理的重要性2.1 实现财务目标家庭财务管理可以帮助家庭设定和实现财务目标。
通过合理的预算和财务规划,家庭可以更好地控制支出,同时增加储蓄和投资的机会,从而逐步实现财务自由和财务独立。
2.2 避免债务和经济压力有效的家庭财务管理可以帮助家庭避免过度负债和经济压力。
通过合理的支出控制和储蓄规划,家庭可以确保不会超出可承受的经济负担,避免债务累积和支付困难。
2.3 增加家庭的财务安全感家庭财务管理可以增加家庭的财务安全感。
通过建立紧急储蓄基金和投保,家庭可以在突发情况下应对意外支出,并减少不确定性对家庭财务的影响。
3. 家庭财务管理的步骤3.1 设定财务目标在家庭财务管理之前,首先需要设定财务目标。
财务目标可以是长期目标,如购买房屋或退休计划,也可以是短期目标,如旅行或购买家电。
确定财务目标后,可以根据目标制定财务规划。
3.2 记录收入和支出家庭财务管理需要详细记录家庭的收入和支出。
可以使用电子或纸质的账本来记录每笔收入和支出,或者使用财务管理软件来帮助记录和分析财务数据。
记录收入和支出可以帮助家庭更好地了解财务情况,并及时调整支出以适应家庭的财务目标。
3.3 制定预算基于收入和支出的记录,家庭可以制定预算。
预算是指为达到财务目标而计划和分配资源的过程。
制定预算可以帮助家庭合理规划支出,并确保不超出可承受的范围。
预算可以分为不同的类别,如日常生活开销、教育支出、医疗费用等,以更好地管理和控制支出。
3.4 储蓄和投资家庭财务管理包括储蓄和投资的计划。
除了满足日常开销和周转资金的需求外,家庭还应该有储蓄计划,以备应对紧急情况和未来的大额支出。
同时,家庭也可以考虑投资以增加财务收入和财务增值的机会。
3.5 监控和调整家庭财务管理是一个持续的过程。
C语言家庭财务管理系统代码
#include <stdio.h>#include <stdlib.h>#include <string.h>struct Data{char name[20];char riqi[8];float money;char beizhu[50];};struct list{struct 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;fp=fopen("D:\家庭财务管理.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:\家庭财务管理支出.txt","w");struct list *p = zhichuhead;while(p != NULL){fwrite(&p->info, sizeof(struct Data), 1, fp);p = p->next;}fclose(fp);}void Open(){FILE *fp;fp=fopen("D:\家庭财务管理.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->info=linshi;temp->next=NULL;if(Inhead == NULL){Inhead = temp;Intail = temp;}else{Intail->next = temp;Intail = temp;}}fclose(fp);}}void Menu(){ system("cls");printf("\n");printf("\n");printf("\n");printf("\n");printf("******************\n");printf("欢迎使用家庭财务管理系统\n");printf("******************\n");printf(" \n");printf(" 1:收入操作\n");printf(" 2:支出操作\n");printf(" 3:统计操作\n");printf(" 0:退出\n");}void Openzhichu(){FILE *fp;fp=fopen("D:\家庭财务管理支出.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->info=linshi;temp->next=NULL;if(zhichuhead == NULL){zhichuhead = temp;zhichutail = temp;}else{zhichutail->next = temp;zhichutail = temp;}}fclose(fp);}}void mingzi (){char chazhao[20];printf("请输入查询的名字");gets(chazhao);struct list *p = Inhead;while(p != NULL){if(strcmp(p->,chazhao)==0){printf("姓名:");puts(p->);printf("日期:");puts(p->info.riqi);printf("收入:");printf("%.4f\n",p->info.money);printf("备注:");puts(p->info.beizhu);system("PAUSE");}p = p->next;}if(Inhead!=NULL){char panduan;printf("是否继续查询(Y/N)");panduan=getchar();fflush(stdin);if(panduan=='Y'||panduan=='y'){chaxun_income();}}}void mingzi_zhichu (){char chazhao[20];printf("请输入查询的名字");gets(chazhao);struct list *p = zhichuhead;while(p != NULL){if(strcmp(p->,chazhao)==0){printf("姓名:");puts(p->);printf("日期:");puts(p->info.riqi);printf("收入:");printf("%.4f\n",p->info.money);printf("备注:");puts(p->info.beizhu);system("PAUSE");}p = p->next;}if(zhichuhead!=NULL){char panduan;printf("是否继续查询(Y/N)");panduan=getchar();fflush(stdin);if(panduan=='Y'||panduan=='y'){chaxun_zhichu();}}}void mingzi_xiugai_income(){char xiugai[20];printf("请输入修改的名字");fflush(stdin);gets(xiugai);struct list *p = Inhead;while(p != NULL){if(strcmp(p->,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 = p->next;}Save_income();if(Inhead!=NULL){char panduan;printf("是否继续修改(Y/N)");panduan=getchar();fflush(stdin);if(panduan=='Y'||panduan=='y'){xiugai_income();}}}void mingzi_xiugai_zhichu(){char xiugai[20];printf("请输入修改的名字");fflush(stdin);gets(xiugai);struct list *p = zhichuhead;while(p != NULL){if(strcmp(p->,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 = p->next;}Save_zhichu();if(zhichuhead!=NULL){char panduan;printf("是否继续修改(Y/N)");panduan=getchar();fflush(stdin);if(panduan=='Y'||panduan=='y'){xiugai_zhichu();}}}void riqi(){char chazhao[20];printf("请输入查询的日期");gets(chazhao);struct list *p = Inhead;while(p != NULL){if(strcmp(p->info.riqi,chazhao)==0){printf("姓名:");puts(p->);printf("日期:");puts(p->info.riqi);printf("收入:");printf("%.4f\n",p->info.money);printf("备注:");puts(p->info.beizhu);system("PAUSE");}p = p->next;}if(Inhead!=NULL){char panduan;printf("是否继续查询(Y/N)");panduan=getchar();fflush(stdin);if(panduan=='Y'||panduan=='y'){chaxun_income();}}}void riqi_zhichu(){char chazhao[20];printf("请输入查询的日期");gets(chazhao);struct list *p = zhichuhead;while(p != NULL){if(strcmp(p->info.riqi,chazhao)==0){printf("姓名:");puts(p->);printf("日期:");puts(p->info.riqi);printf("收入:");printf("%.4f\n",p->info.money);printf("备注:");puts(p->info.beizhu);system("PAUSE");}p = p->next;}if(zhichuhead!=NULL){char panduan;printf("是否继续查询(Y/N)");panduan=getchar();fflush(stdin);if(panduan=='Y'||panduan=='y'){chaxun_zhichu();}}}void riqi_xiugai_income(){char xiugai[20];printf("请输入修改的日期");fflush(stdin);gets(xiugai);struct list *p = Inhead;while(p != NULL){if(strcmp(p->info.riqi,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 = p->next;}Save_income();if(Inhead!=NULL){char panduan;printf("是否继续修改(Y/N)");panduan=getchar();fflush(stdin);if(panduan=='Y'||panduan=='y'){xiugai_income();}}}void riqi_xiugai_zhichu(){char xiugai[20];printf("请输入修改的日期");fflush(stdin);gets(xiugai);struct list *p = zhichuhead;while(p != NULL){if(strcmp(p->info.riqi,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 = p->next;}Save_zhichu();if(zhichuhead!=NULL){char panduan;printf("是否继续修改(Y/N)");panduan=getchar();fflush(stdin);if(panduan=='Y'||panduan=='y'){xiugai_zhichu();}}}void money (){float chazhao;printf("请输入查询的money");scanf("%f",&chazhao);fflush(stdin);struct list *p = Inhead;while(p != NULL){if(p->info.money==chazhao){printf("姓名:");puts(p->);printf("日期:");puts(p->info.riqi);printf("收入:");printf("%.4f\n",p->info.money);printf("备注:");puts(p->info.beizhu);system("PAUSE");}p = p->next;}if(Inhead!=NULL){char panduan;printf("是否继续查询(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 *p = zhichuhead;while(p != NULL){if(p->info.money==chazhao){printf("姓名:");puts(p->);printf("日期:");puts(p->info.riqi);printf("收入:");printf("%.4f\n",p->info.money);printf("备注:");puts(p->info.beizhu);system("PAUSE");}p = p->next;}if(zhichuhead!=NULL){char panduan;printf("是否继续查询(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 *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("备注:");gets(p->info.beizhu);fflush(stdin);//------}p = p->next;}Save_income();if(Inhead!=NULL){char panduan;printf("是否继续修改(Y/N)");panduan=getchar();fflush(stdin);if(panduan=='Y'||panduan=='y'){xiugai_income();}}}void money_xiugai_zhichu(){float xiugai;printf("请输入修改的money");scanf("%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->info.money);fflush(stdin);printf("备注:");gets(p->info.beizhu);fflush(stdin);//------}p = p->next;}Save_zhichu();if(zhichuhead!=NULL){char panduan;printf("是否继续修改(Y/N)");panduan=getchar();fflush(stdin);if(panduan=='Y'||panduan=='y'){xiugai_zhichu();}}}void beizhu(){char chazhao[20];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("%.4f\n",p->info.money);printf("备注:");puts(p->info.beizhu);system("PAUSE");}p = p->next;}if(Inhead!=NULL){char panduan;printf("是否继续查询(Y/N)");panduan=getchar();fflush(stdin);if(panduan=='Y'||panduan=='y'){chaxun_income();}}}void beizhu_zhichu(){char chazhao[20];printf("请输入查询的备注");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("%.4f\n",p->info.money);printf("备注:");puts(p->info.beizhu);system("PAUSE");}p = p->next;}if(zhichuhead!=NULL){char panduan;printf("是否继续查询(Y/N)");panduan=getchar();fflush(stdin);if(panduan=='Y'||panduan=='y'){chaxun_zhichu();}}}void beizhu_xiugai_income(){char xiugai[20];printf("请输入修改的备注");fflush(stdin);gets(xiugai);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);printf("备注:");gets(p->info.beizhu);fflush(stdin);//------}p = p->next;}Save_income();if(Inhead!=NULL){char panduan;printf("是否继续修改(Y/N)");panduan=getchar();fflush(stdin);if(panduan=='Y'||panduan=='y'){xiugai_income();}}}void beizhu_xiugai_zhichu(){char xiugai[20];printf("请输入修改的备注");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("支出: ");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("是否继续修改(Y/N)");panduan=getchar();fflush(stdin);if(panduan=='Y'||panduan=='y'){xiugai_zhichu();}}}void Income_menu(){system("cls");printf("\n");printf("\n");printf("\n");printf("\n");printf("******************\n");printf("欢迎使用家庭财务管理系统\n");printf("******************\n");printf(" \n");printf(" 1.添加收入\n");printf(" 2.删除收入\n");printf(" 3.查询收入\n");printf(" 4.显示收入\n");printf(" 5.修改收入\n");printf(" 0.返回上一级\n");}void zhichu_menu(){system("cls");printf("\n");printf("\n");printf("\n");printf("\n");printf("******************\n");printf("欢迎使用家庭财务管理系统\n");printf("******************\n");printf(" \n");printf(" 1.添加支出\n");printf(" 2.删除支出\n");printf(" 3.查询支出\n");printf(" 4.显示支出\n");printf(" 5.修改支出\n");printf(" 0.返回上一级\n");}void chaxun_menu(){system("cls");printf("\n");printf("\n");printf("\n");printf("\n");printf("******************\n");printf("欢迎使用家庭财务管理系统\n");printf("******************\n");printf(" \n");printf(" 1.按名字查询\n");printf(" 2.按日期查询\n");printf(" 3.按money询\n");printf(" 4.按备注查询\n");printf(" 0.返回上一级\n"); }void xiugai_menu(){system("cls");printf("\n");printf("\n");printf("\n");printf("\n");printf("******************\n");printf("欢迎使用家庭财务管理系统\n");printf("******************\n");printf(" \n");printf(" 1.按名字修改\n");printf(" 2.按日期修改\n");printf(" 3.按money修改\n");printf(" 4.按备注修改\n");printf(" 0.返回上一级\n");}void Add_income(){char panduan;do{temp=(struct list*)malloc(sizeof(struct list));printf("姓名");gets(temp->);fflush(stdin);printf("日期(XX年XX月XX日)");gets(temp->info.riqi);fflush(stdin);printf("收入");scanf("%f",&temp->info.money);fflush(stdin);printf("备注");gets(temp->info.beizhu);fflush(stdin);printf("\n");//------自己添加temp->next=NULL;if(Inhead == NULL){Inhead = temp;Intail = temp;}else{Intail->next = temp;Intail = temp;}Save_income();//后面可以添加“继续添加功能”printf("是否(Y/N)继续添加信息\n");panduan=getchar();fflush(stdin);}while(panduan=='Y'||panduan=='y');system("PAUSE");}void Add_zhichu(){char panduan;do{temp=(struct list*)malloc(sizeof(struct list));printf("姓名");gets(temp->);fflush(stdin);printf("日期(XX年XX月XX日)");gets(temp->info.riqi);fflush(stdin);printf("支出");scanf("%f",&temp->info.money);fflush(stdin);printf("备注");gets(temp->info.beizhu);fflush(stdin);printf("\n");//------自己添加temp->next=NULL;if(zhichuhead == NULL){zhichuhead = temp;zhichutail = temp;}else{zhichutail->next = temp;zhichutail = temp;}Save_zhichu();//后面可以添加“继续添加功能”printf("是否(Y/N)继续添加信息\n");panduan=getchar();fflush(stdin);}while(panduan=='Y'||panduan=='y');system("PAUSE");}void Del_income(){char shanchu[20];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(Inhead->,shanchu)==0) {char ch;printf("找到一个数据名字为%s,确认删除Y/N?",shanchu);ch=getchar();fflush(stdin);if(ch=='y'||ch=='Y') Inhead=Inhead->next;else break;}}else{if(strcmp(Intail->,shanchu)==0){do{ m=p;p=p->next;}while(p!=Intail);m->next=NULL;}//删除尾巴else{do{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("是否继续删除(Y/N)");panduan=getchar();fflush(stdin);if(panduan=='Y'||panduan=='y'){Del_income();}}}void Del_zhichu(){char shanchu[20];struct list *p=NULL;struct list *m =NULL;struct list *n =NULL;p=zhichuhead;printf("请输入删除姓名");gets(shanchu);if(strcmp(zhichuhead->,shanchu)==0){while(zhichuhead!=NULL && strcmp(zhichuhead->,shanchu)==0) {char ch;printf("找到一个数据名字为%s,确认删除Y/N?",shanchu);ch=getchar();fflush(stdin);if(ch=='y'||ch=='Y') zhichuhead=zhichuhead->next;else break;}}else{if(strcmp(zhichutail->,shanchu)==0){do{ m=p;p=p->next;}while(p!=zhichutail);m->next=NULL;}//删除尾巴else{do{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_zhichu();//删除除头节点之外的节点,自己课后完成if(zhichuhead!=NULL){char panduan;printf("是否继续删除(Y/N)");panduan=getchar();fflush(stdin);if(panduan=='Y'||panduan=='y'){Del_zhichu();}}}void xiugai_income(){xiugai_menu();int choice;printf(" 请输入你的选择:");scanf("%d",&choice);fflush(stdin);switch(choice){case 1: mingzi_xiugai_income();break;case 2: riqi_xiugai_income();break;case 3: money_xiugai_income();break;case 4: beizhu_xiugai_income();break;default: printf("输入错误");break;}}void xiugai_zhichu(){xiugai_menu();int choice;printf(" 请输入你的选择:");scanf("%d",&choice);fflush(stdin);switch(choice){case 1: mingzi_xiugai_zhichu();break;case 2: riqi_xiugai_zhichu();break;case 3: money_xiugai_zhichu();break;case 4: beizhu_xiugai_zhichu();break;default: printf("输入错误");break;}}void chaxun_income(){chaxun_menu();int choice;printf(" 请输入你的选择:");scanf("%d",&choice);fflush(stdin);switch(choice){case 1: mingzi();break;case 2: riqi();break;case 3: money();break;case 4: beizhu();break;default: printf("输入错误");break;}}void chaxun_zhichu(){chaxun_menu();int choice;printf(" 请输入你的选择:");scanf("%d",&choice);fflush(stdin);switch(choice){case 1: mingzi_zhichu();break;case 2: riqi_zhichu();break;case 3: money_zhichu();break;case 4: beizhu_zhichu();break;default: printf("输入错误");break;}}void Sho_income(){struct list *p = Inhead;while(p != NULL){printf("姓名:");puts(p->);printf("日期:");puts(p->info.riqi);printf("收入:");printf("%.4f\n",p->info.money);printf("备注:");puts(p->info.beizhu);p = p->next;}system("PAUSE");}void Sho_zhichu(){struct list *p = zhichuhead;while(p != NULL){fflush(stdin);printf("姓名:");puts(p->);printf("日期:");puts(p->info.riqi);printf("支出:");printf("%.4f\n",p->info.money);printf("备注:");puts(p->info.beizhu);p = p->next;}system("PAUSE");}void Income(){int choice;while(1){Income_menu();printf("请输入选择");scanf("%d",&choice);fflush(stdin);if(choice==0){break;}elseswitch(choice){case 1: Add_income(); Save_income();break;case 2: Del_income(); Save_income();break;case 3: chaxun_income(); Save_income();break;case 4: Sho_income(); Save_income();break;case 5: xiugai_income(); Save_income();break;}}}void zhichu(){int choice;while(1){zhichu_menu();printf("请输入选择");scanf("%d",&choice);fflush(stdin);if(choice==0){break;}elseswitch(choice){case 1: Add_zhichu(); Save_zhichu();break;case 2: Del_zhichu(); Save_zhichu();break;case 3: chaxun_zhichu(); Save_zhichu();break;case 4: Sho_zhichu(); Save_zhichu();break;case 5: xiugai_zhichu(); Save_zhichu();break;}}}void tongji_menu(){system("cls");printf("\n");printf("\n");printf("\n");printf("\n");printf("******************\n");printf("欢迎使用家庭财务管理系统\n");printf("******************\n");printf(" \n");printf(" 1.总收入\n");printf(" 2.总支出\n");printf(" 3.总资金\n");printf(" 0.返回上一级\n");}void zongshouru(){float shouru=0;struct list *linshi;linshi=Inhead;if(linshi!=NULL){do{shouru=linshi->info.money+shouru;linshi=linshi->next;}while(linshi!=NULL);printf("%.4f",shouru);system("PAUSE");}}void zongzhichu(){float zhichu=0;struct list *linshi;linshi=zhichuhead;if(linshi!=NULL){do{zhichu=linshi->info.money+zhichu;linshi=linshi->next;}while(linshi!=NULL);printf("%.4f",zhichu);system("PAUSE");}}void zongzijin(){float zhichu=0;float zongzijin;struct list *linshi;linshi=zhichuhead;if(linshi!=NULL){do{zhichu=linshi->info.money+zhichu;linshi=linshi->next;}while(linshi!=NULL);}float shouru=0;linshi=Inhead;if(linshi!=NULL){do{shouru=linshi->info.money+shouru;linshi=linshi->next;}while(linshi!=NULL);printf("%.4f",shouru-zhichu);system("PAUSE");}}void Tongji(){while(1){tongji_menu();int choice;printf(" 请输入你的选择:");scanf("%d",&choice);if(choice==0){break;}switch(choice){case 1: zongshouru();break;case 2: zongzhichu();break;case 3: zongzijin();break;default: printf("输入错误");break;}}}void Quit(){char panduan;printf("确认退出(Y/N)");panduan=getchar();fflush(stdin);if(panduan=='Y'||panduan=='y'){exit(0);}}int main(){Open();Openzhichu();system("color 72");while(1){Menu();int choice;printf(" 请输入你的选择:");scanf("%d",&choice);fflush(stdin);switch(choice){case 1: Income();break;case 2: zhichu();break;case 3: Tongji();break;case 0: Quit();break;default: printf("输入错误");break;}}return 0;}。
家庭财务管理系统
家庭财务管理系统随着现代生活节奏的加快和经济压力的增大,家庭的财务管理变得越来越重要。
家庭财务管理系统是一种有助于家庭成员有效管理和控制财务的工具。
它可以帮助家庭成员记录和追踪收入和支出、制定预算计划、监控投资和债务等方面的信息。
本文将介绍家庭财务管理系统的重要性,以及如何建立和运用这个系统来实现财务稳定和目标实现。
一、家庭财务管理系统的重要性家庭财务管理系统对于一个家庭的经济稳定至关重要。
首先,它可以帮助家庭成员了解家庭的整体财务状况。
通过记录收入和支出,并生成相应的财务报表,家庭成员可以清楚地知道家庭的财务状况和健康程度。
其次,家庭财务管理系统可以帮助家庭成员制定和实施预算计划。
通过分析收入和支出的情况,家庭成员可以制定合理的预算,合理分配收入,并控制支出,从而实现财务的健康发展。
此外,家庭财务管理系统还可以帮助家庭成员监控投资和债务情况,提供决策依据,避免财务风险。
二、建立家庭财务管理系统的步骤1. 收集和整理家庭财务信息:首先,家庭成员需要收集和整理所有的财务信息,包括收入来源、固定支出、可变支出、债务和投资等方面的信息。
这些信息可以通过查看银行对账单、信用卡账单、股票交易记录以及其他财务文件来获取。
2. 设定财务目标:家庭成员应该共同设定明确的财务目标,如购买房屋、子女教育基金或养老金等。
这些目标将成为建立财务计划和预算的基础。
3. 制定预算计划:基于家庭财务信息和设定的财务目标,家庭成员应该制定合理的预算计划。
预算计划应包括家庭的收入、支出和储蓄目标。
预算计划应该根据家庭的实际情况进行灵活调整。
4. 选择合适的财务管理工具:家庭成员可以选择适合自己的财务管理工具,如电子表格、个人财务软件或在线财务管理平台等。
这些工具可以帮助家庭成员记录和追踪收入和支出、制定预算计划、监控投资和债务等方面的信息。
5. 定期检查和评估:家庭成员应该定期检查和评估家庭财务状况和预算计划的执行情况,并进行必要的调整。
C语言课程设计——家庭财务管理系统
课程设计报告课程设计题目:家庭财务管理系统学生姓名:专业: 信息工程班级:指导教师:2018年1月8日1.需求分析根据家庭账务管理的需要,建立一个“家庭账务管理系统”,以方便对家庭日常收入及支出进行记录和管理。
该系统要求:①家庭月收入管理②家庭月支出管理③统计家庭总收入/总支出④系统提供收入/支出的添加、删除和修改功能。
2. 总体设计根据以上分析,本家庭账务管理系统主要包括:①从键盘键入家庭月收入、月支出数据;②查询月收入、月支出明细;③删除收入、支出数据;④修改收入、支出数据;⑤统计总收入/总支出;⑥退出系统。
除main()函数之外,系统还定义了以下函数来实现各部分内容:①add_income():添加收入数据函数。
②add_payout():添加支出数据函数。
③search_data():查找数据函数。
④initialize():初始化函数,读取文本数据。
⑤show_info():显示数据函数。
⑥count_total():统计函数,统计总收入、总支出。
⑦update_data():修改信息函数。
⑧delete_data():删除数据函数。
⑨quit():退出函数。
程序结构功能图如下:3.详细设计3.1收入管理3.2支出管理4.测试结果4.1 程序运行主菜单4.2 添加收入测试4.3 查询收入明细测试4.4 删除收入测试4.5 修改收入测试4.6 添加支出测试4.7 查询支出明细测试4.8 删除支出测试4.9 修改支出测试4.10 统计总收入/支出测试4.11 退出系统测试5.软件操作使用说明书本系统采用命令行对话方式进行操作,运行后出现主界面(如下图所示),然后按照主界面菜单指引操作即可。
6.总结编写程序之前要有一个整体的思路,不能写到哪里算哪里。
这样很容易遗漏,连续性也不好。
通过本次的课程设计让我对于数组、文件的存放、循环结构等知识有了更加透彻的理解。
希望在以后的课程设计中对于知识的运用能够更加的熟练。
c语言个人财务管理系统
个人财政支出管理付欣05计算机四班指导老师:梁新元一、问题描述及分析 (1)二、实验程序设计思想及功能描述 (1)3、主要函数模块的设计思想和具体实现 (2)三、实验程序测试 (4)1、程序开始执行时系统的所显示的页面: (4)2、选择退出系统: (5)3、选择登陆,并且输入的帐号和密码都正确: (5)4、用户输入的帐号不正确: (5)5、用户输入的帐号正确,密码不正确: (6)四、实验程序自我评价 (7)五、课程设计创新 (7)六、课程设计总结 (7)七、参考书目: (7)八、实验程序源代码 (8)一、问题描述及分析编写一个个人财政支出管理系统,主要解决的问题是作为一个系统而言,它所要面对不只是某一个人而言,而是要面对很多的用户。
那么想要解决这一问题,就必须要求这个系统能够存储许多用户的基本信息和记录。
同时也要求系统能够对不同的用户的身份进行查找和验证。
在验证通过之后,在对其进行用户所要求的操作。
作为一个财政支出系统,那么就要求对于用户关于金钱的每一项操作都要有相应的记录,同时并允许用户对于每一条整体的记录进行操作,例如可以根据时间来查找某一确定日期是否进行了收入或者支出的操作,也可以根据特定的需要来删除某一条整体的记录。
但不允许对每条记录的单项数据进行更改,因为不管是收入还是支出,所涉及的金额都是固定的,时间也是固定的,所以系统不允许用户对其进行操作。
除此之外,还必须有足够大的空间来存储新的记录。
所以此程序就是基于这个思想而编写出来的,基本满足了用户对于一个财政支出管理系统所要求的相关功能。
二、实验程序设计思想及功能描述根据前面对于编写一个个人财政支出管理系统的程序的问题描述和分析,确定了此程序的基本思想和相关功能。
1、基本思想首先定义一个结构体数组,这个数组的功能便是用来所有用户的所有信息。
它的成员为每个用户的帐号(account)、密码(code)、姓名(name)、记录(record rec[max]),以及记录的条数(rec_len)。
C语言程序设计个人财务管理系统
C语言程序设计个人财务管理系统个人财务管理系统是一款帮助个人进行财务管理和分析的软件,能够帮助用户记录、分类、统计和分析个人的收入和支出。
本文将介绍一个使用C语言编写的简单个人财务管理系统。
首先,我们需要定义几个结构体来表示财务记录和分类信息:```c//定义财务记录结构体struct financial_recordint id; // 编号int year; // 年份int month; // 月份int day; // 日期char type[20]; // 类型double amount; // 金额};//定义分类信息结构体struct categorychar name[20]; // 分类名称double total; // 总金额int count; // 记录数量};//定义财务管理系统结构体struct financial_management_systemstruct financial_record records[100]; // 财务记录数组struct category categories[10]; // 分类信息数组int record_count; // 记录数量};```接下来,我们可以实现几个基本的功能,如添加记录、删除记录、查询记录和分类汇总等:```c//添加财务记录void add_record(struct financial_management_system *system) printf("请输入年份:");scanf("%d", &(system->records[system->record_count].year));//省略其他输入信息的代码printf("请输入金额:");scanf("%lf", &(system->records[system->record_count].amount));system->record_count++;//删除财务记录void delete_record(struct financial_management_system*system, int id)for (int i = 0; i < system->record_count; i++)if (system->records[i].id == id)for (int j = i; j < system->record_count - 1; j++)system->records[j] = system->records[j + 1];}system->record_count--;break;}}//查询财务记录void query_record(struct financial_management_system system, int year, int month, int day)for (int i = 0; i < system.record_count; i++)if (system.records[i].year == year &&system.records[i].month == month &&system.records[i].day == day)printf("编号:%d\n", system.records[i].id);//输出其他信息的代码}}//分类汇总void summarize_category(struct financial_management_system system)for (int i = 0; i < system.record_count; i++)//查找分类信息是否存在int category_index = -1;for (int j = 0; j < 10; j++)if (strcmp(system.records[i].type, system.categories[j].name) == 0)category_index = j;break;}}//如果分类信息不存在,则添加分类信息if (category_index == -1)strcpy(system.categories[system.category_count].name, system.records[i].type);system.categories[system.category_count].count = 1;system.categories[system.category_count].total = system.records[i].amount;system.category_count++;} elsesystem.categories[category_index].count++;system.categories[category_index].total +=system.records[i].amount;}}for (int i = 0; i < system.category_count; i++)printf("分类:%s\t总金额:%lf\t记录数量:%d\n",system.categories[i].name,system.categories[i].total,system.categories[i].count);}```最后,我们可以编写主函数来完成用户和系统的交互:```cint maistruct financial_management_system system; system.record_count = 0;system.category_count = 0;while (1)printf("\n请选择操作:\n");printf("1. 添加记录\n");printf("2. 删除记录\n");printf("3. 查询记录\n");printf("4. 分类汇总\n");printf("0. 退出\n");int choice;scanf("%d", &choice);switch (choice)case 1:add_record(&system);break;case 2:printf("请输入要删除的记录编号:");int id;scanf("%d", &id);delete_record(&system, id);break;case 3:printf("请输入查询的日期(年月日):"); int year, month, day;scanf("%d %d %d", &year, &month, &day); query_record(system, year, month, day); break;case 4:summarize_category(system);break;case 0:return 0;default:printf("无效的操作!\n");break;}}```通过以上代码,我们实现了一个简单的个人财务管理系统。
C语言程序设计---家庭财务管理系统
C语言程序设计—家庭财务管理系统摘要本报告介绍了一个运用C语言知识和Microsoft Visual c++ 6.0创建的用于家庭各成员财务情况管理的家庭财务管理系统.在该系统中创建了包含编辑,增加,删除,修改,查找,浏览的功能总列表,创建序号链接各功能列表,输入家庭成员收入信息情况,增加信息,删除信息,修改信息,创建姓名查找便于用户查找个人财务情况,创建合计排序浏览用户可从总体上浏览全家庭财务信息情况.关键词:C语言,Visual c++ 6.0, 家庭财务管理系统小组情况本系统是通过小组全体成员的共同努力,经过分工合作完成的,具体分工如下:1。
合作的工作需求分析、概念结构设计、逻辑结构设计和报告的草稿通过小组讨论完成。
2。
分工在家庭财务管理系统的总体方案确定之后,小组成员开始分工,独立完成不同的模块及工作。
其中●:负责家庭财务管理系统主函数、总程序的编译连接、报告的撰写排版工作。
●:负责家庭财务管理系统各主要函数及总程序的编译连接。
●:负责家庭财务管理系统增加函数的编译、报告的撰写工作.●:负责家庭财务管理系统删除函数的编译、报告的撰写工作.●:负责家庭财务管理系统创建函数的编译工作.目录1 绪论 (1)2方案设计分析 (2)2.2.函数设计 (2)2。
3。
各函数代码设计及N-S图 (2)3系统运行情况 (5)3.1出现的问题 (5)3。
2相关的解决方法 (5)3。
3目前的运行情况 (5)3。
4系统操作说明 (5)总结 (7)致谢 (8)参考文献 (9)1 绪论家庭财务管理对于每一个家庭来说有着重要的意义,随着科技的发达,财务的管理由原先的手写账本发展到现今的电脑系统输入并统计,不仅大大减少了时间与精力,也是财务管理更系统化,便捷化,清晰化,减少金钱上的缺失。
家庭财务系统主要对家庭的各项财务收支管理进行在计算机上的信息存储和处理,从而简化用户的工作量本报告设计的家庭财务管理系统主要是负责给家庭成员提供了一个在Windows操作系统上运行的管理平台,家庭财务管理者可以对其成员编号、姓名以及收入、支出构成进行增加、删除、修改,查找等管理操作,还可以对全家庭财务合计排序浏览.C语言是国内外广泛使用的一种计算机语言,学会使用C语言进行程序设计是计算机工作者的一项基本功。
家庭财务管理系统数据库设计文档
一、ER模型
字段描述
字段列名
数据类型
默认值
用户ID
User_Id
Int
New()
主键随机获取
姓名
Userபைடு நூலகம்Realname
VarChar(8)
用户名
User_Name
VarChar(20)
用户密码
User_Password
VarChar(200)
用户权限
User_Popedom
VarChar(20)
创建日期
ExpenditreChild_CreateDate
DateTime
getdate()
创建日期
Books_CreateDate
DateTime
getdate()
备注
Books_Remark
text
√
字段描述
字段列名
数据类型
可空
默认值
约束类型
收支父类Id
ExpenditreFather_Id
Int
new()
主键随机获取
收支父类编号
ExpenditureFather_Number
VarChar(10)
Bit
备注
User_Remark
Text
二、数据字典
用户表:ConsumerInfo
账簿表:BooksInfo
字段描述
字段列名
数据类型
可空
默认值
约束类型
账簿Id
Books_Id
Int
new()
主键随机获取
账簿名称
Books_Name
Varchar(50)
家庭财务管理台账模板功能介绍
家庭财务管理台账模板功能介绍在家庭生活中,财务管理是一项至关重要的任务。
一个清晰、准确且易于操作的家庭财务管理台账模板可以帮助我们更好地掌控家庭财务状况,实现理财目标,避免不必要的经济压力和风险。
接下来,让我们详细了解一下家庭财务管理台账模板的各项功能。
首先,家庭财务管理台账模板具备收支记录功能。
这是其最基础也是最核心的部分。
我们可以将家庭的每一笔收入和支出详细地记录下来,包括收入的来源,如工资、奖金、投资收益、租金等,以及支出的项目,如食品、水电费、房租、交通费用、娱乐消费等。
通过清晰地记录每一笔收支,我们能够一目了然地看到家庭资金的流动方向和具体数额。
其次,模板中的分类统计功能十分实用。
它可以将各种收支按照不同的类别进行分类汇总,比如将支出分为生活必需开销(如食品、住房)、娱乐休闲开销、教育投资开销等。
这样的分类统计能够让我们直观地了解在不同方面的资金分配比例,从而发现哪些方面的支出过高或过低,有助于我们调整消费结构,实现更合理的财务规划。
预算规划功能也是家庭财务管理台账模板的重要组成部分。
我们可以根据家庭的实际情况和未来的计划,设定每个月或每个季度在不同项目上的预算。
当实际支出接近或超过预算时,系统会发出提醒,让我们及时调整消费行为,避免超支。
这对于控制消费欲望,养成良好的理财习惯非常有帮助。
另外,模板中的数据分析功能能够为我们提供更深入的财务洞察。
它可以生成各种图表和报表,如收支趋势图、支出占比饼图等。
通过这些直观的图表,我们能够更清晰地看到家庭财务的变化趋势,发现潜在的问题和规律。
比如,我们可能会发现某个季节的水电费支出明显高于其他季节,从而思考是否存在浪费能源的情况,并采取相应的节能措施。
资产负债管理功能也是不容忽视的。
家庭财务管理台账模板可以帮助我们记录家庭的资产,如房产、车辆、存款、投资等,同时也能记录负债情况,如房贷、车贷、信用卡欠款等。
通过对资产和负债的清晰记录和跟踪,我们能够准确计算家庭的净资产,了解家庭的财务健康状况。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
一、需求分析 (1)
二、程序的主要功能 (2)
三、程序运行平台 (3)
四、系统总框架图 (4)
五、程序类的说明 (5)
六、模块分析 (6)
七、比较有特色的函数 (7)
八、存在的不足与对策 (8)
一、需求分析
家庭财务收支管理是一个家庭日常生活中不可缺少一部分,也是财务管理的重要组成部分。
它的内容对于财务管理者来说都至关重要,设计一个程序对财务收支进行管理是必不可少的。
二、程序的主要功能
1、用户管理:
对账单的用户进行登记。
2、消费明细:
对用户账单明细进行记录。
3、个人账单查询:
对用户的账单进行查询。
4、账单总计:
对整个系统所存账单进行总计。
5、显示所有用户账单:
把所有账单进行显示。
三、程序运行平台
Dev c++
四、系统总框架图
五、程序类的说明
class inter_f //定义一个界面类
{
public:
inter_f(){}; //构造
~inter_f(){}; //析构
void display(); //声明显示用户信息界面函数/////////////////// void check(user* p); //声明用户登记函数
void seek(user* p); //声明用户查询函数
void show(user* p); //声明显示用户信息函数
void add(user* p); //声明用户新增函数
void cancel(user* p); //声明用户注销函数
void exit(); //声明用户退出函数
void limit(user& ru); //声明用户操作界面函数
void display2(); //消费明细界面函数///////////////////////
void water_cost(user* p); //水费函数
void elec_cost(user* p); //电费函数
void comm_cost(user* p); //通信费函数
void shop_cost(user* p); //购物费函数
void gas_cost(user* p); //煤气费函数
void pin_cost(user* p); //零用函数
void exit2(); //声明退出消费明细函数
void limit2(user& ru); //声明消费明细操作界面函数void display1(); //声明显示总信息界面//////////////////////
void personal_bill(user* p); //声明个人账单函数
void amount_bill(user* p); //账单总计函数
void show1(user* p); //声明显示所有用户账务函数
void exit1(); //声明财务退出函数
void limit1(user& ru); ////总界面函数
};
六、模块分析
1、用户管理:
对账单的用户进行登记。
2、消费明细:
对用户账单明细进行记录。
3、个人账单查询:
对用户的账单进行查询。
4、账单总计:
对整个系统所存账单进行总计。
5、显示所有用户账单:
把所有账单进行显示。
七、比较有特色的函数
void user::cancel() //类内部删除函数(注销)
{
int m;
string s;
cout<<"\t注销--->请输入用户编号用户名:"<<endl;
cin>>m>>s;
int k=0;
for(int i=0;i<N;i++)
{
if(m==a[i]&&s==name[i])
{
for(int j=i;j<N;j++)
{
a[j]=a[j+1];
name[j]=name[j+1];
tel[j]=tel[j+1];
water_c.t[j]=water_c.t[j+1];
water_c.s[j]=water_c.s[j+1];
elec_c.d[j]=elec_c.d[j+1];
elec_c.s[j]=elec_c.s[j+1];
comm_c.tp[j]=comm_c.tp[j+1];
comm_c.cp[j]=comm_c.cp[j+1];
comm_c.s[j]=comm_c.s[j+1];
shop_c.sp[j]=shop_c.sp[j+1];
shop_c.hp[j]=shop_c.hp[j+1];
shop_c.s[j]=shop_c.s[j+1];
gas_c.g[j]=gas_c.g[j+1];
gas_c.s[j]=gas_c.s[j+1];
pin_c.pc[j]=pin_c.pc[j+1];
pin_c.pa[j]=pin_c.pa[j+1];
pin_c.s[j]=pin_c.s[j+1];
}
k++;
N--;
cout<<"用户的信息已删除!"<<endl;
break;
}
}
if(k==0)
{
cout<<"用户不存在!"<<endl;
}
}
double user::amount(int m)
{
int i=m;
double sum=0.0;
sum=water_c.s[i]+elec_c.s[i]+comm_c.s[i]+shop_c.s[i]+gas_c.s[i]+pin_c.s[i];
return sum;
}
double user::all_amount() //所有用户的所有账单总计
{
double sum=0.0;
for(int i=0;i<M;i++)
{
sum=sum+amount(i);
}
return sum;
}//类user外部定义成员函数结束
//输入输出分数
八、存在的不足与对策
由于本次管理系统设计的并不是很完善很完美,出现了一些瑕疵,针对诸多设计过程中出现的一些小问题,通过仔细查找资料,将这些小问题慢慢解决,将系统逐步完善。
对于一些尚未解决的问题,我们将会一如既往的,本着踏实实干,发愤图强的精神,努力提高我们自身的专业素质和相关专业知识。