嗯,這裏是一個選項可能衆人中間有一個(你問C,因此,這裏的一些C代碼;在C++中,這本來可以做完全不同):
您需要定義一個結構來保存你的問題,也許是這樣的:
#define QUESTION_SZ 128 /* adjust to your needs, or use dynamic memory allocation */
#define ANSWER_SZ 128 /* ditto */
struct question
{
char question_text[QUESTION_SZ];
char answer[ANSWER_SZ];
};
然後,您可以創建問題的數組,並初始化:
struct question my_poll[32];
接下來,您可以遍歷您的問題陣列和處理它們:
int i = 0;
char *p = NULL;
int oops_we_failed = 0;
for(i = 0; i < 32; i++)
{
printf("Question %d: %s. Your answer?\n", i, my_poll[i].question);
/* fgets() will block until user enters an answer */
p = fgets(my_poll[i].answer, ANSWER_SZ, stdin);
if(NULL == p)
{
/* nothing was read, an error could have happened */
oops_we_failed = 1;
break;
}
else
{
/* now we have a possible answer stored in poll[i].answer */
}
}
現在你有問題和相應答案的數組。
您可能需要研究鏈接列表來動態創建任意長度的民意調查。
這個問題太含糊。你有什麼麻煩?打印問題?閱讀答案?存儲答案? – hugomg
對不起,多多少少有麻煩包裝如何循環打印1問題等待答案,然後繼續和循環。 –
如果你已經知道如何遍歷你的元素,你可以使用'char * gets(char * s)'來捕獲答案。 – Asblarf