2022年个人财务管理软件用户手册.docx





《2022年个人财务管理软件用户手册.docx》由会员分享,可在线阅读,更多相关《2022年个人财务管理软件用户手册.docx(39页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精品学习资源个人财务治理软件报告目录一、需求分析 .22388911欢迎下载精品学习资源一、需求分析1. 第一个人的财务信息里包括收支日期,收入金额、支出金额仍有收入和支出的目的, 仍有账户余额; 由于是包括多个信息所以考虑到用结构体数组来储存这些信息,然后再把这些信息一起储存到文件中;2. 该软件需要有六个功能,第一是登录功能,必需输入正确的用户名和密码才能使用软件; 其次是收支记录的治理, 该部分包括添加功能, 删除功能和修改功能;第三是查询某天或某月的收支情形;第四是统计一段时间的信息;3. 后面的收支功能,查询功能和统计功能都是从文件中读取,读取后存到结构体数组中,然后再进行操作,操作
2、完后关闭文件,以免信息丢失;4. 当用户名和密码输入错误,会提示你输入错误,请重新输入;5. 假如是操作过程中输入错误,会回到最菜单重新操作;6. 运行时用户可以依据提示进行操作, 每进行一步操作, 就会有相应的提示;二概要分析1. 程序中储备个人每天的财务信息用的是结构体数组,其中结构体中包括: 日期(年月日),收入金额,支出金额,收入目的;struct peopleint year;/ 年份int month;/ 月份int day;/日期float get;/ 收入金额float out;/支出金额char motive100;/ 支出目的char source100;/ 收入来源flo
3、at leave;/ 余额2. 本程序各函数的结构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、中和执行登录功能;其他调用函数分别执行其他五大功能;三具体设计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;函数:startint i,a,bi=0iNny将信息存到文件中i+输入用户名和密码2、流程图main欢
5、迎下载精品学习资源进入修改函数 f2输 入 正确n进入删除函数 f3y菜单挑选函数 f7进入添加函数f4F7 函数进入查询函数 f5end进入统计函数 f63、基本操作的算法描述a) 登录功能:用户只有在输入正确的用户名和密码后才能进入系统进行欢迎下载精品学习资源操作;for;欢迎下载精品学习资源printf=请输入用户名和密码: =n; printf用户名 :;scanf%d,&a;/a表示用户名printfn;printf密码 :; /b表示密码scanf%d,&b;printfn;ifa=10202106&b=1 /输入和条件一样的情形下进入if语句中printf=恭喜输入正确,登录胜利
6、.=n; printf该软件中已存有 2021 年 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 .= 0switchflagdefault: p
7、rintf此选项不存在,请重新输入:n;break; case 1:f2x,y,z;/进入修改函数break; case 2:f3x,y,z;/进入删除函数break; case 3:f4;/ 进入添加函数break; case 4:f5x,y,z;/进入查询函数break; case 5:f6x,y,z,x1,y1,z1;/进入统计函数break;c) 修改功能:用户假如觉得储备的信息有问题,可以在此进行修改fp=fopenf:pan.txt,w+; fori=0;iN;i+fread&peoi,sizeofstruct people,1,fp; ifx=peoi.year&y=peoi.m
8、onth&z=peoi.dayn=i;/查看是否有该天的信息存在break;ifi=Nprintf没有该天信息 .n; printf请重新挑选 .n; f7;fread&peoi,sizeofstruct people,1,fp;/先从文件中读出printf 请输入新的收入来源 n; scanf%s,peon.source; printf请输入新的收入金额 n ) ; scanf%f,&peon.get; printf请输入新的支出目的 n; scanf%s,peon.motive;欢迎下载精品学习资源printf请输入新的支出金额 n; scanf%f,&peon.out; peon.lea
9、ve=peon.get-peon.out;/输入新的信息fori=0;iN;i+iffwrite&peoi,sizeofstruct people,1,fp.=1printf无法打开 .n; exit0;fclosefp;/把新的信息储备到文件当中,并关闭文件d) 删除功能:用户可以在此删除不需要的信息fp=fopenf:pan.txt,w+;/打开文件fori=0;iN;i+fread&peoi,sizeofstruct people,1,fp; ifx=peoi.year&y=peoi.month&z=peoi.dayn=i;/查看是否有该天的信息存在break;ifi=Nprintf没有
10、该天信息 .n; printf请重新挑选 .n;fori=n;iN;i+)fscanffp,%s,&peoi;/将文件中的信息存到数组结构体里strcpypeoi.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; strcpypeoi.motive,peoi+1.motive;peoi.leave=peoi+1.leave;/ 用后面的信息掩盖前面的信息N=N-1;/删除后信息削减
11、一组,所以N要减 1 fori=0;iN;i+iffwrite&peoi,sizeofstruct people,1,fp.=1欢迎下载精品学习资源printf无法打开 .n; exit0;fclosefp;/将现有信息重新存回到文件中e) 添加功能:用户可以在此添加新的账户信息fp=fopenf:pan.txt,rb;/先打开文件fread&peoi,sizeofstruct people,1,fp;/将文件信息存到结构体数组里n=N;/添加到结构体数组的末尾printf请输入新的信息日期: n;scanf%d %d %d,&peon.year,&peon.month,&peon.day;
12、printf请输入新的信息收入金额和收入来源:n; scanf%f %s,&peon.get,peon.source;printf请输入新的信息支出金额和支出目的:n; scanf%f %s,&peon.out,peon.motive;peon.leave=peon.get-peon.out; /输入新的信息到结构体中N=N+1;/添加了新的数据所以N的值加 1 fp=fopenf:pan.txt,wb;fori=0;iN;i+fwite&peoi,sizeofstruct people,1,fp;fclosefp;/将新的一组结构体信息写到文件里f) 查询功能:用户可以在此查询以前存有的账户
13、信息fopenf:pan.txt,r; fori=0;iN;i+fread&peoi,sizeofstruct people,1,fp; ifx=peoi.year&y=peoi.month&z=peoi.dayn=i;/查看是否有该天的信息存在break;ifi=Nprintf没有该天信息 .n; printf请重新挑选 .n; f7;fread&peon,sizeofstruct people,1,fp;/将数据存到结构体数组中printf收入来源收入金额支出目的支出金额余额n; printf%5s,peon.source;printf%3f,peon.get;欢迎下载精品学习资源prin
14、tf%5s,peon.motive;printf%5f ,peon.out;printf%3f ,peon.leave;/输出您要查询的该天信息fclosefp;/关闭文件防止信息丢失g) 统计功能:用户可以在此统计一段时间内的收入金额和支出金额fori=0;iN;i+fread&peoi,sizeofstruct people,1,fp; ifx=peoi.year&y=peoi.month&z=peoi.dayn=i;/查看是否有该天的信息存在break;ifi=Nprintf没有该天信息 .n; printf请重新挑选 .n;fori=0;iN;i+fread&peoi,sizeofst
15、ruct people,1,fp; ifx1=peoi.year&y1=peoi.month&z1=peoi.daym=i;/查看是否有该天的信息存在break;ifi=Nprintf没有该天信息 .n; printf请重新挑选 .n;假如存在该段时间信息,那么统计收入金额:ifnmfori=n,sum=0;i=m;i+sum+=peoi.get;printf%f,sum; fclosefp; break;欢迎下载精品学习资源elsefori=m,sum=0;i=n;i+sum+=peoi.get;printf%f,sum; fclosefp; break;假如统计支出金额,只需将peoi.g
16、et改为 peoi.out就行;3、各函数的调用关系图main函数f7()函数f2 函数f3 函数f4 函数f5 函数f6 函数欢迎下载精品学习资源四调试分析f7()函数欢迎下载精品学习资源1. 开头时没有将 N 定义为全局变量, 导致在添加函数中 N+1 后,其他函数中的 N 却没有转变,导致最终查询的信息不完整;2. 开头时没有将主菜单单独存到一个函数里面,这样就无法一次运行多个功能,最终将主菜单单独存到一个函数里以后, 就可以在运行完一个功能之后, 重新挑选,这样就可以在一次调试中,运行全部的功能模块,削减了许多麻烦;3. 第一次调试运行时,文件中没有储备任何的信息,所以每次进入都必需先
17、要输入肯定量的数据, 然后才能进行下面的操作, 后来加以改善, 先在文件中储备几天的账户信息,这样在运行时就可以直接进行查询,修改,删除等操作了;4. 第一次检查时,由于对文件的操作不是很娴熟,发觉了添加的数据并没有储备到文件之中,最终经过修正,加入了一个fwrite 将信息写到了文件里;五用户手册1 、本程序的运行环境为 DOS 操作系统,执行文件为 f1.dsw;2、 进入演示程序后,即显示对话形式的提示操作过程, 如:请输入用户名和密码,输入正确后便进入菜单挑选请输入你的选项,输入选项后,假如选项不存在,会提示你选项不存在,请重新挑选; 输入正确选项后,便会提示你输入日期;假如进入的是修
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 个人 财务管理 软件 用户手册

限制150内