Dúvida – Ling C – Exercício 2 (M1A08)

Home Fóruns Linguagem C Dúvida – Ling C – Exercício 2 (M1A08)

Visualizando 8 respostas da discussão
  • Autor
    Posts
    • #108736
      Walker Rodrigues
      Participante

      Olá, boa tarde.

      Estou tentando resolver o segundo exercício (M1A08), mas quando coloco o código para rodar ele salta do SEXO para a NOTA. O que fiz de errado? Abaixo está o código:

      #include <stdio.h>
      #include <locale.h>

      void main () {

      setlocale (LC_ALL, “Portuguese”);

      char nome_1 [30]; char nome_2 [30]; char nome_3 [30];
      char sexo_1 [1]; char sexo_2 [1]; char sexo_3 [1];
      float nota_1; float nota_2; float nota_3;

      printf (“Cadastrando a primeira pessoa\n”);
      printf (“—————————–\n”);

      printf (“NOME: “);
      scanf (“%s”, &nome_1);
      fflush (stdin);

      printf (“SEXO [M/F]: “);
      scanf (“%s”, &sexo_1);
      fflush (stdin);

      printf (“NOTA: “);
      scanf (“%f”, &nota_1);
      printf (“\n”);
      fflush (stdin);

      printf (“Listagem Completa\n”);
      printf (“—————–\n”);
      printf (“NOME\tSEXO\tNOTA\n”);
      printf (“%s\t\t%s\t%f\n\n”, nome_1, sexo_1, nota_1);

      }

    • #108876
      Tutora Vera
      Mestre

      Walker, analisei o seu código e talvez você tenha repetido além do necessário o char, float e alguns caracteres.

      Veja o seu código:

      char nome_1 [30]; char nome_2 [30]; char nome_3 [30];
      char sexo_1 [1]; char sexo_2 [1]; char sexo_3 [1];

      Mais simplificado:

      Char nome1 [30], nome2 [30], nome3 [30];
      Char sexo1, sexo2, sexo3;
      Float nota1, nota2, nota3;

      Talvez seja a repetição, tente refazer o código.

      https://www.estudonauta.com/licao/lingc-ex004-listagem-completa-e-organizada/

    • #108913
      Walker Rodrigues
      Participante

      Olá, boa noite! Obrigado pela resposta.

      Após revisar o código milhares de vezes (no debugger), sempre conseguia o mesmo resultado: no segundo cadastro, ele saltava do nome para sexo. Então, resolvi deixar de ser teimoso e executá-lo no code:blocks e finalmente deu certo!

      Agora minha dúvida mudou um pouco… Porque no code:blocks ele funcionou como deveria e no debugger não?

      link do debbuger (https://www.onlinegdb.com/)

    • #108951
      Tutora Vera
      Mestre

      Walker, A linguagem C ela tem vários padrões, existem várias empresas que fabricam compiladores diferentes, por isso certas coisas funcionam em alguns e outros não, são coisas pontuais. A essência da linguagem C está sendo ensinada no curso como você pode analisar, o problema é que se você utilizar outro compilador ou interpretador online, pode ser que realmente algumas coisas não funcionem. Existem algumas adaptações, porém é necessário buscar alternativas para determinados comandos que não funcionaram e aí dá-lhe pesquisa pra buscar e solucionar isso, do contrário utilize o code blocks como utilizamos aqui no curso, beleza? 🖖

    • #108952
      Walker Rodrigues
      Participante

      Verdade. Sem problemas… kkkk bem complexo.
      Obrigado mesmo pela explicação!

    • #111694

      Olá, meu programa está rodando porém ele não está lendo os nomes completos na hora de listar.

      #include <stdio.h>

      void main () {

      char nom1 [30], nom2 [30], nom3 [35], sex1 [5], sex2 [5], sex3 [5];
      float nota1, nota2, nota3;

      printf(“Cadastrando a primeira pessoa:”);
      printf(“\n———————————“);
      printf(“\nNOME: “);
      scanf(“%s”, nom1);
      fflush(stdin);
      printf(“\nSEXO \[M\/F\]: “);
      scanf(“%s”, &sex1);
      printf(“\nNOTA: “);
      scanf(“%f”, &nota1);
      printf(“\n———————————“);
      printf(“\nNOME: “);
      scanf(“%s”, nom2);
      fflush(stdin);
      printf(“\nSEXO \[M\/F\]: “);
      scanf(“%s”, &sex2);
      printf(“\nNOTA: “);
      scanf(“%f”, &nota2);
      printf(“\n———————————“);
      printf(“\nNOME: “);
      scanf(“%s”, nom3);
      fflush(stdin);
      printf(“\nSEXO \[M\/F\]: “);
      scanf(“%s”, &sex3);
      printf(“\nNOTA: “);
      scanf(“%f”, &nota3);
      printf(“\nListagem Completa:”);
      printf(“\n———————————“);
      printf(“\nNOME \t\tSEXO NOTA”);
      printf(“\n%s\t\t %s %.1f”, nom1, sex1, nota1);
      printf(“\n%s\t\t %s %.1f”, nom2, sex2, nota2);
      printf(“\n%s\t\t %s %.1f”, nom3, sex3, nota3);
      printf(“\n———————————“);

      }

    • #111766
      Tutora Jessica
      Moderador

      Ola João, trouxe sua dúvida para uma já existente desse código, sempre que for publicar, veja se ela já não aparece pelo fórum o mesmo exercício e módulo, assim fica mais fácil e organizado nosso fórum.
      Veja se com o exemplo acima você consegue sanar a sua dúvida, senão, só retornar ao fórum que vamos tentar lhe ajudar.

    • #126928

      Ele não printa depois do espaço na parte de mostrar o nome na tabela do final do codigo “Questão da aula M108-Exercíos em Linguagem C”

      #import <stdio.h>
      #import <locale.h>
      #import <stdlib.h>

      void main (){

      setlocale(LC_ALL,”Portuguese”);

      char nome1 [40];
      char sexo1;
      float nota1;

      char nome2[40];
      char sexo2;
      float nota2;

      char nome3[40];
      char sexo3;
      float nota3;

      printf(“Cadastrando a primeira pessoa:\n——————————\n”);

      printf (“NOME: “);
      fflush(stdin);
      scanf(“%s”,&nome1);

      printf (“SEXO[M/F]: “);
      fflush(stdin);
      scanf(“%c”,&sexo1);

      printf (“NOTA: “);
      fflush(stdin);
      scanf(“%f”,&nota1);

      printf(“Cadastrando a segunda pessoa:\n——————————\n”);

      printf(“NOME: “);
      fflush(stdin);
      scanf(“%s”,&nome2);

      printf(“SEXO[M/F]: “);
      fflush(stdin);
      scanf(“%c”,&sexo2);

      printf(“NOTA: “);
      fflush(stdin);
      scanf(“%f”,&nota2);

      printf(“Cadastrando a terceira pessoa:\n——————————\n”);

      printf(“NOME: “);
      fflush(stdin);
      scanf(“%s”,&nome3);

      printf(“SEXO[M/F]: “);
      fflush(stdin);
      scanf(“%c”,&sexo3);

      printf(“NOTA: “);
      fflush(stdin);
      scanf(“%f”,&nota3);

      printf(“Listagem Completa\n——————————\n”);

      printf(“NOME \t\t Sexo \t NOTA \n”);

      printf(“%-15s %3c \t %.1f\n”,nome1,sexo1,nota1);
      printf(“%-15s %3c \t %.1f\n”,nome2,sexo2,nota2);
      printf(“%-15s %3c \t %.1f\n”,nome3,sexo3,nota3);

      printf(“\n——————————\n”);
      printf(“FIM.”);

      }

    • #126970
      Tutora Jessica
      Moderador

      Olá João, trouxe sua dúvida para uma ja existente no fórum, pelo fórum você encontra dúvidas do mesmo exercício.
      Caso não consiga resolver ou ainda fique alguma dúvida, só retornar ao fórum que iremos tentar lhe ajudar . 🖖

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