C++程序运行时cmd不等待用户输入直接跳过是怎么回事?

写了个可交互的C++程序。

可为什么cmd中cin不等待用户输入?
(在学校机房,很疑惑)

img


img


代码:

//C.J.K.学员管理系统(CSMS)
//CSMS: C.J.K._Scholars_Management_System
//Ownship:Confraternity of Jankers of Keyboard (C.J.K.)
//Written by 1724834368@qq.com

//////////预处理//////////
#include <bits/stdc++.h>
#include <windows.h>
#include <stdlib.h>
using namespace std;
////////////////////////

//////////常量定义//////////
string Head_Str="=====C.J.K.学员管理系统(CSMS)=====\n\n";
string Please_Input_Number=">>请输入对应数字执行操作:\n";
string Input_Number_Error=">>输入的数字有误,请重新输入:\n";
string Unknown_Error=">>未知错误!\n";
//////////////////////////

//////////学员信息结构体//////////
struct SDs {
    //SD:Scholars_Data
    string Name;      //姓名
    string Sex;       //性别
    string Number;    //编号
    string Titles;    //头衔
    string Languages; //语言
    string Exp;       //积分
    string Note;      //备注
};

vector<SDs> SDV;  //学员数据容器
SDs SDM;          //学员数据组员
///////////////////////////////

//////////头部函数声明//////////
void SLP();//系统加载页面
void LSD();//载入学员数据
int MMP(); //主菜单页面
void SSD();  //保存学员数据
void Over();
//////////////////////////////

//////////主函数//////////
int main() {
    SLP();
    LSD();
    int Model=MMP();
    switch(Model) {
        case 0:
            SSD();
            Over();
            return 0;
            break;
        case 1:
            break;
    }

    return 0;
}
/////////////////////////

//////////尾部函数定义//////////
void SLP() {
    //SLP:System_Loading_Page
    cout<<Head_Str
        <<"系统加载中";
    for(int i=0;i<10;i++) {
        Sleep(200);
        cout<<'.';
    }
    cout<<"加载成功!"<<endl;
    Sleep(1500);
    system("cls");
}

void LSD() {
    //LSD:Load_Scholars_Data
    freopen("CJK_Scholars_Data.txt","r",stdin);
    while(cin>>SDM.Name>>SDM.Sex>>SDM.Number>>SDM.Titles>>SDM.Languages>>SDM.Exp>>SDM.Note) {
        SDV.push_back(SDM);
    }
    fclose(stdin);
    //fflush(stdin);
}

int MMP() {
    //MMP:Main_Meun_Page
    system("cls");
    cout<<Head_Str
        <<"【主菜单】"<<endl
        <<"0.保存并退出"<<endl
        <<"1.查询学员信息"<<endl;
    cout<<Please_Input_Number;
    Cin_Model_MMP:
    int Model;
    //fflush(stdin);
    cin>>Model;
    if(Model<0||Model>1) {
        cout<<Input_Number_Error;
        Sleep(1000);
        goto Cin_Model_MMP;
    }
    return Model;
}

void Over() {
    system("cls");
    cout<<Head_Str;
    cout<<">>保存并退出!"<<endl;
    Sleep(1000);
}

void SSD() {
    //Save_Scholars_Data
}
//////////////////////////////

代码贴出来看看