最近,我一直致力于一个控制台项目,在提示时,用户将输入10个问题(单独)和10个答案(单独),这将成为UI学习指南的基础。
目前,这是我的代码(仅限代码段):
#include<iostream>
#include<cstdlib>
#include<string>
#include<cstdio>
using namespace std;
int main() //The use of endl; in consecutive use is for VISUAL EFFECTS only
{
char z;
char a[500], b[500], c[500], d[500], e[500], f[500], g[500], h[500], i[500], j[500]; //Questions
char a1[1000], b1[1000], c1[1000], d1[1000], e1[1000], f1[1000], g1[1000], h1[1000], i1[1000], j1[1000]; //Answers
cout << "Hello and welcome to the multi use study guide!" << endl;
cout << "You will be prompted to enter your questions and then after, your answers." << endl << endl;
system("PAUSE");
system("CLS");
cout << "First question: ";
cin.getline(a,sizeof(a));
cout << endl;
system("PAUSE");
system("CLS");
在这个片段中,我定义了多个 char变量并为它们分配了一个大小,然后检索用户输入以放入指定的变量。
我的问题是,如何在一个数组中定义单个char变量的大小而不是在一行中使用多个变量?
答案 0 :(得分:1)
您可以声明一个char数组数组:
#define NQUESTIONS 10
char question[NQUESTIONS][500];
char answer[NQUESTIONS][1000];
然后,您可以使用循环输入问题和答案。
for (int i = 0; i < NQUESTIONS; i++) {
cout << "Question #" << i+1 << ":";
cin.getline(question[i], sizeof(question[i]));
}
但C ++执行这些操作的方法是std::vector
包含std::string
。