Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Problema com entrada de string


DsrGO

Pergunta

Eu de novo...

Preciso configurar um gabarito, que tem que receber até 5000 pessoas e 50 respostas de cada pessoa. Só que a reposta da ultima pessoa fica para todas as pessoas(!!!), já tentei muita coisa e não resolveu...

Código:

#include<stdio.h>
#include<conio.h>
#include<string.h>
int main(){
    int gabarito,g=1,q,t;
    char gbr[5000][50];
    int quantos,qt=0,aluno=1;
    printf("digite quantos candidatos prestaram o exame: ");
    scanf("%d",&quantos);
    printf("Quantas questoes serao utilizada: ");
    scanf("%d",&gabarito);
    for(qt=0;qt<quantos;qt++){
                              g=1;
                              for(q=0;q<gabarito;q++){
                                                      printf("\tQuestao %d: ",g);
                                                      fflush(stdin);
                                                      gets(gbr[q]);
                                                      g+=1;
                                                      }
                              aluno+=1;
                              }
    for(qt=0;qt<quantos;qt++){
                              printf("\n");
                              for(q=0;q<gabarito;q++){
                                                      printf("\t%s",gbr[q]);
                                                      }
                              }
    getch();
    return(0);
}

Entrada e saida:

gabf.jpg

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Porque sua lógica para entrada e impressão do gabarito tá errada.

for(qt=0;qt<quantos;qt++){
                              g=1;
                              for(q=0;q<gabarito;q++){
                                                      printf("\tQuestao %d: ",g);
                                                      fflush(stdin);
                                                      gets(gbr[q]);
                                                      g+=1;
                                                      }
                              aluno+=1;
                              }
Se você seguir o seu código passo a passo você vai ver que o que vai prevalecer é o ultimo gabarito. Se você declarou uma matriz de char para 5000 gabaritos e cada gabarito tem até 50 questões você tinha que fazer mais ou menos assim:
...
for(qt=0;qt<quantos;qt++)
{
        for(q=0;q<gabarito;q++)
        {
               printf("\tQuestao %d: ", q+1);
               fflush(stdin);
               getchar(gbr[qt][q]);                                                     
        }
}
...
Pra imprimir:
...
for(qt=0;qt<quantos;qt++)
{
        for(q=0;q<gabarito;q++)
        {
               printf("\t%c", gbr[qt][q]);                                                                    
        }
        printf("\n");
}
...

Não testei o código, qualquer coisa posta ai.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...