




已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
精品文档 1欢迎下载 程序设计工程训练 报告 C 语言程序设计个人财务管理系统 课程名称 C 语言程序设计工程训练 姓 名 院 系 信息科学与技术学院 专业班级 学 号 指导教师 教务处制 精品文档 2欢迎下载 目目 录录 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 精品文档 11欢迎下载 1 需求分析 编写一个个人财政支出管理系统 主要解决的问题是作为一个系统而言 它所要 面对不只是某一个人而言 而是要面对很多的用户 那么想要解决这一问题 就必 须要求这个系统能够存储许多用户的基本信息和记录 同时也要求系统能够对不同 的用户的身份进行查找和验证 在验证通过之后 在对其进行用户所要求的操作 作为一个财政支出系统 那么就要求对于用户关于金钱的每一项操作都要有相应 的记录 同时并允许用户对于每一条整体的记录进行操作 例如可以根据时间来查 找某一确定日期是否进行了收入或者支出的操作 也可以根据特定的需要来删除某 一条整体的记录 但不允许对每条记录的单项数据进行更改 因为不管是收入还是 支出 所涉及的金额都是固定的 时间也是固定的 所以系统不允许用户对其进行 操作 除此之外 还必须有足够大的空间来存储新的记录 所以此程序就是基于这 个思想而编写出来的 基本满足了用户对于一个财政支出管理系统所要求的相关功 能 2 系统总框图和功能模块说明 2 1 系统总框图 个人财务管理系统个人财务管理系统 输 入 个 人 信 息 比 对 个 人 信 息 修 改 账 户 资 料 查 询 账 户 信 息 输 出 账 户 清 单 2 2 功能模块说明 1 old record 此函数由系统自行调用 作用是将所有用户信息存入系统 2 void save 此函数的作用是将结构体数组中的信息写入文件存储 由 系统调用 3 load 此函数的作用是将结构体数组中写入文件的信息读出 由系统调 精品文档 22欢迎下载 用 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 打印输出全部记 录 打印输出输入记录 打印输出支出记录 精品文档 33欢迎下载 4 系统调试 4 1 程序开始执行时系统的所显示的页面 4 2 选择退出系统 4 3 选择登陆 并且输入的帐号和密码都正确 精品文档 44欢迎下载 4 4 用户输入的帐号不正确 4 5 用户输入的帐号正确 密码不正确 精品文档 55欢迎下载 4 6 用户进行具体操作 精品文档 66欢迎下载 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 精品文档 77欢迎下载 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 精品文档 88欢迎下载 strcpy r 1 rec 1 operate in 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 精品文档 99欢迎下载 for i 0 i max i 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 精品文档 1010欢迎下载 if strcmp r i account acc 0 return ok 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 插入函数 根据用户输入的信息 增加记录 精品文档 1212欢迎下载 int insert record struct list record p struct record p1 int lop int i if lop p rec len 1 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 精品文档 1313欢迎下载 printf the position is wrong n return null else 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 精品文档 1414欢迎下载 计算总的钱数 int sum num struct list record p int i int sum 0 int sum in 0 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 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 精品文档 1616欢迎下载 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 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 退出系统 精品文档 1717欢迎下载 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 printf 请输入密码 while j3 scanf s cod n while n 3 if n 3 printf 您的密码不正确 请退出系统 谢谢使用 再见 n break 精品文档 1818欢迎下载 else printf 请选择您要进行的操作 n printf n while j0 if k 10 精品文档 1919欢迎下载 printf 感谢您使用本系统 再见 n if k 2 printf 请输入您要查询的日期 scanf s data1 fin
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025北京海淀区中国电建集团海外投资有限公司招聘4人模拟试卷附答案详解(突破训练)
- 2025年度崇明区村居事务工作者校园招录8人考前自测高频考点模拟试题及答案详解(名师系列)
- 2025广西贵港桂平市江口中心卫生院招聘3人模拟试卷及参考答案详解一套
- 2025年赣州市信丰县招募三支一扶人数≥40人考前自测高频考点模拟试题及答案详解(有一套)
- 2025贵州普定县自然资源局招聘城镇公益性岗位人员模拟试卷及一套完整答案详解
- 2025年甘肃农业大学招聘工作人员模拟试卷及答案详解(新)
- 2025年河北雄安新区新建片区学校公开选聘教职人员102名考前自测高频考点模拟试题及1套完整答案详解
- 2025广东韶关市新丰县招聘暨选聘公办教师30人(编制)考前自测高频考点模拟试题(含答案详解)
- 2025年海口市直属教师招聘153人模拟试卷(含答案详解)
- 2025北京第三实验学校招聘22人考前自测高频考点模拟试题及答案详解一套
- 《建筑电气安装》课件
- 《山东省房屋市政施工安全监督要点》及《安全监督“二十要”》2025
- 2025年湖南环境生物职业技术学院单招职业技能考试题库带答案
- 生物安全管理体系文件
- 河道疏浚外运施工方案
- 银行职业介绍课件
- 辽宁省盘锦市大洼区田家学校2024-2025学年九年级上学期第四次质量检测语文试卷
- 广东省惠州市联考2024-2025学年上学期12月教学质量阶段性诊断八年级数学试卷(无答案)
- 砖砌围墙施工方案
- 2024-2030年中国痘痘贴行业营销动态及消费需求预测研究报告
- 《人工智能导论》(第2版)高职全套教学课件
评论
0/150
提交评论