C++初学者,简单小程序改进


#include<bits/stdc++.h>
using namespace std;
 
class student{
public:
    student(string name, string dormitoryNo, int type){
        m_name=name;
        m_dormitoryNo=dormitoryNo;
        this->m_type=type;
    }
    string m_name;
    string m_dormitoryNo;
    int m_type;
};
//学生宿舍管理系统
vector<student>p;//学生类数组
 
void show_menu()//菜单展示
{
    cout<<"****************************************************************"<<endl;
    cout<<"                欢迎使用学生宿舍管理系统                    "<<endl;
    cout<<"                        1.增加学生                                 "<<endl;
    cout<<"                        2.学生搬出                                 "<<endl;
    cout<<"                        3.查询学生信息                              "<<endl;
    cout<<"                        4.修改学生信息                              "<<endl;
    cout<<"                        5.输出学生信息                              "<<endl;
    cout<<"                        0.退出系统                                 "<<endl;
    cout<<"****************************************************************"<<endl;
 
}
void add_student()//添加学生
{
    string name,dormitoryNo;
    int type;
    cout<<"请输入学生姓名:"<<endl;
    cin>>name;
    cout<<"请输入学生性别(1.男生,2.女生)"<<endl;
    cin>>type;
    cout<<"请输入学生宿舍号:"<<endl;
    cin >> dormitoryNo;
    student p1(name, dormitoryNo, type);
    p.push_back(p1);
    cout<<"添加成功~"<<endl;
    cout<<"目前学生数:"<<p.size();
}
void delete_student()//删除学生
{
    string name;
    cout<<"请输入要搬出的学生姓名: "<<endl;
    cin>>name;
    for(int i=0;i<p.size();i++){
        if(p[i].m_name==name) {
            p.erase(p.begin() + i);
            cout << "操作成功~" << endl;
        }
        else
        {
            cout<<"查无此人,请检查输入"<<endl;
        }
    }
}
void inquery_student()//查询学生信息
{
    string name;
    cout<<"请输入要查询的学生姓名: "<<endl;
    cin>>name;
    for(int i=0;i<p.size();i++){
        if(p[i].m_name==name)
        {
            cout<<"学生姓名:"<<p[i].m_name<<endl;
            cout<<"学生性别:" ;
            if(p[i].m_type==1)cout<<"男生"<<endl;
            else cout<<"女生"<<endl;
            cout<<"宿舍号:"<<p[i].m_dormitoryNo<<endl;
        }
        else
        {
            cout<<"查无此人,请检查输入"<<endl;
        }
    }
}
void revise_student()//修改学生信息
{
    string name,dormitoryNo;int type;
    cout<<"请输入要修改的学生姓名: "<<endl;
    cin>>name;int i=0;
    for(;i<p.size();i++){
        if(p[i].m_name==name)
        {
            cout<<"修改后的学生性别:(1.男生,2.女生)"<<endl;
            cin>>type;
            p[i].m_type=type;
            cout<<"修改后的学生宿舍号:"<<endl;
            cin >> dormitoryNo;
            p[i].m_dormitoryNo=dormitoryNo;
        }
        else
        {
            cout<<"查无此人,请检查输入"<<endl;
        }
    }
    cout<<"修改成功"<<endl;
}
void output_student()//输出学生信息
{
    for(int i=0;i<p.size();i++){
        cout<<"学生姓名:"<<p[i].m_name<<endl;
        cout<<"学生类型: ";
        if(p[i].m_type==1)cout<<"男生"<<endl;
        else cout<<"女生"<<endl;
        cout<<"学生宿舍号: "<<p[i].m_dormitoryNo<<endl;
        cout<<"*************************"<<endl;
    }
}
 
int main()
{
    int choice;//记录用户选择
    while(1){
        show_menu();
        cout<<"请输入你的选择:"<<endl;
        cin>>choice;
        switch(choice){
            case 1:
                add_student();
                break;
            case 2:
                delete_student();
                break;
            case 3:
                inquery_student();
                break;
            case 4:
                revise_student();
                break;
            case 5:
                output_student();
                break;
 
            case 0:
                cout<<"欢迎下次使用~"<<endl;
                return 0;
            default:
                cout<<"输入有误"<<endl;
        }
    }
}

我这个是一个简单的学生宿舍管理系统,但功能太简单,难一些的写不出来,麻烦看一下,在我这个基础上填加一些功能,给一个完整的改后代码,要是再能有注释就太感谢了

之前写过一个住宿管理系统,你可以参考一下:
https://blog.csdn.net/qfl_sdu/article/details/118399458?spm=1001.2014.3001.5502

功能
(1)学生信息包括:姓名、学号、年龄、性别、学院、年级等

(2)宿舍信息包括:宿舍编号、宿舍楼名、楼层号、宿舍类型(二人间、四人间、六 人间、八人间) 、收费标准等。

(3)住宿信息包括:学生、宿舍、入住时间、是否欠费等。

(4)完成以下的操作:学生信息和宿舍信息的添加、修改、浏览、删除和查询。
(5)完成以下的操作:学生入住、缴费;住宿信息浏览、学生住宿信息查询、宿舍住 宿信息浏览与查询。 2、提示: (1)增加必要的数据成员、成员函数或类; (2)对象指针(住宿信息类的对象指针成员可以指向相关的宿舍、对象指针数组成员可 以表示该宿舍的学生们)