在好例子网,分享、交流、成长!
您当前所在位置:首页C/C++ 开发实例常规C/C++编程 → c++ 家庭财务管理系统源码(入门级)

c++ 家庭财务管理系统源码(入门级)

常规C/C++编程

下载此实例
  • 开发语言:C/C++
  • 实例大小:9.65KB
  • 下载次数:30
  • 浏览次数:424
  • 发布时间:2019-06-03
  • 实例类别:常规C/C++编程
  • 发 布 人:updategg
  • 文件格式:.cpp
  • 所需积分:2
 相关标签: 系统 管理 管理系统

实例介绍

【实例简介】

【实例截图】

from clipboard


from clipboard


from clipboard

【核心代码】


#include <iostream>
#include <string>
#include <windows.h>
using namespace std;

int fa_i=0;
int bi_i=0;
class Family {//家庭成员
	public:
		int number;//编号
		string name;//姓名
} fa[50];
class Bill :public Family { //账单
	public:
		int num;//账单编号
		string call;//账单名称
		string type;//账单类型
		double money;//账单金额
		int year;//年
		int month;//月
} bi[50];

void Meau() {
	system("cls");
	cout<<"******家庭财务管理系统******"<<endl;
	cout<<"	1.添加信息"<<endl;
	cout<<"	2.显示信息"<<endl;
	cout<<"	3.修改信息"<<endl;
	cout<<"	4.删除信息"<<endl;
	cout<<"	5.查找信息"<<endl;
	cout<<"	6.账单计算"<<endl;
	cout<<"	7.退出系统"<<endl;
	cout<<"****************************"<<endl;
	
}

void input1() {//添加家庭成员
	char ch;	
	do{
		cout<<"请输入:(回车键结束输入)\n";
		cout<<"输入成员编号:";cin>>fa[fa_i].number;
		cout<<"输入成员姓名:";cin>>fa[fa_i].name;
		fa_i  ;
		cout<<"继续添加请输入Y|y:"<<endl;
		cin>>ch;
	}while(ch == 'Y' || ch == 'y');
}
void input2() {//添加账单信息
	char ch;
	do{
		cout<<"请输入:(回车键结束输入)\n";
		cout<<"输入成员姓名:";cin>>bi[bi_i].name;
		cout<<"输入账单编号:";cin>>bi[bi_i].num;
		cout<<"输入账单名称:";cin>>bi[bi_i].call;
		cout<<"输入账单类型:";cin>>bi[bi_i].type;
		cout<<"输入账单金额:";cin>>bi[bi_i].money;
		cout<<"输入消费时间:(年)";cin>>bi[bi_i].year;
		cout<<"输入消费时间:(月)";cin>>bi[bi_i].month;
		bi_i  ;
		cout<<"继续添加请输入Y|y:"<<endl;
		cin>>ch;
	}while(ch == 'Y' || ch == 'y');

}
void input() {//添加信息 
	system("cls");
	cout<<"	1.添加家庭成员"<<endl;
	cout<<"	2.添加账单信息"<<endl;
	int i;
	cin>>i;
	switch(i) {
		case 1:input1();break;
		case 2:input2();break;
		default:
			MessageBox(NULL,TEXT("输入有误,请重新输入"),TEXT("警告"),MB_OK);
	}
}

void print1() {//显示所以成员
	int i=0;
	while(i<fa_i) {
		cout<<"成员编号\t成员姓名"<<endl;
		cout<<fa[i].number<<"	"<<fa[i].name<<endl;
		i  ;
	}
	system("pause");
}
void print2() {//显示所有账单
	int i=0;
	while(i<bi_i) {
		cout<<"成员姓名\t账单编号\t账单名称\t账单类型\t账单金额\t账单消费日期"<<endl;
		cout<<bi[i].name<<'\t'<<bi[i].num<<'\t'<<bi[i].call<<'\t'<<bi[i].type<<'\t'<<bi[i].money<<'\t';
		cout<<bi[i].year<<"年"<<bi[i].month<<"月"<<endl; 
		i  ;
	}
	system("pause");
}
void print() {//显示信息 
	system("cls");
	cout<<"	1.显示所以成员"<<endl;
	cout<<"	2.显示所有账单"<<endl;
	int i;
	cin>>i;
	switch(i) {
		case 1:print1();break;
		case 2:print2();break;
		default:
			MessageBox(NULL,TEXT("输入有误,请重新输入"),TEXT("警告"),MB_OK);
	}
}

void change1() {//修改成员信息
	int a,i=0,flag=0;
	string b;
	cout<<"输入成员编号、姓名"<<endl;
	cin>>a>>b;
	while(i<fa_i){
		if(a==fa[i].number && b==fa[i].name){
			cout<<"1.修改成员编号"<<endl;
			cout<<"2.修改成员姓名"<<endl;
			int j; cin>>j;
			if(j==2){
				cout<<"请输入成员新姓名"<<endl;
				cin>>fa[i].name; flag=1;
			}
			if(j==1){
				cout<<"请输入成员新编号"<<endl;
				cin>>fa[i].number; flag=1;
			}
			break; 
		}
		i  ;
	}
	if(flag==1) cout<<"修改成功!"<<endl;
	else MessageBox(NULL,TEXT("输入有误,请重新输入"),TEXT("警告"),MB_OK);
	system("pause");
}
void change2() {//修改账单信息
	int i,j,flag,a;
	string b;
	cout<<"输入账单编号、名称"<<endl;
	cin>>a>>b;
	while(i<bi_i){
		if(a==bi[i].num && b==bi[i].call){
			cout<<"1.修改账单编号\n2.修改账单名称\n3.修改账单类型\n4.修改账单金额\n5.修改账单消费日期"<<endl;
			cin>>j;
			if(j==1){
				cout<<"请输入成员新编号"<<endl;
				cin>>bi[i].num; flag=1;
			}
			if(j==2){
				cout<<"请输入成员新名称"<<endl;
				cin>>bi[i].call; flag=1;
			} 
			if(j==3){
				cout<<"请输入成员新类型"<<endl;
				cin>>bi[i].type; flag=1;
			}
			if(j==4){
				cout<<"请输入成员新金额"<<endl;
				cin>>bi[i].money; flag=1;
			}
			if(j==5){
				cout<<"请输入成员新日期(年、月)"<<endl;
				cin>>bi[i].year>>bi[i].month; flag=1;
			}
			break;
		}
		i  ;
	}
	if(flag==1) cout<<"修改成功!"<<endl;
	else MessageBox(NULL,TEXT("输入有误,请重新输入"),TEXT("警告"),MB_OK);
	system("pause");

}
void change() {//修改信息
	system("cls");
	cout<<"	1.修改成员信息"<<endl;
	cout<<"	2.修改账单信息"<<endl;
	int i;
	cin>>i;
	switch(i) {
		case 1:change1();break;
		case 2:change2();break;
		default:
			MessageBox(NULL,TEXT("输入有误,请重新输入"),TEXT("警告"),MB_OK);
	}
}

void deleted1() {//删除成员信息 
	int a,k=0,flag=0,i,j;
	string b;
	cout<<"输入成员编号、姓名"<<endl;
	cin>>a>>b;
	while(k<fa_i){
		if(a==fa[k].number && b==fa[k].name){
			for(i=k;i<fa_i;i  ){
				fa[i] = fa[i 1];
			}
			flag = 1;
			fa_i--;
			break;
		}
		k  ;
	}
	if(flag==1) cout<<"删除成功!"<<endl;
	else MessageBox(NULL,TEXT("输入有误,请重新输入"),TEXT("警告"),MB_OK);
	system("pause");
}
void deleted2() {//删除账单信息
	int a,k=0,flag=0,i,j;
	string b;
	cout<<"输入账单编号、名称"<<endl;
	cin>>a>>b;
	while(k<bi_i){
		if(a==bi[k].num && b==bi[k].call){
			for(i=k;i<bi_i;i  ){
				bi[i] = bi[i 1];
			}
			flag = 1;
			bi_i--;
			break;
		}
		k  ;
	}
	if(flag==1) cout<<"删除成功!"<<endl;
	else MessageBox(NULL,TEXT("输入有误,请重新输入"),TEXT("警告"),MB_OK);
	system("pause");
}
void deleted() {//删除信息
	system("cls");
	cout<<"	1.删除成员信息"<<endl;
	cout<<"	2.删除账单信息"<<endl;
	int i;
	cin>>i;
	switch(i) {
		case 1:deleted1();break;
		case 2:deleted2();break;
		default:
			MessageBox(NULL,TEXT("输入有误,请重新输入"),TEXT("警告"),MB_OK);
	}
}

void find1(int i) {//成员查询
	string b;
	int a,j=0;
	if(i==1){
		cout<<"请输入成员姓名:"; cin>>b;
		while(j<fa_i){
			if(b == fa[j].name){
				cout<<"成员编号\t成员姓名"<<endl;
				cout<<fa[j].number<<"	"<<fa[j].name<<endl;
			}
			j  ;
		}
	}
	if(i==2){
		cout<<"请输入成员编号:"; cin>>a;
		while(j<fa_i){
			if(a == fa[j].number){
				cout<<"成员编号\t成员姓名"<<endl;
				cout<<fa[j].number<<"	"<<fa[j].name<<endl;
			}
			j  ;
		}
	}
	system("pause");
}
void find2(int i) {//账单查询
	string b;
	double max_a,min_a;
	int j=0;
	if(i==1){
		cout<<"账单类型"; cin>>b;
		while(j < bi_i){
			if(b == bi[j].type){
				cout<<"成员姓名\t账单编号\t账单名称\t账单类型\t账单金额\t账单消费日期"<<endl;
				cout<<bi[j].name<<'\t'<<bi[j].num<<'\t'<<bi[j].call<<'\t'<<bi[j].type<<'\t'<<bi[j].money<<'\t';
				cout<<bi[j].year<<"年"<<bi[j].month<<"月"<<endl; 
			}
			j  ;
		}
	}
	if(i==2){
		cout<<"账单名称"; cin>>b;
		while(j < bi_i){
			if(b == bi[j].call){
				cout<<"成员姓名\t账单编号\t账单名称\t账单类型\t账单金额\t账单消费日期"<<endl;
				cout<<bi[j].name<<'\t'<<bi[j].num<<'\t'<<bi[j].call<<'\t'<<bi[j].type<<'\t'<<bi[j].money<<'\t';
				cout<<bi[j].year<<"年"<<bi[j].month<<"月"<<endl; 
			}
			j  ;
		}
	}
	if(i==3){
		cout<<"账单使用者"; cin>>b;
		while(j < bi_i){
			if(b == bi[j].name){
				cout<<"成员姓名\t账单编号\t账单名称\t账单类型\t账单金额\t账单消费日期"<<endl;
				cout<<bi[j].name<<'\t'<<bi[j].num<<'\t'<<bi[j].call<<'\t'<<bi[j].type<<'\t'<<bi[j].money<<'\t';
				cout<<bi[j].year<<"年"<<bi[j].month<<"月"<<endl; 
			}
			j  ;
		}
	}
	if(i==4){
		cout<<"账单金额范围(最大值,最小值)"; cin>>max_a>>min_a;
		while(j < bi_i){
			if(bi[j].money<=max_a && bi[j].money>=min_a){
				cout<<"成员姓名\t账单编号\t账单名称\t账单类型\t账单金额\t账单消费日期"<<endl;
				cout<<bi[j].name<<'\t'<<bi[j].num<<'\t'<<bi[j].call<<'\t'<<bi[j].type<<'\t'<<bi[j].money<<'\t';
				cout<<bi[j].year<<"年"<<bi[j].month<<"月"<<endl; 
			}
			j  ;
		}
	}
	system("pause");
}
void find() {//查询信息
	system("cls");
	cout<<"	1.成员查找-姓名"<<endl;
	cout<<"	2.成员查找-编号"<<endl;
	cout<<"	3.账单查找-账单类型"<<endl;
	cout<<"	4.账单查找-账单名称"<<endl;
	cout<<"	5.账单查找-账单使用者"<<endl;
	cout<<"	6.账单查找-账单金额范围查找"<<endl;
	int i;
	cin>>i;
	switch(i) {
		case 1:find1(1);break;
		case 2:find1(2);break;
		case 3:find2(1);break;
		case 4:find2(2);break;
		case 5:find2(3);break;
		case 6:find2(4);break;
		default:
			MessageBox(NULL,TEXT("输入有误,请重新输入"),TEXT("警告"),MB_OK);
	}
}

void count1() {//按月统计
	int a;
	int i=0;
	double sum=0;
	cout<<"请输入统计月份: ";cin>>a;
	while(i<bi_i){
		if(a == bi[i].month){
			sum  = bi[i].money;
		}
		i  ;
	} 
	cout<<a<<"月消费总额:"<<sum<<"元"<<endl;
	system("pause");
}
void count2() {
	int a;
	int i=0;
	double sum=0;
	cout<<"请输入统计年份: ";cin>>a;
	while(i<bi_i){
		if(a == bi[i].year){
			sum  = bi[i].money;
		}
		i  ;
	} 
	cout<<a<<"年消费总额:"<<sum<<"元"<<endl;
	system("pause");
}
void count(){//账单计算 
	system("cls");
	cout<<"	1.按月统计"<<endl;
	cout<<"	2.按年统计"<<endl;
	int i;
	cin>>i;
	switch(i) {
		case 1:count1();break;
		case 2:count2();break;
		default:
			MessageBox(NULL,TEXT("输入有误,请重新输入"),TEXT("警告"),MB_OK);
	}
}
void Choose() {
	int i;
	while(1) {
		Meau();
		cin>>i;
		switch(i) {
			case 1:input();break;
			case 2:print();break;
			case 3:change();break;
			case 4:deleted();break;
			case 5:find();break;
			case 6:count();break;
			case 7:exit(0);break;
			default:
				MessageBox(NULL,TEXT("输入有误,请重新输入"),TEXT("警告"),MB_OK);
		}
	}
}
void Welcome()//欢迎界面
{
	system("color 5F");
    system("mode con cols=100 lines=40");
    cout<<"\n\n\n\n                     ******************************************************\n";
	cout<<"\n\n                                          Welcome To Use !\n\n\n";
	cout<<"	             ******************************************************\n";
	system("pause");
}
void ReWindow()//窗口初始化
{
	system("color 8F");//设置控制台界面背景颜色和前景颜色
    system("mode con cols=100 lines=40");//初始化缓冲区大小
    SetConsoleTitle("家庭财务管理系统");//设置控制台窗口标题
}
int main() 
{
	Welcome();
	ReWindow(); 
	Choose();
	return 0;
}


实例下载地址

c++ 家庭财务管理系统源码(入门级)

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警