
帐目管理系统的设计与实现.doc
59页目录 一 设计要求 …………………………………………………………… 2二 设计作用与目的 …………………………………………………… 2三 运行环境及工具软件 ……………………………………………… 23.1 硬件环境 ………………………………………………………… 33.2 软件环境 ………………………………………………………… 3四 系统设计 …………………………………………………………… 34.1 系统总体设计 ………………………………………………… 34.2 程序设计组成框图、流程图 ………………………………… 34.3 各模块具体设计 ……………………………………………… 54.3.1 主函数模块设计 ………………………………………… 54.3.2 创建函数模块 ………………………………………… 64.3.3 查看函数模块 ………………………………………… 84.3.4 开户函数模块 ………………………………………… 84.3.5 销户函数模块 ………………………………………… 104.3.6修改帐目函数模块 ……………………………………… 114.3.7 查询函数模块 ………………………………………… 12五 源程序设计 …………………………………………………………… 14六 实验调试结果 ………………………………………………………… 26七 设计中的问题及解决方法 …………………………………………… 29八 设计心得 …………………………………………………………… 29九 参考文献 …………………………………………………………… 30帐目管理系统的设计与实现一、 设计要求此处的账目管理是整个银行业务中的一小部分,主要包括借款、还款、存款业务。
同时,通过帐目管理系统的设计,运用计算机软件软件基础所学的知识,提高编程兴趣与编程思路,合理的运用资料,实现理论与实际相结合1) 为了管理账户,设置两个单链表:一是账户基本信息,包括账户的账号、姓名、身份证号、建账日期等信息;另一个是账户余额,包括账户的账号和当前余额两项数据2) 本程序能够执行账户的开户、借款、还款、存款、清户(删除)等操作,而且能够实现对账户信息的查询统计功能、按借款户的余额从大到小排序功能、按存款户的余额从大到小排序功能和按开户日期从小到大排序功能等3) 开新户时,用户只输入姓名、身份证号、金额、日期四个数据,由程序自动生成帐号并通知用户,并将相关数据同时插入上述两个链表中;(4) 余额为负数表示借款额,为正数表示存款额5) 能够按账号查询账户的基本信息和当前余额,能够列出最大借款额账户和最大存款额账户的基本信息和当前余额6) 程序能够统计当前帐户个数,当前借款总额、当前还款总额以及借款总额与存款总额的差额7)收集资料,全面分析课题,分解问题,形成总体编程思路;(8)深入分析各个小问题,编写各部分程序模块;(9)对于设计中用到的关键函数,要联系问题进行具体介绍;(10)上机调试,确保程序能正确运行,完成设计报告,并进行答辩。
二、设计作用与目的 (1)通过设计,强化C语言的运用及C语句的准确掌握; (2)通过设计,加强我们对计算机软件软件基础知识的理解和运用; (3)通过设计,掌握设计软件一般方法,了解软件设计的一般思路;(4)通过设计,锻炼撰写报告的水平三、运行环境及工具软件3.1 硬件环境设备:采用Intel 应用服务器运行时内存要求:1MB;安装所需硬盘:2MB;3.2 软件环境操作系统:Windows 2000/XPista工具软件:MyTC四、系统设计4.1 系统总体设计此银行帐目管理系统包括六个模块,分别为创建一个空账目、显示账目信息、添加新账目、删除账目信息、修改账目信息、查找所需账目信息其中添加新账目包含姓名、身份证号、金额、日期四个数据的输入修改账目信息还包含了借款、存款、取款功能查询功能包含查询所存有的账户个数、查询最大存款户、查询最大借款户功能模块图如图1所示 银行帐目管理系统删除账目显示账目信息创建空账目查找账目修改账目添加账目姓名最大存款户账户个数取款存款借款最大借款户日期金额身份证号码图1银行帐目管理系统模块图4.2 程序设计组成框图、流程图开始功能选择进行显示账目进行修改账目进行删除账目进行添加账目初始界面创建新号显示账目添加账目删除账目修改账目查询账目结束退出系统进行创建新号进行查询账目NNNNNNNYYYYYYY图2 主程序流程图,《帐目管理系统的设计与实现》操作流程 4.3 各模块具体设计本程序按要求设计一个账目管理系统,编译器为:myTC。
程序源文件名为zhangmu.c程序入口为main()函数:先由fopen()函数创建一个存储账目信息的文档:fopen("D:\\account.txt","r+");由于进行的“r+“操作,首先在D盘创建一个account.txt文件4.3.1 主函数模块设计主函数用到函数为:fopen(打开文件) 相关函数 open,fclose表头文件 #include
若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留由于Dos窗口显示有限,所以限制账目数量为15个本程序包含6大功能模块:0- 创建一个空账目;1- 显示账目信息;2- 添加新账目;3- 删除账目信息;4- 修改账目信息;5- 查找所需账目信息;6- 推出程序;为了管理账户,设置两个单链表:一是账户基本信息,包括账户的账号、姓名、身份证号、建账日期等信息;另一个是账户余额,包括账户的账号和当前余额两项数据本程序只创建了一个单链表:struct bankdata{ /*定义一个结构体*/int num; /*账户的账号*/char name[20]; /*姓名*/char person_num[19]; /*身份证号*/float balance; /*金额*/int establishtime; /*日期*/}所以在对账户的余额的操作功能上有教大的欠缺,日后定将进一步完善此项功能4.3.2 创建函数模块0- create(FILE *ptr)/*创建具有结构体的空文档*/struct bankdata data={-1,"NONAME","NONUM",0,0};对结构体进行初始化操作,即创建一个空账目。
for(num=0;num<=15;num++){} 通过for循环限制账目数量本功能模块用到的函数有:fseek(移动文件流的读写位置) 相关函数 rewind,ftell,fgetpos,fsetpos,lseek表头文件 #include
附加说明 fseek()不像lseek()会返回读写位置,因此必须使用ftell()来取得目前读写的位置fwrite(将数据写至文件流) 相关函数 fopen,fread,fseek,fscanf表头文件 #include
参数stream为已打开的文件指针,参数ptr 指向欲存放读取进来的数据空间,读取的字符数以参数size*nmemb来决定Fread()会返回实际读取到的nmemb数目,如果此值比参数nmemb 来得小,则代表可能读到了文件尾或有错误发生,这时必须用feof()或ferror()来决定发生什么情况返回值 返回实际读取到的nmemb数目4.3.4 开户函数模块2- add(FILE *ptr)/*添加一个帐目*/添加账目,输入用户操作, 程序设计要求:开新户时,用户只输入姓名。












