C语言个人账簿管理系统报告

上传人:飞*** 文档编号:53092294 上传时间:2018-08-28 格式:PDF 页数:33 大小:924.61KB
返回 下载 相关 举报
C语言个人账簿管理系统报告_第1页
第1页 / 共33页
C语言个人账簿管理系统报告_第2页
第2页 / 共33页
C语言个人账簿管理系统报告_第3页
第3页 / 共33页
C语言个人账簿管理系统报告_第4页
第4页 / 共33页
C语言个人账簿管理系统报告_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《C语言个人账簿管理系统报告》由会员分享,可在线阅读,更多相关《C语言个人账簿管理系统报告(33页珍藏版)》请在金锄头文库上搜索。

1、程序设计课程设计程 序设 计 课 程 设 计 报 告( 2012- 2013年度第 2 学期) 个人账簿管理系统的设计专业软件工程学生姓名班级软件 121 学号指导教师完成日期2013.7.4 个人账簿管理系统目录1 概述. 11.1课程设计目的 . 11.2 课程设计内容 1 2 系统需求分析 . 12.1 系统目标 12.2 主体功能 12.3 开发环境 DEVC+ 2 3 系统概要设计 . 23.1 系统的功能模块划分 23.2 系统流程图 2 4 系统详细设计 . 44.1 个人账簿管理系统主函数前常变量定义和函数声明 44.2 个人账簿管理系统主函数 44.3 个人账簿管理系统注册函

2、数、登陆函数和正常退出函数(Quit) . 54.4 个人账簿管理系统主菜单函数和查找子菜单函数 54.5 个人账簿管理系统录入收支模块 64.6 个人账簿管理系统查询模块 64.7 个人账簿管理系统修改数据模块 74.8 个人账簿管理系统排序模块 74.9 个人账簿管理系统帮助说明 7 5 测试. 75.1 测试方案 75.2 测试结果 7 6 小结 . 13 参考文献 14 附录 15 附录 1 源程序清单 15附录 1.1 个人账簿管理系统主函数前声明 15附录 1.2 个人账簿管理系统注册、登陆和退出 16附录 1.3 个人账簿管理系统菜单和子菜单函数 19附录 1.4 个人账簿管理系

3、统收支录入和写入文件 25附录 1.5 个人账簿管理系统查找函数. 26附录 1.6 个人账簿管理系统移除记录函数. 29附录 1.7 个人账簿管理系统排序函数. 29附录 1.8 个人账簿管理系统说明函数. 301 个人账簿管理系统的设计1 概述1.1 课程设计目的1).加深对 C语言程序设计课程知识的理解,掌握C语言应用程序的开发方法和步骤;2).进一步掌握和利用C语言进行设计的能力;3).进一步理解和运用结构化程序设计的思想和方法;4).初步掌握开发一个小型实用系统的基本方法;5).学会调试一个较长程序的基本方法;6).学会利用流程图或N-S图表示算法;7).掌握书写程序设计开发文档的能

4、力(书写课程设计报告)。1.2 课程设计内容(1) 根据分组情况单独完成规定的设计内容;(2) 源程序要有适当的注释,使程序容易阅读;(3) 至少采用文本菜单界面(如果能采用图形菜单界面更好);(4) 学生可自动增加新功能模块(视情况可另外加分);(5) 写出课程设计报告,具体要求见相关说明文档。2 系统需求分析2.1 系统目标1) 实现个人账簿管理系统的基本功能。包括: 记录某人每月全部收入和开支情况。进入系统后可以增加、删除修改记录,可以提供查询和支出排序功能2) 对系统进行扩充,实现多人账户,通过输入用户名和密码形式登陆之后才进行系统操作3) 对系统进一步扩充,细化各功能模块。3) 美化

5、界面,使使用界面更加人性化,使用更方便。2.2 主体功能1) 增加一条收支记录,记录某人某月收支情况2) 查询本系统所有用户的全部收支信息3) 修改某人某月的收支记录4) 删除某人某月的收支记录个人账簿管理系统5) 输入条件进行查找收支记录6) 删除一条收支记录7) 系统说明可查看功能结构以及制作者2.3 开发环境 DEVC+ 3 系统概要设计3.1 系统的功能模块划分1) 注册用户和登陆用户:a 注册:输入正确管理员指令才可注册,否则警告并返回原界面。b 登陆:输入正确的用户名和密码进入个人账簿管理系统主功能界面。2) 主功能界面 (登陆后才可进入 ):a 录入账目:录入后写数据进“allu

6、serinfo.dat” 文件b 查看所有 (需要先输入管理员权限 ) c 修改数据:输入月份,修改该月收支记录d 查找数据:分为精确查找和按用户查找两类e 排序收支:先输入月份,对某月全部开支进行排序f 删除记录:先确定要删除的月份再删除g 系统说明3.2 系统流程图关于本系统流程图的简要说明:1) 首先定义了三个结构体变量, 分别是 US用户密码信息结构体, Bill 开支记录结构体和 Sort 不同类型开支的结构体, 在宏定义中设置了管理员权限指令和最大用户名,最大密码长度以及三个文件路径以供本系统存储、查找、调用2) 主函数包括了登陆函数 (Loadin)、注册函数 (Register

7、)和正常退出函数 (Quit)。注册函数:如果输入正确指令将注册。注册成功后进入登陆函数,指令错误警告并返回最初界面3) 登陆函数:如果登陆失败警告并返回原界面;登陆成功则进入菜单函数(Menu) 菜单函数主要包括录入账目(Input 函数和 IriteFile 函数)、查看所有( FindAll函数)、修改数据(SearchSingle函数,Remove函数,Input 函数,WriteFile 函数)、精确查找 (SearchSingle函数) 、 按用户查找(SearchUser函数) 、 单月排序 (SearchSingle函数,Sort 函数)、删除数据( SearchSingle函

8、数,Remove函数)、系统说明( Help函数)、正常退出( Quit 函数)3 1 注册2.登陆N Y 图 3-2 系统流程图1 录 入 数 据2 查 看 所 有3 修 改 数 据4 查 找 数 据5 排 序 数 据6 删 除 数 据7 系 统 说 明0 返 回 菜 单0.退出正确指 令个人账簿管理系统主函数结束个人账簿管理系统4 系统详细设计4.1 个人账簿管理系统主函数前常变量定义和函数声明1)定义三个结构体变量结构体Typedef struct US Typedef struct Sort Typedef struct Bill 2)定义常变量常变量声明#define MAXNAME

9、 10 #define MAXPASSWORD 10 #define SECRET “个人账簿管理系统 “ #define Fpath1 “alluserinfo.dat“ #define Fpath2 “usersecret.txt“ #define Fpath3 “peruserinfo.dat“ 3)函数声明void Quit(); void Register(); void Loadin(); void Menu(Bill *q); void Input(Bill* q); void FindAll(); void WriteFile(Bill *q); int SearchSingl

10、e(Bill *q); void Remove(Bill *q); int SearchMenu(Bill *q); void sort(Bill *q); / 排序单个用户每月开支,需要参数传递用户名void Help(); void SearchUser(Bill *q); 4.2 个人账簿管理系统主函数主函数包含在 while(1)循环中,每次子函数结束返回都继续执行循环。主函数中包含 switch 结构,根据用户选择的1,2或者 0 执行下面相应函数。如果用户输入错误则显示输入错误,并提示重新选择。详见源程序清单5 4.3 个人账簿管理系统注册函数、登陆函数和正常退出函数(Quit)

11、Register函数中,如果输入正确指令就显示可以注册,等待用户输入用户名和密码,将用户名和密码写入“usersecret.txt”文件中,然后关闭文件,显示注册成功,返回原来的“注册登陆退出界面”;若用户未输入正确的指令,就警告没有注册权限,警告,然后等待Sleep(2000) 后自动跳转到的登陆函数。Loadin 函数:函数主功能从这里开始, 如果用户根据提示输入的用户名和密码跟“usersecret.txt”文件中某一个US结构体长度的内容完全一样,就显示登陆成功,并进入 Menu菜单函数。如果不能与usersecret.txt中的某一个 US结构体匹配,则警告并返回原“登陆注册退出界面

12、”。Quit 函数:显示正在退出本系统然后退出4.4 个人账簿管理系统主菜单函数和查找子菜单函数Menu函数是本系统的主功能菜单函数,首先在屏幕上列出各子功能, 然后提示用户选择。根据用户选择执行相应的函数。其中,选择2 查看所有,将要求先输入正确管理员指令才能查看所有用户信息,否则返回主功能菜单;选择4 将进入查找子菜单函数,子菜单函数也提供了两种不同的查询方式,分别是精确查找和按用户查找。由于 Menu函数在上层的 Loadin 函数中以 while(1)形式构建,所以无论选了哪个选择,执行完相应选择的函数后都将重新执行Menu函数,即清屏(system( “cls ”) ), 然后屏幕显

13、示 8 个功能选项。下面是主功能模块的流程图。个人账簿管理系统4-4 主功能流程图4.5 个人账簿管理系统录入收支模块首先,用 Input 输入函数来输入一条月收支记录,按EXIT输入结束然后,用 WriteFile 写入数据进 Fpath1,即“alluserinfo.dat”文件。写入后屏幕显示数据已经成功写入写入数据后清屏,跳转界面到原来的主功能菜单界面4.6 个人账簿管理系统查询模块查询功能分三个子功能,分别是查询所有用户信息功能、已登陆用户输入月精确查找和查询该用户全部收支记录。查询所有用户信息需要输入正确的管理员指令才可以查询(指令在宏定义中定义了,为 “ 个人账簿管理系统 ” )

14、主功能菜 单录 入 数 据查 找 数 据修 改 数 据查 看 所 有删 除 记 录单 月 排 序系 统 说 明精 确 查 找按 用 户 查返回主菜 单7 输入月份精确查找,用SearchSingle函数返回整型数据到原来位置,再根据返回值确定是否找到,找到就输出,找不到就警告并跳转界面。之所以带回返回值是因为要先在 SearchSingle 函数中关闭因查找而打开的二进制“alluserinfo.dat”文件查询该用户所有信息,用SearchUser函数4.7 个人账簿管理系统修改数据模块用到四个函数:先精确查找(SearchSingle函数),再移除( Remove函数),再输入( Inpu

15、t 函数),再写入数据保存(WriteFile 函数)4.8 个人账簿管理系统排序模块先用精确查找函数确定要排序的月份(SearchSingle函数),再用 sort 函数排序4.9 个人账簿管理系统帮助说明Help 函数,主要功能是介绍本系统功能以及制作者5 测试5.1 测试方案测试分为黑盒测试和白盒测试,本课程设计将对本系统进行黑盒测试中的功能测试。5.2 测试结果a) 注册界面注册界面如图 5-1 所示:图 5-1 注册界面个人账簿管理系统b) 登陆界面登陆时,用户名和密码正确,如图5-2-1 图 5-2-1 登陆界面 a 登陆时,用户名和密码错误,如图5-2-2 图 5-2-2 登陆界

16、面9 c) 主菜单主菜单界面如图 5-3:图 5-3 主菜单界面d) 录入数据录入数据界面如图5-4 图 5-4 录入账单界面个人账簿管理系统e) 修改数据:修改用户月收支记录如图5-6 图 5-6 修改收支记录11 f) 查看所有用户信息查看所有用户收支信息如图5-7 所示图 5-7 查看所有用户信息个人账簿管理系统g) 帮助文件: 系统说明、帮助文件如图5-8 所示图 5-8 系统说明文件13 6 小结这两周的课程设计,我收获了很多,再一次深刻意识到,实践对于我们软件工程专业的重要性。书本知识背的再多,会应用才是真的有效。虽然我们要学很多程序设计语言,会面临很多语法混淆的状况,这些都很重要。但最最重要的还是面对现实问题时果断清晰地思维。软件设计必须要在所有工作开始之前构思框架,然后慢慢的戏份,最后优化界面等。因此我明白了到在今后的学习中,重视思维,多考虑方向,重视解决方案;同时要不断尝试之前构思的想法,试错然后改错,这样才有更多设计经验。所有意外的错误都是我个人本身的错误,出现任何error 和警告都可以通过我自己改代

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

当前位置:首页 > 商业/管理/HR > 其它文档

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