




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
程序设计工程训练 报告 C 语言程序设计个人财务管理系统 课程名称 C 语言程序设计工程训练 姓 名 院 系 信息科学与技术学院 专业班级 学 号 指导教师 教务处制 目目 录录 1 需求分析 1 2 系统总框图和功能模块说明 1 2 1 系统总框图 1 2 2 功能模块说明 1 3 系统设计 2 3 1 主要结构体 2 3 2 主要功能函数 2 4 系统调试 3 4 1 程序开始执行时系统的所显示的页面 3 4 2 选择退出系统 3 4 3 选择登陆 并且输入的帐号和密码都正确 3 4 4 用户输入的帐号不正确 4 4 5 用户输入的帐号正确 密码不正确 4 4 6 用户进行具体操作 5 5 总结 6 6 源程序清单 6 1 1 需求分析 编写一个个人财政支出管理系统 主要解决的问题是作为一个系统而言 它所要 面对不只是某一个人而言 而是要面对很多的用户 那么想要解决这一问题 就必 须要求这个系统能够存储许多用户的基本信息和记录 同时也要求系统能够对不同 的用户的身份进行查找和验证 在验证通过之后 在对其进行用户所要求的操作 作为一个财政支出系统 那么就要求对于用户关于金钱的每一项操作都要有相应 的记录 同时并允许用户对于每一条整体的记录进行操作 例如可以根据时间来查 找某一确定日期是否进行了收入或者支出的操作 也可以根据特定的需要来删除某 一条整体的记录 但不允许对每条记录的单项数据进行更改 因为不管是收入还是 支出 所涉及的金额都是固定的 时间也是固定的 所以系统不允许用户对其进行 操作 除此之外 还必须有足够大的空间来存储新的记录 所以此程序就是基于这 个思想而编写出来的 基本满足了用户对于一个财政支出管理系统所要求的相关功 能 2 系统总框图和功能模块说明 2 1 系统总框图 个人财务管理系统个人财务管理系统 输 入 个 人 信 息 比 对 个 人 信 息 修 改 账 户 资 料 查 询 账 户 信 息 输 出 账 户 清 单 2 2 功能模块说明 1 old record 此函数由系统自行调用 作用是将所有用户信息存入系统 2 void save 此函数的作用是将结构体数组中的信息写入文件存储 由系统 调用 3 load 此函数的作用是将结构体数组中写入文件的信息读出 由系统调 用 2 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 打印输出全部记录 打 印输出输入记录 打印输出支出记录 3 4 系统调试 4 1 程序开始执行时系统的所显示的页面 4 2 选择退出系统 4 3 选择登陆 并且输入的帐号和密码都正确 4 4 4 用户输入的帐号不正确 4 5 用户输入的帐号正确 密码不正确 5 4 6 用户进行具体操作 6 5 总结 本程序在编写是 主要就是基于用户的角度去分析该如何设计此程序 和编写功 能模块的 在编写程序时 所有的数据都是对结构体进行的操作 在此过程中 我 发现了自己在对指针操作的时候 尤其是对指向结构体数组的指针和指向结构体的 指针的操作都不够熟练 但在编写完此程序之后 我感觉自己对语法的应用有了明 显的提高 6 源程序清单 include include define null 0 define max 20 define ok 1 struct record char date 20 char operate 20 int num struct list record char account 20 char code 20 char name 20 int rec len struct record rec max r max 系统原有数据 用户不可知 int old record struct list record r 7 int i 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 in strcpy r 0 rec 3 operate out strcpy r 1 rec 0 operate out strcpy r 1 rec 1 operate in 8 strcpy r 1 rec 2 operate out strcpy r 1 rec 3 operate in strcpy r 2 rec 0 operate in strcpy r 2 rec 1 operate out strcpy r 2 rec 2 operate in strcpy r 2 rec 3 operate out 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 return ok 将数据写入文件 void save FILE fp int i if fp fopen wenjian wb null printf can not open the file n return for i 0 i max i 9 if fwrite fclose fp 文件读出 void load FILE fp int i if fp fopen wenjian rb null printf can not open infile n return for i 0 i max i if fread return fclose fp 将用户输入的帐号与系统中原有帐号比较 查找用户帐号 int lookup accounts struct list record r char acc int i for i 0 i 3 i if strcmp r i account acc 0 return ok 10 printf 帐号不存在 请重新输入 n return null 检查密码函数 struct list record check code struct list record r char acc char c int i struct list record a strcpy a account 0 strcpy a code 0 a rec len 0 for i 0 i a rec len i strcpy a rec i date 0 strcpy a rec i operate 0 a rec i num 0 for i 0 iname printf 帐号 s n p account 根据用户输入的日期 查找记录 int find record struct list record p char d int i for i 0 i p rec len i if strcmp p rec i date d 0 printf date operate money n printf s p rec i date printf s p rec i operate printf d n p rec i num return ok if i p rec len printf the date is not exit n return null 插入函数 根据用户输入的信息 增加记录 int insert record struct list record p struct record p1 int lop int i if lop p rec len 1 12 printf the position is wrong n return 0 else for i p rec len i lop 1 i strcpy p rec i date p rec i 1 date strcpy p rec i operate p rec i 1 operate p rec i num p rec i 1 num strcpy p rec i date p1 date strcpy p rec i operate p1 operate p rec i num p1 num p rec len return ok 删除记录函数 int del record struct list record p int lop2 int i if lop2 p rec len printf the position is wrong n return null else 13 for i lop2 1 i p rec len 1 i strcpy p rec i date p rec i 1 date strcpy p rec i operate p rec i 1 operate p rec i num p rec i 1 num p rec len return ok 输出全部记录函数 void all print struct list record p int i printf date operate num n for i 0 i p rec len i printf s p rec i date printf s p rec i operate printf d p rec i num printf n 计算总的钱数 int sum num struct list record p int i int sum 0 int sum in 0 14 int sum out 0 for i 0 i0 sum in p rec i num if p rec i num 0 sum out p rec i num printf 总金额为 d n sum printf 总收入为 d n sum in printf 总支出为 d n sum out return ok 输出收入记录 int acc print struct list record p int i int sum acc 0 printf date operate num n for i 0 i0 sum acc p rec i num printf s p rec i date printf s p rec i operate printf d p rec i num printf n 15 printf 总收入金额为 d n sum acc return ok if sum acc 0 printf there is no account n return null 输出支出记录 int pay print struct list record p int i int sum pay 0 printf date operate num n for i 0 irec len i if p rec i num 0 sum pay p rec i num printf s p rec i date printf s p rec i operate printf d p rec i num printf n printf 总的支出为 d n sum pay return ok if sum pay 0 printf there is no payout n return null void main int j 0 n 0 16 int x k lop1 lop2 char data1 20 char accou 20 cod 20 struct record p0 struct record a struct list record b struct list record p b rec len 0 p0 old record r save load printf 欢迎使用个人财政支出管理系统 n printf n printf n printf 1 登陆系统 n printf 2 退出系统 n printf n printf n scanf d if x 0 printf 感谢您使用本系统 再见 n else do printf 请输入帐号 while j 3 scanf s accou if lookup accounts r accou 17 printf 请输入密码 while j3 scanf s cod n while n 3 if n 3 printf 您的密码不正确 请退出系统 谢谢使用 再见 n break else printf 请选择您要进行的操作 n printf n while j
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 摔伤安全知识培训
- 摇床设备基础知识培训课件
- 细胞转染技术试题及答案
- 2025抵押合同的详解与法律效力
- 2025年动态主机代理合作协议模板
- 2025关于租赁中介合同范本
- 《2025年合同到期不续签为何要向员工支付补偿?》
- 2025关于设备租赁担保合同
- 2025非全日制用工劳动合同书模板
- 搜课件的步骤
- 危急值报告制度培训考核试题
- 浙江粉煤灰钢板仓施工方案
- 产前检查与孕期保健
- 《临床医学概论》-第二版课件
- 个人退款申请书范文
- 2025年云南能投新能源产业园区投资开发有限公司招聘笔试参考题库附带答案详解
- 第十章《浮力》达标测试卷(含答案)2024-2025学年度人教版物理八年级下册
- 《基础医学概论》课程标准
- 涉密项目保密风险评估及防控措施
- 从临床到教育儿童中医课程的开发与推广汇报
- 第六单元碳和碳的氧化物
评论
0/150
提交评论