1

我有 C 语言程序。

假设老师聘请您作为软件顾问编写一个程序,该程序将帮助讲师加快他们对多项选择题的评分。对于这个程序,您需要使用 C 编程语言做原型程序来标记由 10 个多项选择题组成的试卷。

每个问题有 a、b、c 和 d 四个选项。要求讲师查看学生的答题纸,并逐一输入答案(a、b、c 和 d)。C 程序必须将答案与解决方案进行比较,/如果答案正确则输出 a,x如果不正确则输出 a,然后程序必须从总共 10 分中计算获得的分数。

例子。

question 1: a/
question 1: bx

假设答案分别是 (a, b, c, d, a, b, c, d, a, b),我必须要求用户y再次按下循环并n退出循环。

z='y','n';
while (z=='y')
{
    while ( count<10)
    {
        printf("\n question #%d:",count+1);
        r=getch();

        while(r!='a' && r!='b' && r!='c' && r!='d')  
        {
            r=getch();
        }
        putch(r);    

        if (r==answer[count])
        {
            putch('/');
            mark=mark+1;
        }
        else 
        {
            putch('x');
        }
        count++;
    }
}

printf("\n\n the mark is:  %d / 10", mark);

printf("\n\n continue? (y / n)");
z=getch();      
printf("\n\n ");
system("pause");
return(0);
4

1 回答 1

0

您必须将所有内容包含在另一个循环中,当用户输入时应该中断'n'

就像是:

bool finished = false;
while (!finished) {
  // reset status of variables
  while (count < 10) {
    // your actual code
  }

  finished = /* users typed y or n */
}
于 2012-12-25T11:15:53.747 回答