C语言程序的设计个人财务管理系统方案Word格式文档下载.docx
- 文档编号:13542754
- 上传时间:2022-10-11
- 格式:DOCX
- 页数:20
- 大小:54.86KB
C语言程序的设计个人财务管理系统方案Word格式文档下载.docx
《C语言程序的设计个人财务管理系统方案Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C语言程序的设计个人财务管理系统方案Word格式文档下载.docx(20页珍藏版)》请在冰豆网上搜索。
2.1系统总框图
2.2功能模块说明
(1)old_record():
此函数由系统自行调用,作用是将所有用户信息存入系统。
(2)voidsave():
此函数的作用是将结构体数组中的信息写入文件存储,由系统调用。
(3)load():
此函数的作用是将结构体数组中写入文件的信息读出,由系统调用。
(4)lookup_accounts():
此函数的作用是将用户输入的与系统中的所有进行对比,查看系统中是否有此。
(5)check_code():
此函数是作用是在系统查询到了之后,对用户输入的和密码进行检验,看是否相对应。
(6)print_message():
此函数的功能是在系统检查了用户输入的和密码之后,如果用户通过了系统的检查,在此显示用户可见的基本信息。
(7)find_record():
此函数的作用是根据用户输入的日期进行查找操作。
(8)insert_record():
此函数的功能是在记录中增加一条新的记录,这个记录由用户输入。
(9)del_record():
此函数的功能是根据用户的输入的位置,将相应位置的记录删除。
(10)sum_num():
此函数的功能是计算所有收入和支出的总和,计算全部的收入的总合,计算全部输出的总合。
(11)打印输出记录的函数:
在本程序中一共有三个打印输出记录的函数,分别为all_print()、acc_print()、pay_print()这三个函数。
它们的功能依次是打印输出全部记录,打印输出输入记录,打印输出支出记录。
(12)mian():
在主函数中,可以根据用户的选择来操作系统允许用户使用的功能,也可以随时退出这个系统。
3系统设计
3.1主要结构体
个人信息
账户信息
3.2主要功能函数
old_record()//将所有用户信息存入系统
print_message()//显示用户可见的基本信息
sum_num()//计算所有收入和支出的总和
all_print()、acc_print()、pay_print()//打印输出全部记录,打印输出输入记录,打印输出支出记录
4系统调试
4.1、程序开始执行时系统的所显示的页面:
4.2、选择退出系统:
4.3、选择登陆,并且输入的和密码都正确:
4.4、用户输入的不正确:
4.5、用户输入的正确,密码不正确:
4.6、用户进行具体操作:
5总结
本程序在编写是,主要就是基于用户的角度去分析该如何设计此程序,和编写功能模块的。
在编写程序时,所有的数据都是对结构体进行的操作,在此过程中,我发现了自己在对指针操作的时候,尤其是对指向结构体数组的指针和指向结构体的指针的操作都不够熟练。
但在编写完此程序之后,我感觉自己对语法的应用有了明显的提高。
6源程序清单
#include<
stdio.h>
string.h>
#definenull0
#definemax20
#defineok1
structrecord{
chardate[20];
charoperate[20];
intnum;
};
structlist_record{
characcount[20];
charcode[20];
charname[20];
intrec_len;
structrecordrec[max];
}r[max];
//系统原有数据,用户不可知
intold_record(structlist_recordr[])
{
inti;
for(i=0;
i<
3;
i++)
r[i].rec_len=4;
strcpy(r[0].account,"
1001"
);
strcpy(r[1].account,"
1002"
strcpy(r[2].account,"
1003"
strcpy(r[0].code,"
111111"
strcpy(r[1].code,"
222222"
strcpy(r[2].code,"
333333"
strcpy(r[0].name,"
wang"
strcpy(r[1].name,"
li"
strcpy(r[2].name,"
zhang"
strcpy(r[0].rec[0].date,"
07-01-01"
strcpy(r[0].rec[1].date,"
07-02-01"
strcpy(r[0].rec[2].date,"
07-03-01"
strcpy(r[0].rec[3].date,"
07-04-01"
strcpy(r[1].rec[0].date,"
07-01-02"
strcpy(r[1].rec[1].date,"
07-02-02"
strcpy(r[1].rec[2].date,"
07-03-02"
strcpy(r[1].rec[3].date,"
07-04-02"
strcpy(r[2].rec[0].date,"
07-01-03"
strcpy(r[2].rec[1].date,"
07-02-03"
strcpy(r[2].rec[2].date,"
07-03-03"
strcpy(r[2].rec[3].date,"
07-04-03"
strcpy(r[0].rec[0].operate,"
in"
strcpy(r[0].rec[1].operate,"
out"
strcpy(r[0].rec[2].operate,"
strcpy(r[0].rec[3].operate,"
strcpy(r[1].rec[0].operate,"
strcpy(r[1].rec[1].operate,"
strcpy(r[1].rec[2].operate,"
strcpy(r[1].rec[3].operate,"
strcpy(r[2].rec[0].operate,"
strcpy(r[2].rec[1].operate,"
strcpy(r[2].rec[2].operate,"
strcpy(r[2].rec[3].operate,"
r[0].rec[0].num=3000;
r[0].rec[1].num=-1500;
r[0].rec[2].num=2500;
r[0].rec[3].num=-1000;
r[1].rec[0].num=-3000;
r[1].rec[1].num=5000;
r[1].rec[2].num=-1000;
r[1].rec[2].num=2000;
r[2].rec[0].num=1000;
r[2].rec[1].num=-1500;
r[2].rec[2].num=3000;
r[2].rec[2].num=-500;
returnok;
}
//将数据写入文件
voidsave()
{FILE*fp;
if((fp=fopen("
wenjian"
"
wb"
))==null)
{printf("
cannotopenthefile.\n"
return;
}
max;
if(fwrite(&
r[i],sizeof(structlist_record),1,fp)!
=1)
printf("
filewriteerror.\n"
fclose(fp);
//文件读出
voidload()
rb"
cannotopeninfile.\n"
if(fread(&
{if(feof(fp))
(fclose(fp));
//将用户输入的与系统中原有比较,查找用户
intlookup_accounts(structlist_recordr[],characc[])
if(strcmp(r[i].account,acc)==0)
{
不存在,请重新输入!
\n"
returnnull;
//检查密码函数
structlist_recordcheck_code(structlist_recordr[],characc[],charc[])
structlist_recorda;
strcpy(a.account,"
0"
strcpy(a.code,"
a.rec_len=0;
a.rec_len;
{
strcpy(a.rec[i].date,"
strcpy(a.rec[i].operate,"
a.rec[i].num=0;
if(strcmp(r[i].code,c)==0)
returnr[i];
thecodeiswrong,pleaseinputagain!
returna;
//显示用户基本信息
voidprint_message(structlist_record*p)
{printf("
:
%s\n"
p->
name);
(*p).account);
//根据用户输入的日期,查找记录
intfin
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 程序 设计 个人 财务管理 系统 方案