Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html For循环正在添加一个选项卡本身_Html_C_For Loop_Io_Cgi - Fatal编程技术网

Html For循环正在添加一个选项卡本身

Html For循环正在添加一个选项卡本身,html,c,for-loop,io,cgi,Html,C,For Loop,Io,Cgi,我正在编写一个程序来快速编写.html文件。这些.html文件主要包含问题和答案。选项为MCQ(多项选择题)表格。第一个问题很适合这个程序,但当我进入第二个问题时,它会向右移动一个选项卡和选项。我不明白为什么。代码如下: int main(){ int track=0; int thread=0; int question_no; char options[4][50]; FILE *fp = fopen ("test.html", "w");

我正在编写一个程序来快速编写.html文件。这些.html文件主要包含问题和答案。选项为MCQ(多项选择题)表格。第一个问题很适合这个程序,但当我进入第二个问题时,它会向右移动一个选项卡和选项。我不明白为什么。代码如下:

int main(){    
    int track=0;
    int thread=0;
    int question_no;
    char options[4][50];
    FILE *fp = fopen ("test.html", "w");
    printf("\n\aHow many questions?");
    scanf("%d",&question_no);
    while((c = getchar()) != '\n' && c != EOF) ;
    char question[question_no][100];

    for(track=1;track<=question_no;track++)
    {
        fprintf(fp,"\n<div class=\"question\"> ");
        printf("\n\aQuestion number %d.",track);
        fgets(question[track-1],sizeof(question[track-1]),stdin);
        fprintf(fp,"\nQ%d. %s </div>",track,question[track-1]);
        fprintf(fp,"\n<div class=\"options\">");
        fprintf(fp,"\n<form>");
        for(thread=1;thread<=4;thread++)
        {
            fprintf(fp,"<label><input type=\"radio\"id=\"q%dop%d\" name=\"q%d\" value=\"q%do%d\">",track,thread,track,track,thread);
            printf("\n\aOption. %d:",thread);
            fgets(options[thread-1],sizeof(options),stdin);
            fprintf(fp,"\n%d. %s",thread,options[thread-1]);
            fprintf(fp,"</label><br/>");
        }
        fprintf(fp,"\n</form>");
    }
    fclose(fp);
}
int main(){
int轨道=0;
int线程=0;
国际问题(无);
字符选项[4][50];
文件*fp=fopen(“test.html”,“w”);
printf(“\n\a有多少问题?”);
scanf(“%d”和问题编号);
而((c=getchar())!='\n'&&c!=EOF);
char问题[问题编号][100];

对于(track=1;track您缺少一个结束


for(track=1;track“通过一个选项卡向右移动”是什么意思?您能显示预期输出和实际输出吗?这两个问题的输出在.html源文件中是相同的。不,这也没有帮助。我认为下一个问题与上一个问题嵌套在一起。所以您是对的,我缺少了一个,但是…:-;在这种情况下,您可能还有其他html问题。您应该检查生成的H带有验证器的TML。例如hmmmm…你是对的。但是mozilla firefox正在为我做这部分。嘿,你是对的!实际上我把它放在For循环之外。:P
for(track=1;track<=question_no;track++)
{
    fprintf(fp,"\n<div class=\"question\"> ");
    printf("\n\aQuestion number %d.",track);
    fgets(question[track-1],sizeof(question[track-1]),stdin);
    fprintf(fp,"\nQ%d. %s </div>",track,question[track-1]);
    fprintf(fp,"\n<div class=\"options\">");    // This div is never closed!
    fprintf(fp,"\n<form>");
        for(thread=1;thread<=4;thread++)
            {
                fprintf(fp,"<label><input type=\"radio\"id=\"q%dop%d\" name=\"q%d\" value=\"q%do%d\">",track,thread,track,track,thread);
                printf("\n\aOption. %d:",thread);
                fgets(options[thread-1],sizeof(options),stdin);
                fprintf(fp,"\n%d. %s",thread,options[thread-1]);
                fprintf(fp,"</label><br/>");
            }
    fprintf(fp,"\n</form>");
    fprintf(fp,"\n</div>");    // Add this row to close the div
}
}