个人财务管理软件用户手册范本
《个人财务管理软件用户手册范本》由会员分享,可在线阅读,更多相关《个人财务管理软件用户手册范本(26页珍藏版)》请在装配图网上搜索。
1、个人财务管理软件报告目录一、需求分析22388911一、 需求分析1.首先个人的财务信息里包括收支日期,收入金额、支出金额还有收入和支出的目的,还有账户余额。因为是包括多个信息所以考虑到用结构体数组来储存这些信息,然后再把这些信息一起储存到文件中。2. 该软件需要有六个功能,首先是登录功能,必须输入正确的用户名和密码才能使用软件。第二是收支记录的管理,该部分包括添加功能,删除功能和修改功能。第三是查询某天或某月的收支情况。第四是统计一段时间的信息。3. 后面的收支功能,查询功能和统计功能都是从文件中读取,读取后存到结构体数组中,然后再进行操作,操作完后关闭文件,以免信息丢失。4. 当用户名和密
2、码输入错误,会提示你输入错误,请重新输入。5. 如果是操作过程中输入错误,会回到最菜单重新操作。6. 运行时用户可以根据提示进行操作,每进行一步操作,就会有相应的提示。二 概要分析1.程序中存储个人每天的财务信息用的是结构体数组,其中结构体中包括:日期年月日,收入金额,支出金额,收入目的。 struct peopleint year; /年份int month; /月份int day; /日期float get; /收入金额float out; /支出金额char motive100; /支出目的char source100;/收入来源float leave;/余额 2.本程序各函数的结构ma
3、in函数 将三天的账户信息存储到文件中; 提示用户输入用户名和密码,输入正确; 进入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.主函数:添加信息到文件中和执行登录功能。 其他调用函数分别执行其他五大功能。三 详细设计1、 基本数据类型操作a) 存储每天账户信息的
4、数组结构体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进入删除函数f3进入修改函数f2菜单选择函数f7y进入查询函数f5 end进入统计函数f
5、63、基本操作的算法描述 a登录功能:用户只有在输入正确的用户名和密码后才能进入系统进行操作。 for printf;printf; scanf; /a表示用户名printf;printf; /b表示密码scanf;printf; if /输入和条件一致的情况下进入if语句中 printf;printf; else /输入和条件不一致就进入else语句printf; b主菜单功能:用户可以自行选择要进行的操作 printf; printf; printf; printf; printf; printf;/在屏幕上输出,指示用户操作 scanf; /输入用户的选项并存在flag中 while s
6、witch default: printf;break; case 1: f2; /进入修改函数 break; case 2: f3; /进入删除函数 break; case 3: f4;/进入添加函数 break; case 4: f5;/进入查询函数 break; case 5: f6;/进入统计函数 break; c修改功能:用户如果觉得存储的信息有问题,可以在此进行修改fp=fopen;fori=0;ifread&peoi,sizeof,1,fp;if n=i; /查看是否有该天的信息存在 break;ifprintf;printf;f7;fread&peoi,sizeof,1,fp;
7、/先从文件中读出printf; scanf; printf请输入新的收入金额n; scanf; printf; scanf; printf; scanf;peon.leave=peon.get-peon.out;/输入新的信息 fori=0;iiffwrite&peoi,sizeof,1,fp!=1printf;exit;fclose;/把新的信息存储到文件当中,并关闭文件 d 删除功能:用户可以在此删除不需要的信息fp=fopen;/打开文件 fori=0;ifread&peoi,sizeof,1,fp;if n=i; /查看是否有该天的信息存在 break;ifprintf;printf;
8、fori=n;iN;i+fscanf;/将文件中的信息存到数组结构体里strcpy;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.leave=peoi+1.leave;/用后面的信息覆盖前面的信息N=N-1;/删除后信息减少一组,所以N要减1fori=0;iiffwrite&peoi,sizeof,1,fp!=1printf;exit; fclose;/将现有信息重新存回到文件中 e添加功能:用户可以在
9、此添加新的账户信息fp=fopen;/先打开文件fread&peoi,sizeof,1,fp;/将文件信息存到结构体数组里n=N; /添加到结构体数组的末尾printf;scanf; printf; scanf; printf; scanf; peon.leave=peon.get-peon.out; /输入新的信息到结构体中 N=N+1; /添加了新的数据所以N的值加1 fp=fopen; fori=0;ifwite&peoi,sizeof,1,fp;fclose;/将新的一组结构体信息写到文件里 f 查询功能:用户可以在此查询以前存有的账户信息fopen; fori=0;ifread&pe
10、oi,sizeof,1,fp;if n=i; /查看是否有该天的信息存在 break;ifprintf;printf;f7;fread&peon,sizeof,1,fp;/将数据存到结构体数组中printf;printf;printf;printf;printf;printf;/输出您要查询的该天信息 fclose; /关闭文件防止信息丢失 g统计功能:用户可以在此统计一段时间的收入金额和支出金额 fori=0;ifread&peoi,sizeof,1,fp;if n=i; /查看是否有该天的信息存在 break;ifprintf;printf; fori=0;ifread&peoi,size
11、of,1,fp;if m=i; /查看是否有该天的信息存在 break;ifprintf;printf; 如果存在该段时间信息,那么统计收入金额:ifn fori=n,sum=0;i sum+=peoi.get; printf;fclose; break;else fori=m,sum=0;isum+=peoi.get; printf;fclose;break;如果统计支出金额,只需将peoi.get改为peoi.out就行。 3、各函数的调用关系图 main函数f7函数 f2函数 f3函数 f4函数 f5函数 f6函数 f7函数 四 调试分析1. 开始时没有将N定义为全局变量,导致在添加函数
12、中N+1后,其他函数中的N却没有改变,导致最后查询的信息不完整。2. 开始时没有将主菜单单独存到一个函数里面,这样就无法一次运行多个功能,最后将主菜单单独存到一个函数里以后,就可以在运行完一个功能之后,重新选择,这样就可以在一次调试中,运行所有的功能模块,减少了很多麻烦。3. 第一次调试运行时,文件中没有存储任何的信息,所以每次进入都必须先要输入一定量的数据,然后才能进行下面的操作,后来加以改善,先在文件中存储几天的账户信息,这样在运行时就可以直接进行查询,修改,删除等操作了。4. 第一次检查时,由于对文件的操作不是很熟练,发现了添加的数据并没有存储到文件之中,最后经过修正,加入了一个fwri
13、te将信息写到了文件里。五用户手册 1、本程序的运行环境为DOS操作系统,执行文件为f1.dsw; 2、 进入演示程序后,即显示对话形式的提示操作过程,如:请输入用户名和密码,输入正确后便进入菜单选择 请输入你的选项,输入选项后,如果选项不存在,会提示你选项不存在,请重新选择。 输入正确选项后,便会提示你输入日期。如果进入的是修改函数,就会继续提示你输入新的信息;如果进入的时添加函数,会让你输入新的账户信息;如果进入的是删除函数,再删除完后会提示你删除成功;如果进入的时查询函数,会输出你要查询的当天账户信息;如果进入的统计函数,会提示你选择将要统计的信息。3、如果用户不小心进错了功能,可以输入
14、0来返回主菜单,重新选择。4、进行完上面的操作之后,会提示用户是否继续运行该程序来进行其他的功能操作 按n或N键 stop或其它键继续六测试数据 =请输入用户名和密码:= 用户名:10201306密码:1恭喜输入正确,登录成功!1:修改信息 2:删除信息3:添加信息 4:查询信息 5:统计信息 a请选择:1 请输入您要修改得日期:2010 1 1 0.返回主菜单 1.修改该天信息 请选择 1 旧的信息为:2010 1 1 1000.000000 收入1 100.000000 支出1 请输入新的信息:收入金额 1100 收入来源 aaa 支出金额 200 支出目的 bbb。修改成功!新的信息为
15、2010 1 1 1100.000000 aaa 200.0000000 bbb b请选择:2 请输入您要删除的日期:2010 1 1 0.返回主菜单 1.删除该天信息请选择:1 旧的信息为: 2010 1 1 1000.000000 收入1 100.000000 支出1 2010 1 2 2000.000000 收入2 200.000000 支出2 2010 1 3 3000.000000 收入3 300.000000 支出3 删除成功!新的信息为: 2010 1 2 2000.000000 收入2 200.000000 支出2 2010 1 3 3000.000000 收入3 300.00
16、0000 支出3 是否继续 y/n n press any key to continue c请选择:3 0.返回主菜单 1.添加一天的账户信息请选择:1旧的信息为: 2010 1 1 1000.000000 收入1 100.000000 支出1 2010 1 2 2000.000000 收入2 200.000000 支出2 2010 1 3 3000.000000 收入3 300.000000 支出3 请输入新的信息:2010 1 4 4000 收入4 400 支出4添加成功!新的信息为:2010 1 1 1000.000000 收入1 100.000000 支出1 2010 1 2 200
17、0.000000 收入2 200.000000 支出2 2010 1 3 3000.000000 收入3 300.000000 支出3 2010 1 4 4000.000000 收入4 400.000000 支出4 是否继续 y/n n press any key to continued请选择:4 请输入您要查询得日期:2010 1 1 0.返回主菜单 1.查询该天信息 请选择 12010 1 1 1000.000000 收入1 100.000000 支出1 是否继续 y/n n press any key to continue e请选择: 5 请输入你要统计的两个日期:2010 1 1
18、2010 1 3 0.返回主菜单 1.统计该段时间的收入金额2. 统计该段时间的支出金额3. 统计该段时间的余额 请选择 1. 6000.000000 2. 600.000000 3. 5400.000000是否继续 y/n n press any key to continue七附录1、源程序函数清单 主函数:f1 修改函数:f2删除函数:f3添加函数:f4查询函数:f5统计函数:f6主菜单函数:f7 2、源程序代码 f1.cpp: #includestdio.h#includestdlib.h#includestring.h#includef2.h#includef3.h#includef
19、4.h#includef5.h#includef6.h#includef7.hstruct people peoSIZE;int N=3;void main int i,a,b; char d110=收入1,d210=收入2,d310=收入3,e110=支出1,e210=支出2,e310=支出3; FILE *fp; /*输入三天的账户信息*/ peo0.year=2010;peo0.month=1;peo0.day=1; strcpy;peo0.get=1000; strcpy;peo0.out=100; peo0.leave=peo0.get-peo0.out; peo1.year=201
20、0;peo1.month=1;peo1.day=2; strcpy;peo1.get=2000;strcpy;peo1.out=200;peo1.leave=peo1.get-peo1.out; peo2.year=2010;peo2.month=1;peo2.day=3; strcpy;peo2.get=3000; strcpy;peo2.out=300; peo2.leave=peo2.get-peo2.out;/*把数据写入文件*/ fp=fopen;fori=0;iiffwrite&peoi,sizeof,1,fp!=1printf;exit; fclose;/*菜单选择功能*/ pr
21、intf; printf; printf; printf; printf; for printf;printf; scanf;printf;printf;scanf;printf; if printf;printf; f7; elseprintf; f2.cpp:#includestdio.h#includestdlib.h#includestring.h#includef2.h#includef3.h#includef4.h#includef5.h#includef6.h#includef7.hextern struct people peoSIZE;extern N;void f2int
22、b,i,n,flag=1;char c;FILE *fp;/*检查信息*/iffp=fopen=NULLprintf;exit;/*检查是否有该信息*/fori=0;ifread&peoi,sizeof,1,fp;ifn=i;break;ifprintf;printf;f7; /*进入修改程序*/ forprintf;printf;printf;printf;scanf; switch default:printf; break;case 0:f7; case 1:/修改收入来源fp=fopen;fread&peoi,sizeof,1,fp;printf;printf;printf;print
23、f;printf;printf;printf; fscanf;printf; scanf;printf; /修改收入金额printf; scanf;printf;/修改支出目的printf; scanf;printf;/修改支出金额printf; scanf;printf;peon.leave=peon.get-peon.out;printf;printf;printf;printf;printf;printf;printf;fori=0;iiffwrite&peoi,sizeof,1,fp!=1printf;exit;fclose; break; printf; scanf; if exit
24、;F3.cpp:#includestdio.h#includestdlib.h#includestring.h#includef2.h#includef3.h#includef4.h#includef5.h#includef6.h#includef7.hextern struct people peoSIZE;void f3int b,i,n,flag=1;extern N;char c;FILE *fp;iffp=fopen=NULLprintf;exit;/*检查是否有该信息*/fori=0;iif n=i; break;ifprintf;printf;f7; /*进入删除程序*/ for
25、 printf;printf; printf;printf; scanf;switchdefault:printf;break;case 0: f7; case 1:fp=fopen;printf; fori=0;i printf; printf; printf; printf; printf; printf; printf;fori=n;ifscanf; strcpy;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; strcp
26、y;peoi.leave=peoi+1.leave; printf;N=N-1;fori=0;iprintf日期 收入来源 收入金额 支出目的 支出金额 余额nprintf;printf;printf;printf;printf;printf;fori=0;iiffwrite&peoi,sizeof,1,fp!=1printf;exit;fclose;break; printf; scanf; if exit; f4.cpp:#includestdio.h#includestdlib.h#includestring.h#includef2.h#includef3.h#includef4.h#i
27、ncludef5.h#includef6.h#includef7.hextern struct people peoSIZE;extern N;void f4int i,b,n;char c;FILE *fp;iffp=fopen=NULLprintf;exit;forprintf;printf; printf;printf; scanf; switch default:printf;break;case 0:f7; case 1: /*进入添加程序*/fp=fopen;printf;fori=0;ifread&peoi,sizeof,1,fp; printf;printf;printf;pr
28、intf; printf;printf;printf;n=N; printf; scanf; printf; scanf; printf; scanf; peon.leave=peon.get-peon.out;N=N+1;printf;fori=0;iprintf;printf;printf;printf;printf;printf;printf; fp=fopen;fori=0;ifwrite&peoi,sizeof,1,fp;fclose;break; printf; scanf; if exit;f5.cpp:#includestdlib.h#includestring.h#inclu
29、def2.h#includef3.h#includef4.h#includef5.h#includef6.h#includef7.hextern struct people peoSIZE;extern N;void f5int b,i,n;char c;FILE *fp;iffp=fopen=NULLprintf;exit;/*检查是否有该信息*/fori=0;iif n=i; break;ifprintf;printf;f7;/*进入查询程序*/ for printf;printf; printf;printf; scanf; switchfread&peon,sizeof,1,fp; default:printf; break;case 0:f7; case 1:printf;printf;printf;printf;printf;print
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。