实现简单的学生宿舍基本信息管理,宿舍的基本信息包括楼号、房间号、面积、所容纳人数、已入住人数等

基本要求:
1. 设计简单的菜单,能够进行系统功能选择。
2. 实现信息的录入功能。
3. 在已有信息的基础上添加新的记录。
4. 删除指定房间号的记录。
5. 修改指定房间号的记录
6. 实现信息的浏览功能
7. 按房间号查询功能
8. 按已入住人数排序功能
[email protected]
可再追加75分
多文件!

main.cpp
代码:
/*
实现简单的学生宿舍基本信息管理,宿舍的基本信息包括楼号、房间号、面积、所容纳人数、已入住人数等
1. 设计简单的菜单,能够进行系统功能选择。
2. 实现信息的录入功能。
3. 在已有信息的基础上添加新的记录。
4. 删除指定房间号的记录。
5. 修改指定房间号的记录
6. 实现信息的浏览功能
7. 按房间号查询功能
8. 按已入住人数排序功能

*/

#include <iostream> //头文件
#include <string>
#include <vector>
#include "stuHost.h"
using namespace std;

vector<stuHost> shs; //用于保存所有宿舍信息

int main(){ //主函数

dealAffair da;
da.start(shs);

return 0;
}

stuHost.h 头文件代码

#include <iostream>
#include <string>
#include <cstdlib>
using namespace std;

class stuHost{ //学生宿舍类
public:
string hostNo;
string roomNo;
int area;
int contPeople;
int livePeople;
stuHost(string h,string r,int a,int c,int l):hostNo(h),roomNo(r),area(a),contPeople(c),livePeople(l){}
stuHost(){}

};

class dealAffair{ //事务处理类
public:
void start(vector<stuHost> &shs);
void input(vector<stuHost> &shs);
void add(vector<stuHost> &shs);
void dele(vector<stuHost> &shs);
void change(vector<stuHost> &shs);
void output(vector<stuHost> &shs);
void search(vector<stuHost> &shs);
void sort(vector<stuHost> &shs);

};

void dealAffair::start(vector<stuHost> &shs) //启动菜单
{
int chi;
cout<<" 学生宿舍信息管理\n";
cout<<" ********************************************\n";
cout<<" 1.学生宿舍信息的录入:\n";
cout<<" 2.添加新的学生宿舍信息:\n";
cout<<" 3.删除指定房间号记录:\n";
cout<<" 4.修改指定房间号记录:\n";
cout<<" 5.学生宿舍信息的浏览:\n";
cout<<" 6.按房间号查询学生信息:\n";
cout<<" 7.按已住人数排序:\n";
cout<<" 8.退出系统:\n";
cout<<" ********************************************\n";
cout<<" 输入你的选择: ";
cin>>chi;
switch(chi)
{
case 1:input(shs);break;
case 2:add(shs);break;
case 3:dele(shs);break;
case 4:change(shs);break;
case 5:output(shs);break;
case 6:search(shs);break;
case 7:sort(shs);break;
case 8:exit(0);break;
default:cout<<"你输入的选择不再所列之中!\n";
}

}

void dealAffair::input(vector<stuHost> &shs){ //数据的录入
string hostNo;
string roomNo;
int area;
int contPeople;
int livePeople;

while(1){
cout<<"输入楼号(若要退出数据输入,输入q) : ";
cin>>hostNo;
if(hostNo=="q") break; //输入hostNo若为q,则退出输入
cout<<"输入房间号 : ";
cin>>roomNo;
cout<<"输入面积 : ";
cin>>area;
cout<<"输入容纳人数: ";
cin>>contPeople;
cout<<"输入居住人数: ";
cin>>livePeople;

stuHost sh(hostNo,roomNo,area,contPeople,livePeople);
shs.push_back(sh); //存入学生管理向量
}
cout<<"You Are Quit The Input !"<<endl;
start(shs);//再次调用学生管理界面

}

void dealAffair::add(vector<stuHost> &shs){ //数据的添加
input(shs);

}

void dealAffair::dele(vector<stuHost> &shs){ //数据的删除
string roomno;
cout<<"输入你想要删除的房间号: ";
cin>>roomno;
for(int i=0;i<shs.size();i++)
{
if(roomno==shs[i].roomNo) {
shs.erase(&shs[i]);
break;
}
}

start(shs);

}

void dealAffair::change(vector<stuHost> &shs){ //数据的修改

string roomNo;

while(1)
{
cout<<"输入想要修改的房间号信息(若要退出数据输入,输入q) : ";
cin>>roomNo;
if(roomNo=="q") break; //输入hostNo若为q,则退出输入
for(int i=0;i<shs.size();i++)
{
if(roomNo==shs[i].roomNo) {
cout<<"你正在修改"<<roomNo<<"的楼号 : ";
cin>>shs[i].hostNo;
cout<<"你正在修改"<<roomNo<<"的面积 : ";
cin>>shs[i].area;
cout<<"你正在修改"<<roomNo<<"的容纳人数 : ";
cin>>shs[i].contPeople;
cout<<"你正在修改"<<roomNo<<"的居住人数 : ";
cin>>shs[i].livePeople;
}
}

}
start(shs);//再次调用学生管理界面

}
void dealAffair::output(vector<stuHost> &shs){ //数据的输出

for(int i=0;i<shs.size();i++)
{
cout<<" 楼号: "<<shs[i].hostNo<<" 房间号: "<<shs[i].roomNo<<" 面积: "<<shs[i].area<<" 容纳人数: "<<shs[i].contPeople<<" 已住人数: "<<shs[i].livePeople<<endl;
}
start(shs);
}

void dealAffair::search(vector<stuHost> &shs){ //数据的查询
string roomno;
cout<<"输入想要查询的房间号信息 : ";
cin>>roomno;
for(int i=0;i<shs.size();i++)
{
if(roomno==shs[i].roomNo) {
cout<<" 楼号: "<<shs[i].hostNo<<" 房间号: "<<shs[i].roomNo<<" 面积: "<<shs[i].area<<" 容纳人数: "<<shs[i].contPeople<<" 已住人数: "<<shs[i].livePeople<<endl;
break;
}

}
start(shs);
}

void dealAffair::sort(vector<stuHost> &shs){ //数据的排序

cout<<"按已住人数排序输出: "<<endl;
stuHost sh;
for(int i=0;i<shs.size();i++)
for(int j=i;j<shs.size();j++)
{
if(shs[i].livePeople<shs[j].livePeople)
{
sh=shs[i];
shs[i]=shs[j];
shs[j]=sh;
}
}

start(shs);
}

代码在vc++6.0中测试通过 上述功能均已实现 有问题可以hi我
温馨提示:答案为网友推荐,仅供参考
相似回答