c语言家庭财务管理数组,C语言家庭财务管理统设计报告.doc
C语言家庭财务管理统设计报告
东华理工大学
C语言课程设计实验报告
题目:家庭账务管理
姓名:曾祥华
班级:1321815
学号:201320181518
指导老师:程志梅
一 案例描述
1.总体描述
家庭财务管理系统主要是对家庭成员的收入,支出,进行添加,删除,查询等操作,并能统计总收入和总支出。该软件给家庭成员提供了一个管理家庭财务的平台。
2.模块描述
1)菜单设计:本系统提供简单易操作的界面。有提示,帮助用户根据需要对家庭财务管理系统进行操作。
2)添加模块:根据实际的收入或支出,添加相应的记录,条数不限。
3)查询模块:可以选择不同关键字输入,查找该条记录。
4)删除模块:若某条记录错误或者不需要则可以删除。
5)显示模块:按照添加的先后顺序依次把记录显示在屏幕上,并显示总收入和总支出以及余额。
6)退出模块:退出财务管理系统并保存文件。
二 界面设计
界面有相应的选择,根据自己的需要对该管理系统进行添加,查找,删除,显示功能操作。
本软件界面友好,不难操作,用户可根据自己的需要按提示进行。
三 模块化设计方案
1.系统主要函数及功能
DataInit函数:功能为数据初始化
将数据从硬盘传到内存。
add函数:功能为添加收入或支出的记录
search函数:功能为查找联系人
输入关键字,从文件中搜索相应的记录并显示出来。
delete_rec函数:功能为删除记录
若某条记录错误或者不需要则可以删除。
5)show函数:功能为显示记录
将添加的记录显示在屏幕上。
6)quit函数:功能为保存信息退出系统
2.主函数调用各功能函数流程
四. 数据结构描述
struct F_Data
{
int year; //年
int month; //月
int data; //日期
float amout; //金额
char name[20]; //姓名
int type; //收入或支出类型
char comment[100]; //备注
struct F_Data*next; //定义一个指针
};
该数据结构为链表,是一种动态进行存储分配的结构。链表的每一个一个节点中包含了一个指针变量,用它存放下一个结点的地址,环环相扣,中间决不能断开,该指针指向一个struct F_Data类型的数据。链表中各元素在内存中可以不是连续存放的。
五 算法设计
添加
在主菜单选择添加选项后,系统会依次让用户输入年月日,并且限定月份输入时要在1至12内,如果符合要求则继续执行,输完整条记录。动态链表会根据用户的使用情况动态调整内存大小。插入一个结点到已有链表后,head指向插入的结点,该结点指向head原来所指的结点。每添加一条记录后接点随即加一。
查询
在主菜单选择查询选项后,选择查询方式,1.按姓名查 2.按类型查。然后按提示输入相应的信息姓名(或备注),系统会根据信息用一个指针从这个链表的第一个结点依次往后开始查询,若某个结点符合则输出该记录的信息,若指向NULL即最后一个结点也查询完毕依然没找到,则返回主菜单。
删除
输入需要删除的姓名和金额,系统会根据信息用一个q指针从这个链表的第一个结点依次往后开始查询,并将已查询过的结点赋给另一个p指针。若某个结点符合则显示该记录的信息,并让用户再次确认是否删除。若指向NULL即最后一个结点也查询完毕依然没找到,则则返回主菜单。如果确定删除该结点,则q所指的结点的前一个结点(即p所指的结点)指向该接点所指向的下一个结点,也就是将q所指的结点从原来的链表中分离出来。每删除一条记录后接点随即减一。
六. 程序运行结果
添加联系人
添加记录时限定月份在1~12月之间,否则无法添加,每添加一条记录后就返回主菜单,链表中插入了该结点。
2查询联系人
查询记录时,可以选择类型或者姓名进行查找。若选择按姓名查找,则在输入名字后,系统会根据添加的先后顺序,在屏幕上依次显示出该联系人的全部记录。
3 删除联系人
选择删除选项后,界面会让使用者输入要删除者的姓名及金额,并根据输入的信息显示该条记录,并且为了防止意外删除而有提示是否删除,经使用者
c语言家庭财务管理数组,C语言家庭财务管理统设计报告.doc相关推荐
- c语言电子计算器课程设计报告,计算机程序设计课程设计报告.doc
计算机程序设计课程设计报告.doc PAGE 1 计算机程序设计(C语言) 课程设计报告 题目:学生信息管理系统 学院: 计算机科学与工程学院 专业: 电子信息工程 班级:110406 姓名: 黄伟强 ...
- 计算机专业课程设计报告c语言,计算机程序设计(C语言)课程设计报告.doc
计算机程序设计(C语言)课程设计报告.doc 计算机程序设计C语言课程设计报告题目电子动画时钟 学院 机电工程学院专业 班级090109班学号 姓名 指导教师 设计日期 一.概述选题背景 随着社会的进 ...
- c语言课程设计湖南工程学院,湖南工程学院15级C语言课程设计报告.doc
湖南工程学院15级C语言课程设计报告.doc 课 程 设 计 报 告 课程名称 C语言课程设计 课题名称 通讯录 专 业 电气工程 班 级 1561 学 号 201517060105 姓 名 卢靖 指 ...
- c语言课程设计作业红白球,c语言课程设计报告.doc
<c语言课程设计报告.doc>由会员分享,可在线阅读,更多相关<c语言课程设计报告.doc(28页珍藏版)>请在装配图网上搜索. 1.C程序设计课程设计学 院: * 专 业: ...
- c语言基础程序设计报告,c语言程序设计基础课程设计报告.doc
c语言程序设计基础课程设计报告.doc 还剩 16页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,很抱歉,此页已超出免费预览范围啦! 如果喜欢就下载吧,价低环保! 内容要点: C 语言程序 ...
- 温度报警器c语言课程设计,温度报警器课程设计报告.doc
温度报警器课程设计报告.doc 目 录 1引言4 2正文4 第1章 绪论4 1.1 设计背景4 1.2 设计来源4 1.3 设计内容与要求5 第2章 硬件电路设计5 2.1 AT89S52单片机5 2 ...
- 家庭财务管理软件c语言,家庭财务管理软件
泛普ThinkOne家庭财务管理软件主要功能: 家庭预算.收入支出记账; 财务分析:按时间.按消费类型.按消费名称.按消费用户; 收入支出比对.消费数据检测; 消费类型维护.收入类型维护.用户管理 搜 ...
- c语言 头文件定义数组,C语言动态数组
动态数组是指在声明时没有确定数组大小的数组,即忽略方括号中的下标:当要用它时,可随时用ReDim语句(C语言中用malloc语句)重新指出数组的大小. 中文名 C语言动态数组 释 义 相对于静态 ...
- 数据结构c语言课程设计报告,(数据结构c语言课程设计报告.doc
(数据结构c语言课程设计报告 数据结构 课程设计报告 设计题目:迷宫求解 专 业 机电一体化 班 级 08专接本 学 生 学 号 104910252011 指导教师 高在村 完成时间 2011. 5 ...
最新文章
- mysql查询去重第一条_Mysql用法记录 - Ashley-OSCHINA的个人空间 - OSCHINA - 中文开源技术交流社区...
- Linux是否兼容windows跨区卷,简单卷与跨区卷的区别介绍
- java键盘事件键值表_Java的20年:重大事件的时间表
- QB期刊 | 纪念HGP20周年系列文章3:陈润生院士回顾我国早期生物信息学的发展...
- 应用前台省电秘籍——这些常见功耗雷坑不要再跳了
- python openpyxl合并单元格_用openpyxl分析xlsx文件的合并单元格
- 基于中颖SH79F168单片机的航模无刷电调方案
- 为什么我一直强调大家要两条腿走路?
- Linux 编译安装 openssl库
- html鼠标悬停box变色,ToolTip鼠标悬停的使用
- IDEA社区版配置Spring Boot开发
- [codeforces 1293A] ConneR and the A.R.C. Markland-N 不超时的二分/无限长数组map+桶排序
- 数据库操作的异常Cannot perform this operation because the connection pool has been close
- Huawei 华为云 机器翻译调用 详解
- [Python从零到壹] 十五.文本挖掘之数据预处理、Jieba工具和文本聚类万字详解
- java数组标准差_如何使用JAVA计算标准差
- 手眼标定AX=XB求解方法(文献总结)
- visual studio 2019怎么能完美运行vs2017 vs2015的代码?
- ResNet中残差块的理解(附代码)
- 节能改造:空调系统节能改造方案及效果分析