C语言课程设计——家庭财务管理系统

合集下载

成绩管理系统c语言课程设计

成绩管理系统c语言课程设计

成绩管理系统c语言课程设计一、教学目标本课程旨在通过成绩管理系统的课程设计,让学生掌握C语言编程的基本语法,理解结构化程序设计的基本思想,并能够运用C语言实现简单的系统程序。

在知识目标方面,学生需要掌握C语言的基本数据类型、控制结构、函数等语法知识。

在技能目标方面,学生需要能够独立编写并调试C语言程序,具备一定的程序设计能力。

在情感态度价值观目标方面,学生应该培养对计算机科学的兴趣,增强解决实际问题的信心和勇气。

二、教学内容本课程的教学内容主要包括C语言的基本语法、数据类型、控制结构、函数等知识,通过成绩管理系统的实例,让学生了解并掌握结构化程序设计的方法。

具体的教学大纲安排如下:1.第1-2课时:C语言概述,基本数据类型和输入输出语句。

2.第3-4课时:控制结构,包括条件语句和循环语句。

3.第5-6课时:函数的定义和调用,掌握函数的参数传递和返回值。

4.第7-8课时:数组和字符串的处理,实现成绩管理系统的数据存储。

5.第9-10课时:指针的概念和应用,优化成绩管理系统的数据处理。

6.第11-12课时:结构体和文件操作,完善成绩管理系统的功能。

三、教学方法为了提高学生的学习兴趣和主动性,本课程将采用讲授法、讨论法、案例分析法和实验法等多种教学方法。

1.讲授法:用于讲解C语言的基本语法和概念。

2.讨论法:通过分组讨论,让学生深入理解程序设计中的问题。

3.案例分析法:分析成绩管理系统的实现过程,让学生了解实际应用。

4.实验法:让学生动手编写和调试程序,提高编程能力。

四、教学资源本课程的教学资源包括教材、参考书、多媒体资料和实验设备等。

1.教材:选用《C程序设计语言》作为主要教材,辅以《C语言编程实例教程》进行实践指导。

2.参考书:提供《C语言程序设计》等参考书,供学生深入研究。

3.多媒体资料:制作课件和教学视频,方便学生复习和自学。

4.实验设备:提供计算机实验室,让学生进行编程实践。

五、教学评估本课程的教学评估将采用多元化评价方式,全面客观地评价学生的学习成果。

第1章c语言概述

第1章c语言概述

1.1

什么是计算机程序


用户可以根据自己的实际需要设计一些应用程序,例 如学时成绩统计程序、财务管理程序、工程中的计算 机程序等。 计算机的一切操作都是由程序控制的,离开程序,计 算机将一事无成。 计算机的本质是程序的机器 程序和指令是计算机系统中最基本的概念
1.2 什么是计算机语言

计算机语言:人和计算机交流信息,计算机和人都能 识别的语言
1.4.1 最简单的C语言程序举例
在以上程序各行的右侧,如果有//,则表示从此到本 行结束是“注释”,用来对程序有关部分进行必要的 说明。注释是给人看的,而计算机不执行。 说明:C语言允许用两种注释方式:


//:单行注释 可单独占一行 可出现在一行中其他内容的右侧 /*„„*/:块式注释 可包含多行
1.3 C语言的发展及其特点



2001、2004年先后进行了两次技术修正(TC1和 TC2)。 ISO/IEC 9899:1999(及其技术修正)被称为 C99。 C99是C89(及1995基准增补1)的扩充。 目前不同软件公司提供的各C语言编译系统多数并未 完全实现C99建议的功能。 本书中程序基本上都可以在目前所用的编译系统(如 VC++ 6.0,Turbo C++ 3.0)上编译和运行。
1.4.1 最简单的C语言程序举例
其中 main 表示“主函数”。Main前面的int表示此函 数的类型是int类型。在执行主函数后会得到一个值 (即函数值),其值为整型。每一个C程序都必须有一 个 main 函数。函数体由大括弧{}括起来。本例中主 函数内只有一个输出语句,printf是C编译系统提供的 函数库中的输出函数(详见第4章),双引号(双括号) 内的字符串原样输出。“\n”是换行符,即在输出 “This is a c program.”后,显示屏上的光标位置 移到下一行的开头。下一个输出的字符出现在此位置 上。每个语句最后有一分号,表示语句的结束。

学生成绩管理系统c语言课程设计报告

学生成绩管理系统c语言课程设计报告

学生成绩管理系统c语言课程设计报告一、引言学生成绩管理系统是一个为学校或教育机构提供学生学业成绩管理的重要工具。

通过该系统,可以方便地记录和查询学生的各项成绩,帮助教师和学生了解学生的学业表现,及时作出教学和学习的调整和改进。

本文将介绍一个基于C语言的学生成绩管理系统的设计与实现。

二、需求分析1. 学生信息管理:包括学生基本信息的录入、修改和删除。

2. 成绩信息管理:包括成绩的录入、修改和删除。

3. 成绩查询与统计:可以按照学生学号或姓名查询学生的成绩,并能够进行成绩的统计分析,如计算平均分和排名等。

4. 数据存储与备份:能够将学生信息和成绩信息存储在文件中,并能够进行数据的备份和恢复。

三、系统设计1. 学生信息管理模块:设计一个结构体来存储学生的基本信息,包括学号、姓名、性别、年龄等。

通过菜单选择,可以实现学生信息的录入、修改和删除功能。

2. 成绩信息管理模块:设计一个结构体来存储学生的成绩信息,包括科目名称和成绩。

通过菜单选择,可以实现成绩信息的录入、修改和删除功能。

3. 成绩查询与统计模块:通过学号或姓名查询学生的成绩,并能够进行成绩的统计分析,如计算平均分和排名等。

4. 数据存储与备份模块:设计文件操作函数,将学生信息和成绩信息存储在文件中,并能够进行数据的备份和恢复。

四、系统实现1. 使用C语言编写程序代码,通过结构体和数组等数据结构实现学生信息和成绩信息的存储。

2. 利用文件操作函数实现数据的读取和存储,包括学生信息和成绩信息的存储和备份。

3. 设计菜单界面,通过用户选择来实现各个功能模块的调用。

五、系统测试与优化1. 针对各个功能模块进行测试,验证系统的正确性和稳定性。

2. 根据测试结果优化程序代码,提高系统性能和用户体验。

3. 完善系统功能,考虑异常情况的处理,提高系统的容错性和健壮性。

六、总结与展望通过本次课程设计,我们成功实现了一个基于C语言的学生成绩管理系统。

该系统能够方便地记录和查询学生的成绩信息,帮助教师和学生进行教学和学习的分析和改进。

JSP财务管理系统

JSP财务管理系统

目录第一章绪论 21.1课题简介21.2开发的意义2第二章开发环境及实现技术 42.1开发环境42.2开发工具简介4第三章系统设计 63.1概要设计63.1.1概要设计阶段的主要任务63.1.2概要设计的过程63.1.3概要设计的原则错误!未定义书签。

3.1.4系统功能分析错误!未定义书签。

3.2详细设计73.2.1详细设计的任务73.2.2详细设计的方法7第四章数据库设计错误!未定义书签。

4.1数据库Access简介错误!未定义书签。

4.2数据库需求分析84.3表的详细结构说明94.4测试用例15第五章详细设计错误!未定义书签。

5.1系统登录模块的设计与实现错误!未定义书签。

5.2主界面的设计与实现错误!未定义书签。

5.3工资管理设计与实现错误!未定义书签。

5.4固定资产管理的设计与实现错误!未定义书签。

5.5流动资产管理的设计与实现错误!未定义书签。

5.6用户管理的设计与实现错误!未定义书签。

第六章系统使用说明错误!未定义书签。

6.1使用说明错误!未定义书签。

6.2运行环境错误!未定义书签。

结束语 48参考文献48第一章绪论1.1课题简介财务管理系统是每一个单位管理财务收入和支出的不可缺少的一个管理信息系统,它的内容对企业财务计划,财务控制,财务监督,财务运用等方面都起着巨大的作用。

如何发挥财务管理的作用关系到一个企业的命脉。

财务管理的工作对象是资金运动,只要有资金运动就离不开财务管理。

一个企业的生产经营活动无外乎供、产、销三个环节,这个过程始终贯穿着资金运动,只是在各个环节上资金的表现形态不同罢了。

在供应阶段资金由货币形态转变为材料形态,生产阶段由材料形态变为产品形态,在销售阶段由产品形态又回到货币形态。

从这里可以看出,财务管理贯穿于企业的各项工作之中,财务工作与其它管理工作是密不可分的。

〖BP)〗从企业目前的实际工作来看,普遍存在两个误区:一种认为财务管理就是管钱,只要管住钱就可万事大吉,重资金,轻核算。

C语言课程设计—学生成绩管理系统

C语言课程设计—学生成绩管理系统

#include ”stdio.h”#include ”string.h”#include "stdlib.h"#include "conio.h"#include ”string.h”#include "fcntl。

h"typedef struct student{int num;char grade[10];char classroom[10];char name[10];float score_math;float score_chinese;float score_english;float average;float sum;}STU;typedef struct Node{STU data;struct Node *next;}*linklist;void menu();char *loginpassword(char password[],int n);//登录验证密码函数声明//linklist createstulist(linklist head);//创建学生链表即学生信息录入函数声明// void printstulist(linklist head);//学生信息输出函数声明//void searchstu_namelist(linklist head);//学生信息查询函数声明(按姓名)// void searchstu_numlist(linklist head);//学生信息查询函数声明(按学号) linklist modifystulist(linklist head);//学生信息修改函数声明//linklist delatestulist(linklist head);//学生信息删除函数声明//void savestulist(linklist head);//学生信息保存到文件函数声明// linklist loadstulist();//从文件中读取学生信息函数声明// void sortstulist(linklist head); //成绩排名函数(按年级)声明//void sort(STU stu[],int flag); //学生分班函数声明//void sortstuclass(linklist head); //成绩排名函数(按班级)声明////*************************************//void main(){char admin[]=”zhangqiong";char password[]=”123456";char person[20];char password1[10];int i;printf(”********************************************************************************\n”);printf("\t\t **********欢迎来到学生成绩管理系统**********\n\n");printf(”********************************************************************************\n\n”);printf(”\t\t\t\t用户登录\n\n\n\n");for(i=0;i<3;i++){printf("用户名:”);gets(person);fflush(stdin);printf(”\n\n\n”);loginpassword(password1,10);printf("\n\n\n”);if(strcmp(admin,person)==0&&strcmp(password,password1)==0){printf(”\t\t\t\t成功登录,亲!\n”);printf("\n\n”);printf(”按任意键继续!”);getch();menu();break;}elseprintf("\t用户名或者密码输入错误\n”);}if(i==3)printf("\t对不起,您今天输入次数太多,已被强制退出!\n”);}//**********************************************************////**********************************************************//char *loginpassword(char password[],int n)//登录密码函数,隐藏密码可见//{int i=0;int m=0;char ch;printf("用户密码:”);while((ch=getch())!='\r’&&m〈n){password[i++]=ch;printf(”*");}password[i]='\0';return password;}//***************************************************// void menu()//主界面函数//{system("cls");linklist L;L=(linklist)malloc(sizeof(Node));L—>next=NULL;int ch;do{printf(”\t -——-----—-******——--——--—---******—————-————-******-—-—-—-—-—\n\n");printf("\t\t\t**********学生成绩管理系统***********\n\n”);printf("\t ——----——--******-—-——------—******—---———--—-******—---———-——\n\n\n\n\n");printf("\t1。

综合课程设计报告(同名3092)

综合课程设计报告(同名3092)

摘要本报告介绍了一个运用c++设计一个个人的记账软件具体过程。

实现了添加、查询、删除、修改等功能。

能够大致的记录个人的收入支出情况。

开发背景个人理财在我国得到大众的认可和金融机构的重视是近几年的事情。

人们对个人理财的重视程度,与我过市场经济制度不断完善、资本市场的长足发展、金融产品的日趋丰富以及居民总体收入水平的上升等等是分不开的。

但是比起发达国家我们的理财观念还远远不足。

但是理财并不困难,并非非要靠个人理财专业人士的建议才能身体力行。

只要了解收支状况、设定财务目标、拟定策略、编列预算、执行预算到分析成果这六大步骤,便可以轻松的达成个人的财务管理。

至于要如何预估收入掌握支出进而检讨进则有赖于平日的财务记录,也就是需要一款便于记账的软件。

最近越来越多的人具有记账的习惯。

家庭、个人的收入支出结构在日益变化,单纯的靠本子记录收入支出无法满足对于收入支出结构的统计分析,因此以个人用户为目标的记账软件应运而生。

相应的各种面向家庭以及个人的理财软件也越来越多。

但是众多个人理财软件操作专业,对于个人用户而言功能过于强大,分析数据用语也不易理解。

因此开发一个操作简便、统计结果直观并对个人用户理财有参考价值的记账软件无疑能为广大个人用户提供方便。

总而言之,在不久的将来家庭使用理财软件也将成为国内家庭的必需品。

能提供简单明了的功能以及操作的记账软件更是被广泛需要。

这种软件也会为提升人们的胜过品质发挥它最大的作用。

技术背景C语言是国内广泛使用的一种计算机语言,学会使用c语言进行程序设计是计算机工作者的一项基本功。

对于我们大学生来说,学习这样一门c程序课程更是有必要。

此次课程设计我所采用的环境是vc++,使用基本控制结构,如循环和选择,着重实现管理系统的增删改以及查询等典型的功能。

程序设计是一门实践性很强的课程,既要掌握概念又要动手编译,更多的是要上机去调试,虽然初学时很麻烦,但是养成习惯后我相信受益匪浅。

开发环境Vc++,win7.设计目标为了满足用户的需要,本系统将实现以下功能:记录日常收支情况,查找某天的收支情况,插入忘记的收支功能,显示账单,统计数据。

东南大学

5、《Visual FoxPro5.0实验指导书》严明,崔健忠(参);
管理学
32
0.8
胡汉辉
国际法
32
0.6
苏欣
国际会计
32
0.8
吴芃
1、《国际会计学(第三版)》F.D.S乔伊、C.A佛罗斯G..K米勒(参);
2、《国际会计前沿》王松年(参);
3、《国际比较会计》夏东林(参);
4、《国际汇集准则》国际会计准则委员会(参);
社会学
48
2.4
陈迪
1、《社会学》(美)戴维·波普诺(参);
2、《社会学思想名家》刘易斯·A·科瑟(参);
市政学
32
1.4
张三保
17讲不能解压
土力学与基础工程
48
1.3
童小东
《土力学与基础工程》赵明华(教);
马克思主义哲学
47
2.7
戴正农
毛泽东思想概论
34
2.3
张中国
施工组织设计课程设计
1
0.1
何厚全
操作系统应用
32
0.7
余晓
1、《操作系统教程—原理和实例分析》(教)孟静;
产业分析
30
1
黄敏
程序设计与C语言(B)
48
1.3
陈卫卫
担保法学
32
0.7
叶金强
1、《担保法原理》叶金强;
地下结构工程
32
0.7
穆保刚
缺21讲
电工电子技术
76
1.2
单振才
电路基础
33
1.1
腾岩峰
1、《电路》(第四版)邱关源(教);
4、《矩阵理论简明教程》徐仲(参);

工资管理系统课程设计C语言

工资管理系统 课程设计 C语言一、课程目标知识目标:1. 理解工资管理系统的基本概念和功能需求;2. 掌握C语言中的基本数据类型、运算符、控制结构等编程知识点;3. 学会使用C语言设计并实现一个简单的工资管理系统。

技能目标:1. 能够运用C语言编写出结构清晰、逻辑合理的程序代码;2. 能够运用数组、结构体等数据结构存储和管理工资数据;3. 能够运用文件操作实现工资数据的持久化存储。

情感态度价值观目标:1. 培养学生解决问题的能力和团队协作精神,激发学生对编程的兴趣;2. 增强学生对信息技术的认识,使其意识到信息技术在现实生活中的应用价值;3. 培养学生严谨、认真的学习态度,提高学生的编程素养。

课程性质:本课程为C语言编程实践课,旨在让学生通过动手实践,掌握C语言编程的基本技能,并能够运用所学知识解决实际问题。

学生特点:学生为高年级学生,已具备一定的C语言基础,有较强的逻辑思维能力,但对实际应用场景的编程经验不足。

教学要求:结合学生特点,注重实践操作,引导学生从实际问题出发,逐步培养编程思维,提高编程能力。

课程目标分解为具体学习成果,便于教学设计和评估。

二、教学内容1. 工资管理系统概述- 系统需求分析- 功能模块划分2. C语言基础知识回顾- 数据类型- 运算符与表达式- 控制结构(顺序、分支、循环)3. 数据结构设计- 数组- 结构体4. 函数与模块化编程- 函数定义与调用- 模块化设计5. 文件操作- 文件打开与关闭- 文件读写操作6. 工资管理系统功能实现- 员工信息管理- 工资计算- 工资查询- 数据存储与读取7. 测试与调试- 功能测试- 性能测试- 代码调试教学内容安排与进度:第1周:工资管理系统概述及需求分析第2周:C语言基础知识回顾第3周:数据结构设计第4周:函数与模块化编程第5周:文件操作第6周:工资管理系统功能实现(1)第7周:工资管理系统功能实现(2)第8周:测试与调试教材章节及内容:《C语言程序设计》第3章:数据类型、运算符与表达式第4章:控制结构第6章:函数与模块化编程第7章:数组和字符串第8章:结构体与共同体第9章:文件操作教学内容紧密结合课程目标,注重科学性和系统性,通过以上教学内容,使学生能够掌握C语言编程的核心知识,并能够将其应用于工资管理系统的设计与实现。

C语言-课程设计-教师工资管理系统(职工工资管理系统)

课程设计教师工资管理系统运行平台:VC6.0(其他平台未经测试,不一定保证有效)制作者:弓箭中南大学信息科学与工程学院源代码如下:#include 〈stdio.h>#include 〈stdlib。

h〉#include 〈string.h>#include <conio。

h>#define LEN sizeof(struct teacher)struct teacher{int num;char name[20];char sex[20];char workplace[50];char address[50];long phone;double de_salary;double de_jintie;double de_shenghuobutie;double yingfa_salary;double cost_phone;double cost_water_elec;double cost_rent;double cost_tax;double cost_weisheng;double cost_gongjijin;double cost_all;double shifa_salary;struct teacher *next;};/***********************************读取函数************************************/struct teacher *load(){struct teacher *p1,*p2,*head;FILE *fp;int i=1;if((fp=fopen(”save",”rb"))==NULL){printf(" 文件不存在!按下任意键返回主菜单。

.。

”);getch();return (NULL);}else{head=NULL;p1=(struct teacher *)malloc(LEN);while (fread(p1,LEN—4,1,fp)==1){if(i==1){head=p1;p2=p1;i=2;}else{p2—〉next=p1;p2=p2->next;}p1=(struct teacher *)malloc(LEN);}p2->next=NULL;free(p1);fclose(fp);return(head);}}/**********************************欢迎菜单函数*************************************/void welcome(){printf(”\n\n\n 〉>>>>欢迎使用教师工资管理系统Beta1.2〈<<〈<\n”);printf(” *******************************************************\n”);printf(”* C语言课程设计教师工资管理系统*\n”);printf(”*班级: 电气信息类1001班学号:0909100119 *\n”);printf(”*姓名:弓箭*\n");printf(" *******************************************************\n”);printf(”\n\n 按下任意键进入系统..。

财务管理系统数据库设计

财务管理系统数据库设计简介财务管理系统是一种用于企业或个人管理和追踪财务活动的软件系统。

它包括财务数据的输入、存储、处理和输出等功能,可以帮助用户实现财务管理的自动化。

数据库设计数据库设计是构建财务管理系统的重要一环。

一个好的数据库设计可以有效地支持系统的功能和性能,并保证数据的准确性和完整性。

下面是财务管理系统的数据库设计。

数据库结构财务管理系统的数据库结构由多个数据库表组成,每个表代表一个实体或者一个关系。

以下是财务管理系统的数据库结构示意图:Database StructureDatabase Structure数据库表财务管理系统的数据库表由以下几个表组成:用户表(users)用户表存储系统中的用户信息,包括用户ID、用户名、密码、角色等字段。

字段名数据类型主键描述user_id int 是用户IDusername varchar(50) 用户名password varchar(50) 密码role varchar(20) 角色项目表(projects)项目表存储系统中的项目信息,包括项目ID、项目名称、负责人等字段。

字段名数据类型主键描述project_id int 是项目IDname varchar(50) 项目名称manager varchar(50) 负责人账目表(accounts)账目表存储系统中的财务账目信息,包括账目ID、项目ID、收入/支出、金额等字段。

字段名数据类型主键描述account_id int 是账目IDproject_id int 项目IDtype varchar(20) 类型(收入/支出)amount decimal(10, 2) 金额date date 日期报表表(reports)报表表存储系统中的报表信息,包括报表ID、项目ID、报表类型、生成时间等字段。

字段名数据类型主键描述report_id int 是报表IDproject_id int 项目IDtype varchar(20) 报表类型generated_at datetime 生成时间关系设计财务管理系统的数据库表之间存在以下关系:1.用户表(users)与项目表(projects):一对多关系。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

. .. 课程设计报告

课程设计题目: 家庭财务管理系统 学生姓名: 专 业: 信息工程 班 级: 指导教师:

2018年 1月 8日 .

.. 1.需求分析 根据家庭账务管理的需要,建立一个“家庭账务管理系统”,以方便对家庭日常收入及支出进行记录和管理。该系统要求:①家庭月收入管理②家庭月支出管理③统计家庭总收入/总支出④系统提供收入/支出的添加、删除和修改功能。

2. 总体设计 根据以上分析,本家庭账务管理系统主要包括: ①从键盘键入家庭月收入、月支出数据; ②查询月收入、月支出明细; ③删除收入、支出数据; ④修改收入、支出数据; ⑤统计总收入/总支出; ⑥退出系统。 除main()函数之外,系统还定义了以下函数来实现各部分内容: ①add_income():添加收入数据函数。 ②add_payout():添加支出数据函数。 ③search_data():查找数据函数。 ④initialize():初始化函数,读取文本数据。 ⑤show_info():显示数据函数。 ⑥count_total():统计函数,统计总收入、总支出。 ⑦update_data():修改信息函数。 ⑧delete_data():删除数据函数。 ⑨quit():退出函数。 程序结构功能图如下: .

.. 3.详细设计 3.1收入管理

3.2支出管理 .

.. 4.测试结果 4.1 程序运行主菜单 .

.. 4.2 添加收入测试 4.3 查询收入明细测试 .

.. 4.4 删除收入测试 .

.. 4.5 修改收入测试

4.6 添加支出测试 .

.. 4.7 查询支出明细测试 4.8 删除支出测试 .

.. 4.9 修改支出测试 .

.. 4.10 统计总收入/支出测试 4.11 退出系统测试 .

.. .

.. 5.软件操作使用说明书

本系统采用命令行对话方式进行操作,运行后出现主界面(如下图所示),

然后按照主界面菜单指引操作即可。

6.总结 编写程序之前要有一个整体的思路,不能写到哪里算哪里。这样很容易遗漏,连续性也不好。通过本次的课程设计让我对于数组、文件的存放、循环结构等知识有了更加透彻的理解。希望在以后的课程设计中对于知识的运用能够更加的熟练。

代码: #include #include #include #include #define MAXNAME 11 //家庭成员姓名的最大长度 #define MAXDETAIL 21 //注最大长度

//自定义枚举类型fi_type,用来表示收入与支出 typedef enum _fi_type { income=1,//收入 payout =-1 //支出 . .. } fi_type; // 家庭财务信息结构体 typedef struct _fi_info { int year; int month; fi_type type; char name[9]; float money; char detail[11]; }fi_info;

// 存储财务数据结构的结构体 typedef struct _fi_data { fi_info info; struct _fi_data* next; } fi_data; fi_data *head;//财务数据的头结点 void menu();//菜单函数 void add_income(); void search_income(); void delete_income(); void update_income(); void add_payout(); void search_payout(); void delete_payout(); void update_payout(); void count_total(); void quit(); // void search_data(fi_type type); void delete_data(fi_type type); void update_data(fi_type type); // void initialize(); void save_to_file(); void clear_data(); fi_data *get_last(); fi_data *get_previous(fi_data *p); void input_info(fi_info *info); void show_info(fi_data *p); void menu() { . .. printf("\n"); printf("\t\t ~~~~~~~~~~~~~~~~~~~~~~\n"); printf("\t\t ~~~~~~~~~~~~~~~~~~~~~~\n"); printf("\t\t\t 家庭财务管理系统\n"); printf("\t\t ~~~~~~~~~~~~~~~~~~~~~~\n"); printf("\t\t ~~~~~~~~~~~~~~~~~~~~~~\n"); printf("\t\t*******************************************\n"); printf("\t\t收入管理:"); printf("1.添加收入"); printf(" 2.查询收入明细\n"); printf("\t\t\t 3.删除收入"); printf(" 4.修改收入\n"); printf("\t\t*******************************************\n"); printf("\t\t支出管理:"); printf("5.添加支出"); printf(" 6.查询支出明细\n"); printf("\t\t\t 7.删除支出"); printf(" 8.修改支出\n"); printf("\t\t*******************************************\n"); printf("\t\t统 计:"); printf("9.统计总收入/总支出\n"); printf("\t\t*******************************************\n"); printf("\t\t退 出:0.退出系统\n"); printf("\t\t*******************************************\n\n\n");

} void main() { int selected=0; initialize(); while(selected>=0&&selected<=9) { system("cls"); menu(); printf("\t\t>请选择要进行的操作(0-9):"); if(scanf("%d",&selected)!=1||selected<0||selected>9) { printf("\t\t>输入有误!请选择(0-9)之间的数字!按任意键重试"); getchar(); } else { switch(selected) { . .. case 0:exit(0);clear_data();break; case 1:add_income();save_to_file();break; case 2:search_income();break; case 3:delete_income();save_to_file();break; case 4:update_income();save_to_file();break; case 5:add_payout();save_to_file();break; case 6:search_payout();break; case 7:delete_payout();save_to_file();break; case 8:update_payout();save_to_file();break; case 9:count_total();break; }

}

} } void add_income()//添加收入 { fi_data *p=(fi_data *)malloc(sizeof(fi_data)); p->next=NULL; input_info(&(p->info)); p->info.type=income; if(head==NULL) head=p; else get_last()->next=p; } void add_payout()//添加支出 { fi_data *p=(fi_data *)malloc(sizeof(fi_data)); p->next=NULL; input_info(&(p->info)); p->info.type=payout; if(head==NULL) head=p; else get_last()->next=p; } //输入函数 void input_info(fi_info *info) { printf("\t\t>请输入年月(YYYY/M)"); scanf("%d/%d",&(info->year),&(info->month));

相关文档
最新文档