马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
是小甲鱼C++快速入门视频里面的,全部代码有点长,就放了main部分#include<iostream>
#include<fstream>
#include<windows.h>
struct student
{
int num;
std::string name;
char sex;
};
bool initstu();
bool Readstu();
void Recordstu();
bool Writestu(student *studata);
int main()
{
int i;
initstu();
std::cout<<"please have your choice[WARNING:INPUT NUMBERS!]:\n";
std::cout<<"1.print data.\n";
std::cout<<"2.input data.\n";
std::cout<<"3.quit.\n";
std::cin>>i;
switch(i)
{
case 1: if (Readstu())
{
std::cout<<"read success!\n\n";
}
else
{
std::cout<<"read failed!\n\n";
}
break;
case 2: Recordstu(); break;
case 3: return (0);
default: std::cin.get();
std::cout<<"error,please start again!\n ";
}
return (0);
}
有两个问题:
①在这里的switch循环里面 我希望如果用户输入的是1,2,3以外的任意字符,包括字母,都会提示重新输入,请问要如何实现?要避免出现无限循环啊
②关于对string name 变量进行输入的话,要如何修改才能让输入的姓名当中可以包含空格?我曾修改为字符型数组,但是貌似也不行,系统只取空格之前的字符。
求大神支招
|