请直接使用gotoxy函数和字符在此段代码中制作一个答题窗口: system("cls"); // 生成随机数种子 srand((unsigned)time(NULL)); // 循环出题 for (i = 0; i < 10; i++) { // 生成两个随机数和一个随机运算符 num1 = rand() % 100 + 1; num2 = rand() % 100 + 1; k = rand() % 4; switch (k) { case 0: op = '+'; result = num1 + num2; break; case 1: op = '-'; result = num1 - num2; break; case 2: op = '*'; result = num1 * num2; break; case 3: // 如果除数为0,则重新生成题目 if (num2 == 0) { i--; continue; } // 如果不能整除,则重新生成除数 if (num1 % num2 != 0) { i--; continue; } op = '/'; result = num1 / num2; break; } // 输出题目 printf("第%d题:%d %c %d = ", i + 1, num1, op, num2); // 等待用户输入答案 scanf("%d", &answer); // 判断答案是否正确 if (answer == result) { printf("回答正确!\n"); score += 10; } else { printf("回答错误!\n"); } }
时间: 2024-03-07 11:47:57 浏览: 84
下面是使用 `gotoxy` 函数和字符制作的答题窗口代码:
```
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
void gotoxy(int x, int y) {
COORD pos = {x, y};
HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleCursorPosition(hOut, pos);
}
int main() {
int i, num1, num2, result, answer, score = 0;
char op;
srand((unsigned)time(NULL));
system("cls");
for (i = 0; i < 10; i++) {
num1 = rand() % 100 + 1;
num2 = rand() % 100 + 1;
k = rand() % 4;
switch (k) {
case 0:
op = '+';
result = num1 + num2;
break;
case 1:
op = '-';
result = num1 - num2;
break;
case 2:
op = '*';
result = num1 * num2;
break;
case 3:
if (num2 == 0) {
i--;
continue;
}
if (num1 % num2 != 0) {
i--;
continue;
}
op = '/';
result = num1 / num2;
break;
}
gotoxy(0, i);
printf("第%d题:%d %c %d = ", i + 1, num1, op, num2);
scanf("%d", &answer);
if (answer == result) {
printf("回答正确!\n");
score += 10;
} else {
printf("回答错误!\n");
}
}
gotoxy(0, 11);
printf("总得分:%d\n", score);
return 0;
}
```
在上面的代码中,我们使用 `gotoxy` 函数在控制台窗口中移动光标,然后输出题目和答案。这样就可以制作一个简单的答题窗口了。
阅读全文