《精编》关于个人财务管理软件报告

上传人:tang****xu2 文档编号:133359806 上传时间:2020-05-26 格式:DOC 页数:26 大小:187.72KB
返回 下载 相关 举报
《精编》关于个人财务管理软件报告_第1页
第1页 / 共26页
《精编》关于个人财务管理软件报告_第2页
第2页 / 共26页
《精编》关于个人财务管理软件报告_第3页
第3页 / 共26页
《精编》关于个人财务管理软件报告_第4页
第4页 / 共26页
《精编》关于个人财务管理软件报告_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《《精编》关于个人财务管理软件报告》由会员分享,可在线阅读,更多相关《《精编》关于个人财务管理软件报告(26页珍藏版)》请在金锄头文库上搜索。

1、个人财务管理软件报告目录一、需求分析223889111、 需求分析 1.首先个人的财务信息里包括收支日期,收入金额、支出金额还有收入和支出的目的,还有账户余额。因为是包括多个信息所以考虑到用结构体数组来储存这些信息,然后再把这些信息一起储存到文件中。2. 该软件需要有六个功能,首先是登录功能,必须输入正确的用户名和密码才能使用软件。第二是收支记录的管理,该部分包括添加功能,删除功能和修改功能。第三是查询某天或某月的收支情况。第四是统计一段时间的信息。3. 后面的收支功能,查询功能和统计功能都是从文件中读取,读取后存到结构体数组中,然后再进行操作,操作完后关闭文件,以免信息丢失。4. 当用户名和

2、密码输入错误,会提示你输入错误,请重新输入。5. 如果是操作过程中输入错误,会回到最菜单重新操作。6. 运行时用户可以根据提示进行操作,每进行一步操作,就会有相应的提示。2 概要分析 1.程序中存储个人每天的财务信息用的是结构体数组,其中结构体中包括:日期(年月日),收入金额,支出金额,收入目的。 struct peopleint year; /年份int month; /月份int day; /日期float get; /收入金额float out; /支出金额char motive100; /支出目的char source100;/收入来源float leave;/余额 2.本程序各函数的

3、结构main函数 将三天的账户信息存储到文件中; 提示用户输入用户名和密码,输入正确; 进入f7();/菜单选择函数 switch() 1.修改信息; /f2()函数2. 添加信息;/f3()函数3. 删除信息;/f4()函数4. 查询信息;/f5()函数5. 统计信息;/f6()函数 3.各模块的调用关系 第一层:main 函数 第二层:f7(); 第三层:f2() , f3(), f4(), f5(), f6();调用时这些函数都可以通过f7()函数来互相调用。比如运行完f2()函数后,可以调用f7(),然后再调用f3()函数。 4.主函数:添加信息到文件中和执行登录功能。 其他调用函数分

4、别执行其他五大功能。3 详细设计1、 基本数据类型操作a) 存储每天账户信息的数组结构体struct peopleint year;int month;int day;float get;float out;char motive100;char source100;float leave; b)控制结构体数目的extern N刚开始运行该程序时,N的初始值为3,后来如果进行添加操作,则N的值就会加1,反之如果进行删除操作,则N的值就会减1。 start2、 流程图 main函数:int i,a,b i=0iNny将信息存到文件中 i+输入用户名和密码输入正确nF7()函数进入添加函数f4()

5、进入删除函数f3()进入修改函数f2()菜单选择函数f7()y进入查询函数f5() end进入统计函数f6()3、基本操作的算法描述 a)登录功能:用户只有在输入正确的用户名和密码后才能进入系统进行操作。 for(;) printf(=请输入用户名和密码:=n);printf(用户名:); scanf(%d,&a); /a表示用户名printf(n);printf(密码:); /b表示密码scanf(%d,&b);printf(n); if(a=10201306&b=1) /输入和条件一致的情况下进入if语句中 printf(=恭喜输入正确,登录成功!=n);printf(该软件中已存有201

6、0年1月1号到3号的信息!n); else /输入和条件不一致就进入else语句printf(输入错误,请重新输入!n); b)主菜单功能:用户可以自行选择要进行的操作 printf(=1:修改信息=n); printf(=2:删除信息=n); printf(=3:添加信息=n); printf(=4:查询信息=n); printf(=5:统计信息=n); printf(请选择:);/在屏幕上输出,指示用户操作 scanf(%d,&flag); /输入用户的选项并存在flag中 while( flag != 0) switch(flag) default: printf(此选项不存在,请重新输

7、入:n);break; case 1: f2(x,y,z); /进入修改函数 break; case 2: f3(x,y,z); /进入删除函数 break; case 3: f4();/进入添加函数 break; case 4: f5(x,y,z);/进入查询函数 break; case 5: f6(x,y,z,x1,y1,z1);/进入统计函数 break; c)修改功能:用户如果觉得存储的信息有问题,可以在此进行修改fp=fopen(f:pan.txt,w+);for(i=0;iN;i+)fread(&peoi,sizeof(struct people),1,fp);if(x=peoi.

8、year&y=peoi.month&z=peoi.day) n=i; /查看是否有该天的信息存在 break;if(i=N)printf(没有该天信息!n);printf(请重新选择!n);f7();fread(&peoi,sizeof(struct people),1,fp);/先从文件中读出printf(请输入新的收入来源n); scanf(%s,peon.source); printf(请输入新的收入金额n); scanf(%f,&peon.get); printf(请输入新的支出目的n); scanf(%s,peon.motive); printf(请输入新的支出金额n); scanf

9、(%f,&peon.out);peon.leave=peon.get-peon.out;/输入新的信息 for(i=0;iN;i+)if(fwrite(&peoi,sizeof(struct people),1,fp)!=1)printf(无法打开!n);exit(0);fclose(fp);/把新的信息存储到文件当中,并关闭文件 d) 删除功能:用户可以在此删除不需要的信息 fp=fopen(f:pan.txt,w+);/打开文件 for(i=0;iN;i+)fread(&peoi,sizeof(struct people),1,fp);if(x=peoi.year&y=peoi.month

10、&z=peoi.day) n=i; /查看是否有该天的信息存在 break;if(i=N)printf(没有该天信息!n);printf(请重新选择!n);for(i=n;iN;i+)fscanf(fp,%s,&peoi);/将文件中的信息存到数组结构体里strcpy(peoi.source,peoi+1.source);peoi.year=peoi+1.year;peoi.month=peoi+1.month;peoi.day=peoi+1.day; peoi.get=peoi+1.get;peoi.out=peoi+1.out;strcpy(peoi.motive,peoi+1.motive); peoi.leave=peoi+1.leave;/用后面的信息覆盖前面的信息N=N-1;/删除后信息减少一组,所以N要减1for(i=0;iN;i+)if(fwrite(&peoi,sizeof(struct people),1,fp)!=1)printf(无法打开!n);exit(0); fclose(fp);/将现有信息重新存回到文件中 e)添加功能:用户可以在此添加新的账户信息fp=fopen(f:pan.txt,rb);/先打开文件fread(&peoi,sizeof(struct people),1,fp);/将文件信息存到结构体数组里n=N;

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

当前位置:首页 > 行业资料 > 其它行业文档

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