我必须创建一个结构并在一个循环中运行它,这不是一个问题,但它必须运行特定次数,因为用户选择我该怎么做?
例如:
struct employee
{
Name
Department
Salary
};
如果我想运行十次,我可以使用
for (int x=0, x<10, x++)
....
但是如果我不得不问用户这个号码而不是10号呢?
还有任何想法如何使用getline错误检查名称输入错误的数字(数字)。
非常感谢。我是c ++的新手并试图学习它,所以如果你能给我一些解释的例子,那将非常感激。
感谢您的时间。
感谢您的投入。我现在看到如何进行名称检查,但我为我不明确的问题道歉。
当我在main中声明结构时,它会询问我打算在结构中放入多少信息。 例如:员工e [10];
我不知道如何在此之前询问用户并将他/她的响应作为const int。 (在这种情况下,10是const int)。
答案 0 :(得分:0)
假设变量n将保持用户输入的值。
int n;
然后循环看起来像
for ( int x = 0; x < n; x++ )
{
// some code
}
n中的值可以通过运算符&gt;&gt;输入。
std::cin >> n;
要检查名称是否只包含字母,您可以应用算法std::all_of
和标准C函数isalpha
例如
#include <algorithm>
#include <cctype>
//...
std::string name;
std::getline( std::cin, name );
if ( !name.empty() && std::all_of( name.begin(), name.end(),
[]( char c ) { return std::isalpha( c ); } ) )
{
std::cout << name << " is valid name" << std::endl;
}!