使用 while 循环显示顺序变量的值

Display sequential variable's value with while loop

本文关键字:变量 顺序 显示 while 循环 使用      更新时间:2023-10-16

我做了一个程序:

char a1[100]="Ques 1" , a2[100]="Ques 2" , a3[100]="Ques 2";
int count=1;
while (count<=3)
{
cout << ....;
}

现在我想一个接一个地展示问题。那么我该在....的地方输入什么? 喜欢

cout << a(count);

以便按顺序显示问题。

提前致谢

您为每个问题使用了不同的变量这一事实使输出阶段难以组织。

为什么不使用std::string数组?

std::string questions[] = {"Quesstion one", "Question two", "Question three"};

和输出使用

for (auto& question : questions){
std::cout << question;
}

这利用了C++11中的创新。

最后,为了将文本文件读入std::vector<std::string>,请参阅从文本文件中读取行并将字符串放入向量?

如果必须使用字符数组,则需要字符数组数组。

const size_t MAX_QUESTION_LENGTH = 100;
const size_t MAX_QUESTIONS = 5;
char question_texts[MAX_QUESTIONS][MAX_QUESTION_LENGTH] =
{
"Question 1",
"Question 2",
//...
"Question 5",
};
int main()
{
for (size_t i = 0; i < MAX_QUESTIONS; ++i)
{
std::cout << "n"
<< question_texts[i]
<< "n";
}
return 0;
}

另一种选择是使用stringvector

std::vector<std::string> question_database;
//...
question_database.push_back("Question 1");
//...
for (i = 0; i < question_database.size(); ++i)
{
std::cout << "n"
<< question_database[i]
<< "n";
}

数组必须在编译时指定其容量。
字符串和向量在运行时动态增长。