Exercicio Modulo 01

Home Fóruns Linguagem C Exercicio Modulo 01

Visualizando 3 respostas da discussão
  • Autor
    Posts
    • #66878

      Bom dia, estou apanhando nas tabela pra colocar a média das notas, ta saindo 0,0.
      Segue abaixo o código, não está essas maravilha toda (rsrsrs), mas estou fazendo o possível!

      
      #include <stdio.h>
      #include <locale.h>
      void main(){
          setlocale(LC_ALL,"Portuguese");
          char nome1[30];
          char nome2[30];
          char nome3[30];
          char sexo1[10];
          char sexo2[10];
          char sexo3[10];
          float m1;
          float m2;
          float m3;
          printf("Cadastrando a primeira pessoa:");
          printf("\n------------------------------");
          printf("\nNOME:");
          fflush(stdin);
          gets(nome1);
          printf("\nSEXO [M/F]:");
          gets(sexo1);
          printf("\nNOTA:");
          scanf("%.1f",&m1);
          //CADASTRANDO A SEGUNDA PESSOA.
          printf("\nCadastrando a segunda pessoa:");
          printf("\n------------------------------");
          printf("\nNOME:");
          fflush(stdin);
          gets(nome2);
          printf("\nSEXO:");
          gets(sexo2);
          printf("\nNOTA:");
          scanf("%.1f",&m2);
          //CADASTRANDO A TERCEIRA PESSOA.
          printf("\nCadastrando a terceira pessoa:");
          printf("\n------------------------------");
          printf("\nNOME:");
          fflush(stdin);
          gets(nome3);
          printf("\nSEXO:");
          gets(sexo3);
          printf("\nNOTA:");
          scanf("%.1f",&m3);
          //LISTAGEM COMPLETA.
          printf("\nListagem Completa");
          printf("\n------------------------------");
          printf("\nNome              Sexo  Nota");
          printf("\n%s" "%15s" "%.1f",nome1,sexo1,&m1);
          printf("\n%s" "%15s" "%.1f",nome2,sexo2,&m2);
          printf("\n%s" "%15s" "%.1f",nome3,sexo3,&m3);
      
    • #66941
      Tutora Mayla
      Mestre

      Italo, algumas considerações sobre o seu código:

      • scanf(“%.1f”,&m1); não é possível limitar a quantidade de casas decimais na leitura, apenas na escrita, então substitua para %f apenas.
      • Já na escrita, para escrever o valor da variável, não se deve por o &, basta substituir &m1 para m1 que será escrita a variável de forma correta`
      • De forma semelhante à leitura e escrita de m1 que mostrei aqui, faça a leitura e escrita de m2 e m3;

      Com isso o seu código deve funcionar perfeitamente, caso ainda haja algum problema volte a entrar em contato.
      Espero ter ajudado.

    • #67180
      João Vítor
      Participante

      Olá! Gostaria que checasse se o meu está correto e se tem alguma observação a acrescentar:

      #include <stdio.h>
      #include <locale.h>
      
      void main()
      {
          setlocale(LC_ALL, "");
      
          char nome1[100], nome2[100], nome3[100];
          char sexo1, sexo2, sexo3;
          float nota1, nota2, nota3;
      
          printf("<<< EX004 - Listagem >>>\n\n");
      
          printf("Cadastrando a primeira pessoa:\n");
          printf("------------------------------\n");
      
          // Primeira entrada
          printf("NOME: ");
          gets(nome1);
          printf("SEXO [M/F]: ");
          sexo1 = getchar();
          printf("NOTA: ");
          scanf("%f", &nota1);
          fflush(stdin);
      
          printf("\nCadastrando a segunda pessoa:\n");
          printf("------------------------------\n");
      
          // Segunda entrada
          printf("NOME: ");
          gets(nome2);
          printf("SEXO [M/F]: ");
          sexo2 = getchar();
          printf("NOTA: ");
          scanf("%f", &nota2);
          fflush(stdin);
         
          printf("\nCadastrando a segunda pessoa:\n");
          printf("------------------------------\n");
      
          // Terceira entrada
          printf("NOME: ");
          gets(nome3);
          printf("SEXO [M/F]: ");
          sexo3 = getchar();
          printf("NOTA: ");
          scanf("%f", &nota3);
          fflush(stdin);
      
          printf("\n");
      
          // Conclusao
          printf("\nListagem completa\n");
          printf("------------------------------\n");
      
          printf("NOME\t\tSEXO\tNOTA\n");
          
          printf("%s\t\t%c\t%.1f", nome1, sexo1, nota1);
          printf("\n%s\t\t%c\t%.1f", nome2, sexo2, nota2);
          printf("\n%s\t\t%c\t%.1f", nome3, sexo3, nota3);
      
          printf("------------------------------\n");
      
      }
    • #67307
      Tutora Mayla
      Mestre

      João, algumas observações sobre o seu código:

      • Tome cuidado ao copiar e colar código, pois muitos erros podem acontecer por descuido ao copiar e colar. No seu código a mensagem “Cadastrando a segunda pessoa” se repete onde deveria dizer “Cadastrando a terceira pessoa”
      • Ao executar o seu código o último printf sai ao lado da nota da terceira pessoa. Isto pode ser resolvido adicionando um \n antes dos traços, como você fez nas linhas logo acima deste

      Espero ter ajudado, quaisquer outras dúvidas basta entrar em contato.

Visualizando 3 respostas da discussão
  • Você deve fazer login para responder a este tópico.