Não faço ideia como fazer essa questão, tentei usar uma comparação de strings para cada elemento da string, mas não funciona, segue o que tentei:
PS: não sei como deixar tudo tabulado direitinho e as bibliotecas as vezes não aparecem aqui, contudo estão no programa.
#include <studio.h>
#include <stdlib.h>
#include <string.h>
int main() {
int i,j,n=0,nota;
char res[10] = {'C','B','A','B','E','D','D','A','C','E'}, alu[10], aluM[10];
printf("Digite as respostas do aluno:\n");
gets(alu);
strcpy(aluM,strupr(alu)); //copio as respostas todas em maiúsculo
for(i=0;i<10;i++){
for(j=0;j<10;j++){
n=0;
if(strcmp(res[i],aluM[j])==0){ //tento comparar cada índice como se fosse cada letra
n++;
nota = n;
}
}
}
printf("Nota: %d", nota);
return 0;
}
Anexos:
Soluções para a tarefa
Respondido por
0
Não vai funcionar mesmo, pois strings são aspas duplas. E o que podes fazer é um for ou função que faça isso, por exemplo:
for(i = 0; i<10; i++){
if(res[i]==alunores[i]) acertos++; }
Para isso, crie a variável acertos com valor inicial 0(int acertos =0;).
E antes do for acima, cria um for ou função que recebe o gabarito do aluno, exemplo:
for(i=0; i<10; i++){
printif("Qual foi a resposta da questão %d(A, B, C, D ou E): ", i+1);
scanf("%c", &alunores[i]);
fflush(stdin); }// caso o teu sistema for linux substitua o fflush por _fpurge(stdin);
for(i = 0; i<10; i++){
if(res[i]==alunores[i]) acertos++; }
Para isso, crie a variável acertos com valor inicial 0(int acertos =0;).
E antes do for acima, cria um for ou função que recebe o gabarito do aluno, exemplo:
for(i=0; i<10; i++){
printif("Qual foi a resposta da questão %d(A, B, C, D ou E): ", i+1);
scanf("%c", &alunores[i]);
fflush(stdin); }// caso o teu sistema for linux substitua o fflush por _fpurge(stdin);
thallescedro:
Mas pode comparar string desse modo? com == ? não teria que usar a strcmp?
Perguntas interessantes
Geografia,
10 meses atrás
Contabilidade,
10 meses atrás
Português,
10 meses atrás
Administração,
1 ano atrás
Pedagogia,
1 ano atrás