#include <stdio.
h>
int main() {
int numGabaritos, numQuestoes;
char confirmarAlterar;
printf("Digite a quantidade de provas (gabaritos): ");
scanf("%d", &numGabaritos);
printf("Digite a quantidade de questões em cada prova: ");
scanf("%d", &numQuestoes);
char gabarito[numGabaritos][numQuestoes];
char respostas[numGabaritos][numQuestoes];
char disciplina[numGabaritos][50];
int i, j, corretas, incorretas, totalCorretas = 0, totalIncorretas = 0;
float porcentagem;
char resposta;
int aluno = 1;
printf("\n=====================================\n");
printf(" Entrada do Gabarito \n");
printf("=====================================\n\n");
for (i = 0; i < numGabaritos; i++) {
printf("Título da Disciplina do Gabarito %d: ", i + 1);
scanf(" %49[^\n]", disciplina[i]); // Lê o título da disciplina com
espaços
do {
printf("Gabarito %d (%s):\n", i + 1, disciplina[i]);
for (j = 0; j < numQuestoes; j++) {
printf("Resposta %d: ", j + 1);
scanf(" %c", &gabarito[i][j]);
}
printf("\nGabarito digitado:\n");
for (j = 0; j < numQuestoes; j++) {
printf("Resposta %d: %c\n", j + 1, gabarito[i][j]);
}
printf("As respostas estão corretas? (C) Confirmar / (A) Alterar: ");
scanf(" %c", &confirmarAlterar);
} while (confirmarAlterar == 'A' || confirmarAlterar == 'a'); // Repete até
confirmar
printf("\n");
}
do {
corretas = 0;
incorretas = 0;
printf("\n=====================================\n");
printf(" Prova/Aluno %d \n", aluno);
printf("=====================================\n\n");
for (i = 0; i < numGabaritos; i++) {
printf("Disciplina: %s\n", disciplina[i]);
do {
for (j = 0; j < numQuestoes; j++) {
printf("Resposta %d: ", j + 1);
scanf(" %c", &respostas[i][j]);
}
printf("\nRespostas digitadas:\n");
for (j = 0; j < numQuestoes; j++) {
printf("Resposta %d: %c\n", j + 1, respostas[i][j]);
}
printf("As respostas estão corretas? (C) Confirmar / (A) Alterar:
");
scanf(" %c", &confirmarAlterar);
} while (confirmarAlterar == 'A' || confirmarAlterar == 'a'); // Repete
até confirmar
}
printf("\n=====================================\n");
printf(" Comparação das Respostas \n");
printf("=====================================\n\n");
for (i = 0; i < numGabaritos; i++) {
printf("Disciplina: %s\n", disciplina[i]);
printf("Gabarito %d:\n", i + 1);
for (j = 0; j < numQuestoes; j++) {
printf("Resposta %d (%c) vs Gabarito %d (%c): ", j + 1,
respostas[i][j], j + 1, gabarito[i][j]);
if (respostas[i][j] == gabarito[i][j]) {
printf("Correta\n");
corretas++;
totalCorretas++;
} else {
printf("Incorreta\n");
incorretas++;
totalIncorretas++;
}
}
printf("\n");
}
porcentagem = (float)corretas / (corretas + incorretas) * 100;
printf("\n=====================================\n");
printf(" Resultado do Aluno %d \n", aluno);
printf("=====================================\n\n");
printf("Corretas: %d (%.2f%%)\n", corretas, porcentagem);
printf("Incorretas: %d\n", incorretas);
printf("\n=====================================\n");
printf(" Continuar? \n");
printf("=====================================\n\n");
printf("Deseja adicionar outras respostas para outro aluno? (S/N): ");
scanf(" %c", &resposta);
aluno++;
} while (resposta == 'S' || resposta == 's');
porcentagem = (float)totalCorretas / (totalCorretas + totalIncorretas) * 100;
printf("\n=====================================\n");
printf(" Resultado Geral \n");
printf("=====================================\n\n");
printf("Corretas: %d (%.2f%%)\n", totalCorretas, porcentagem);
printf("Incorretas: %d\n", totalIncorretas);
return 0;
}