如何初始化struct size / length

时间:2014-12-06 05:43:07

标签: c++

我必须创建一个结构并在一个循环中运行它,这不是一个问题,但它必须运行特定次数,因为用户选择我该怎么做?

例如:

struct employee
{
 Name
 Department
 Salary
};

如果我想运行十次,我可以使用

for (int x=0, x<10, x++)
....

但是如果我不得不问用户这个号码而不是10号呢?


还有任何想法如何使用getline错误检查名称输入错误的数字(数字)。

非常感谢。我是c ++的新手并试图学习它,所以如果你能给我一些解释的例子,那将非常感激。

感谢您的时间。

感谢您的投入。我现在看到如何进行名称检查,但我为我不明确的问题道歉。

当我在main中声明结构时,它会询问我打算在结构中放入多少信息。 例如:员工e [10];

我不知道如何在此之前询问用户并将他/她的响应作为const int。 (在这种情况下,10是const int)。

1 个答案:

答案 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;
}!