实例介绍
【实例简介】
【实例截图】
【核心代码】
#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;
}
好例子网口号:伸出你的我的手 — 分享!
相关软件
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明


网友评论
我要评论