
Hellsius
(usa Ubuntu)
Enviado em 08/05/2011 - 16:22h
4) Faça um programa que calcule as notas dos alunos em uma prova de múltipla escolha. Cada prova tem 5 questões e cada questão vale 2 pontos.
Primeiro deverá ser lida a quantidade de alunos e o gabarito para a correção da prova (vetor). Depois, para cada aluno ler o ra e suas respectivas respostas. Para cada aluno exibir seu rm e sua nota (ex.: 4 acertos, nota 4).
Duvida: Bom, tentei fazer só a parte de ler as notas dos alunos e depois informar a nota deles sem colocar RA, RM, primeiro tentei fazero grosso. Mas o programa só informa como saida nota 0 e se eu informo 2 alunos ele apenas pede as notas 1 vez.
Podem me ajudar? Lembrando que este é meu segundo exercicio de vertor então se tiver algo escandaloso, não linguem.
___________________
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <math.h>
/* */
int main()
{
// Variaveis
char gab[5] = { 'B', 'D', 'A', 'C', 'A' };
char resp[5];
int qtalunos;
int nota=0;
int pergunta, y, i, x; // Imprementos para o for
// Entrada de Dados
printf("Informe a quantidade de alunos: ");
scanf("%d*%c", &qtalunos);
// Processamento
for(pergunta=1, y=0; pergunta<6, y<5; pergunta++, y++) // Este for coleta as respostas das 5 perguntas.
{//i_for1
printf("Informe a resposta da pergunta %d", pergunta);
scanf("%s*%c", &resp[y]);
}//f_for1
for(i=1; i<qtalunos; i++) // Este for pega a quantidade de alunos e faz com que o 1° aluno entre no segundo for.
{//i_for2
for(x=0; x<5; x++) // Entrando neste segundo for deste primeiro aluno, é feita uma comparação das respostas e perguntas do aluno.
{//i_for3
if(resp[x]==gab[x])
{//i_if1
nota = nota+2;
}//f_if1
}//f_for3
printf("A nota do aluno%d eh: %d", i, nota); // Depois da comparação é exibido qual aluno e sua nota na avaliação.
}//f_for2
// Final do Codigo
getch();
return 0;
}