gpt4 book ai didi

c++ - 如果用户将字母作为输入,则重新输入年龄

转载 作者:行者123 更新时间:2023-11-28 07:01:44 24 4
gpt4 key购买 nike

我们的教授告诉我们创建一个函数,如果用户输入一个关于年龄的字母,它会让用户再次重新输入年龄。但是,只有年龄会更新而无需再次输入姓名,我试过了,但这是我的代码。

#include <iostream>
#include <fstream>
#include <cstdlib>

using namespace std;
string inputName, inputGender, inputBirthday;
int inputAge, inputChoice;
ofstream fileOutput("Example.txt");
int getAge() {
cin>>inputAge;
if (inputAge <= 50) {
fileOutput<<inputAge<<endl;
} else {
cout<<"Error: Re-enter your age: ";
cin>>inputChoice;
getAge();
}
}

int main() {
cout<<"Enter your Name: ";
getline(cin, inputName);
fileOutput<<inputName<<endl;
cout<<"Enter your Age: ";
getAge();
cout<<"Enter your Gender: ";
getline(cin, inputGender);
fileOutput<<inputGender<<endl;
cout<<"Enter your Birthday: ";
getline(cin, inputBirthday);
fileOutput<<inputBirthday<<endl;
fileOutput.close();
cout<<"Done!\n";
system("PAUSE");
return 0;
}

最佳答案

除非您要返回一个 int,否则用 int 返回声明 getAge 是没有意义的

void getAge()
{
std::string line;
int i;
while (std::getline(std::cin, line))
{
std::stringstream ss(line);
if (ss >> i)
{
if (ss.eof())
{
break;
}
}
std::cout << "Please re-enter the age as an integer" << std::endl;
}
if (i <= 50)
{
fileOutput << i <<endl;
}
}

关于c++ - 如果用户将字母作为输入,则重新输入年龄,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22355053/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com