实例介绍
【实例简介】
【实例截图】
【核心代码】
#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小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论