Modulo 1 ex004

Home Fóruns Linguagem C Modulo 1 ex004

Visualizando 9 respostas da discussão
  • Autor
    Posts
    • #75676
      André Vieira Endo
      Participante

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

      void main() {
      char nome1[20],nome2[20],nome3[20];
      char sexo1,sexo2,sexo3;
      float nota1,nota2,nota3;

      setlocale(LC_ALL, “Portuguese”);

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

      printf(“NOME: “);
      scanf(“%s”, &nome1);
      printf(“SEXO [M/F]: “);
      scanf(“%s”, &sexo1);
      printf(“NOTA: “);
      scanf(“%f”, &nota1);

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

      printf(“NOME: “);
      scanf(“%s”, &nome2);
      printf(“SEXO [M/F]: “);
      scanf(“%s”, &sexo2);
      printf(“NOTA: “);
      scanf(“%f”, &nota2);

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

      printf(“NOME: “);
      scanf(“%s”, &nome3);
      printf(“SEXO [M/F]: “);
      scanf(“%s”, &sexo3);
      printf(“NOTA: “);
      scanf(“%f”, &nota3);

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

      printf(“NOME \tSEXO \tNOTA\n”);
      printf(“%-20s\t %-1s\t%.1f”,nome1,sexo1,nota1);
      printf(“%-20s\t %-1s\t%.1f”,nome2,sexo2,nota2);
      printf(“%-20s\t %-1s\t%.1f”,nome3,sexo3,nota3);

      }
      Não estou conseguindo mostrar no tela o resultado.

    • #75994
      Tutora Mayla
      Mestre

      André, para a leitura de strings o correto é colocar a variável sem o &, ficando assim scanf(“%s”, nome1); e para leitura de char o correto seria utilizar o %c ficando assim scanf(“%c”, &sexo1);
      Espero ter ajudado, caso após essas mudanças o problema continue, volte a entrar em contato dando mais detalhes que lhe ajudaremos.

    • #79046
      Vitória Nunes
      Participante

      Alguém poderia me ajudar no exercício 04? vou colocar meu código aqui. ele executa apenas a primeira partes e nao acontece nada nas outras.

      #include <stdio.h>

      void main();{

      char nome[10], nome2 [10], nome3[10];
      char sexo[10], sexo2 [10], sexo3[10];
      float nota, nota2, nota3;

      printf(“Cadastrando a 1 pessoa: \n —————————— \n”);
      printf(“NOME: “);
      gets(nome);
      printf(“SEXO: “);
      gets(sexo);
      printf(“NOTA: “);
      scanf(“%f”, nota);

      printf(“Cadastrando a 2 pessoa: \n —————————— \n”);
      printf(“NOME: “);
      gets(nome2);
      printf(“SEXO: “);
      gets(sexo2);
      printf(“NOTA: “);
      scanf(“%f”, nota2);

      printf(“Cadastrando a 3 pessoa: \n —————————— \n”);
      printf(“NOME: “);
      gets(nome3);
      printf(“SEXO: “);
      gets(sexo3);
      printf(“NOTA: “);
      scanf(“%f”, nota3);

      }

      • #79371
        Tutora Mayla
        Mestre

        Vitória, movi o seu tópico para o fórum referente a Linguagem C e o adicionei a um tópico já existente sobre o assunto. Antes de postar fique atenta se já existe um tópico sobre o assunto.
        Para resolver o seu problema, adicione o & nos scanf ao ler as notas, ficando por exemplo scanf("%f", &nota);

        Espero ter ajudado, quaisquer dúvidas estamos à disposição.

      • #90430

        Professora, meu codigo está praticamente igual ao da Vitoria, mas quando mando rodar verifico que após preencher a 1ª varavel nome1, quando aperto enter as duas outras variaveis rodam de uma so vez. Sabe dizer pq isso acontece?

      • #90431

        #import<stdio.h>
        #import<locale.h>
        void main(){
        setlocale(LC_ALL, “Portuguese”);
        char nome1[20], nome2[20], nome3[20];
        char sexo1, sexo2, sexo3;
        float nota1, nota2, nota3;
        printf(“Cadastrando a Primeira Pessoa:\n—————————–\n”);
        printf(“NOME:”);
        gets(nome1);
        printf(“SEXO:”);
        gets(sexo1);
        printf(“NOTA:”);
        scanf(“%f”, &nota1);
        printf(“Cadastrando a Segunda Pessoa:\n—————————–\n”);
        fflush(stdin);
        printf(“NOME:”);
        gets(nome2);
        printf(“SEXO:”);
        scanf(“%s”, &sexo2);
        printf(“NOTA:”);
        scanf(“%f”, &nota2);
        printf(“Cadastrando a terceira pessoa:\n—————————–\n”);
        fflush(stdin);
        printf(“NOME:”);
        scanf(“%s”, &nome3);
        fflush(stdin);
        printf(“SEXO:”);
        scanf(“%s”, &sexo3);
        fflush(stdin);
        printf(“NOTA:”);
        scanf(“%f”, &nota3);
        printf(“\nListagem Completa\n—————————–\n”);
        printf(“NOME\t\tSEXO\tNOTA\n%-15s%-2s%2.1f” , nome1, sexo1, nota1);

        OBS.: A ultima linha do programa anda está em desenvolvimento, e se puder me ajudar com ela, agadeço!

    • #91403
      Edi Oliveira
      Participante

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

      void main(){
      setlocale(LC_ALL, “Portuguese”);

      //DECLARAÇÃO DE VARIAVEL//
      char nome[10]; char sexo; float nota;
      char nome2[10]; char sexo2; float nota2;
      char nome3[10]; char sexo3; float nota3;

      //DECLARAÇÃO DE DADOS//
      //(01)
      printf(“Castro da primeira pessoa:\n—————\n”);

      printf(“NOME: “);
      fflush(stdin);
      gets(nome);
      printf(“SEXO [M/F]: “);
      fflush(stdin);
      sexo = getchar();
      printf(“NOTA: “);
      scanf(“%f”, &nota);
      //(02)
      printf(“\nCadastro da segunda pessoa:\n—————\n”);

      printf(“NOME: “);
      fflush(stdin);
      gets(nome2);
      printf(“SEXO [M/F]: “);
      fflush(stdin);
      sexo2 = getchar();
      printf(“NOTA: “);
      scanf(“%f”, &nota2);
      //(03)
      printf(“\nCadastro da terceira pessoa:\n—————\n”);

      printf(“NOME: “);
      fflush(stdin);
      gets(nome3);
      printf(“SEXO [M/F]: “);
      fflush(stdin);
      sexo3 = getchar();
      printf(“NOTA: “);
      scanf(“%f”, &nota3);

      //FIM
      printf(“\nListagem Completa\n—————\n”);
      printf(“\nNOME\tSEXO\tNOTA\n”);

      printf(“%s\t%c\t%.1f\n”, nome, sexo, nota);
      printf(“%s\t%c\t%.1f\n”, nome2, sexo2, nota2);
      printf(“%s\t%c\t%.1f\n”, nome3, sexo3, nota3);

      • #91557

        Edi, poderia nos informar qual é a sua dúvida? O código que você colocou está apresentando algum tipo de erro?

    • #91960
      Antonio Sanches
      Participante

      EU FIZ DA SEGUINTE FORMA

    • #91961
      Antonio Sanches
      Participante

      EU CONSEGUI RESOLVER DA SEGUINTE FORMA:

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

      void main(){

      setlocale(LC_ALL,”Portuguese”);

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

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

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

      char nome4[20];
      char sexo4;
      float nota4;

      printf(“\n\nListagem dos Alunos >> Cadastro”);

      printf(“\n———————————-\n”);

      printf(“Cadastro da Primeira Pessoa: “);
      printf(“\n———————————-\n”);
      printf(“NOME:”);
      fflush(stdin);
      gets(nome1);
      printf(“Sexo [M\\F]: “);
      fflush(stdin);
      sexo1=getchar();
      printf(“Nota: “);
      scanf(“%f”,&nota1);

      printf(“\n———————————-\n”);

      printf(“Cadastro da Segunda Pessoa: “);
      printf(“\n———————————-\n”);
      printf(“NOME:”);
      fflush(stdin);
      gets(nome2);
      printf(“Sexo [M\\F]: “);
      sexo2=getchar();
      printf(“Nota: “);
      scanf(“%f”,&nota2);

      printf(“\n———————————-\n”);

      printf(“Cadastro da Terceira Pessoa: “);
      printf(“\n———————————-\n”);
      printf(“NOME:”);
      fflush(stdin);
      gets(nome3);
      printf(“Sexo [M\\F]: “);
      fflush(stdin);
      sexo3=getchar();
      printf(“Nota: “);
      scanf(“%f”,&nota3);

      printf(“\n———————————-\n”);

      printf(“Cadastro da Quarta Pessoa: “);
      printf(“\n———————————-\n”);
      printf(“NOME:”);
      fflush(stdin);
      gets(nome4);
      printf(“Sexo[M\\F]: “);
      sexo4=getchar();
      printf(“Nota: “);
      scanf(“%f”,&nota4);
      printf(“\n———————————-\n”);

      printf(“NOME SEXO NOTA”);
      printf(“\n———————————-\n”);
      printf(“%-20s %c %.2f\n”,nome1,sexo1,nota1);
      printf(“%-20s %c %.2f\n”,nome2,sexo2,nota2);
      printf(“%-20s %c %.2f\n”,nome3,sexo3,nota3);
      printf(“%-20s %c %.2f\n”,nome4,sexo4,nota4);
      printf(“———————————-\n”);
      }

    • #103111
      werik alves de souza
      Participante

      char nome1,nome2 [10];
      char sexo1;
      int nota1;
      printf(“\n”);
      printf(“Cadastrando a primeria pessoa:\n”);
      printf(“——————————\n”);
      printf(“Nome:”);
      scanf(“%s”,&nome1);
      printf(“Sexo: [M/F] “);
      scanf(“%s”,&sexo1);
      printf(“Nota:”);
      scanf(“%d”,&nota1);
      printf(“\n”);

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

      scanf(“%s”,&nome2);

      olá estou com uma duvida referente a esse código eu não consigo gerar outro nome de usuario.

    • #103184
      Tutora Jessica
      Moderador

      Ola Werick,
      Movi sua dúvida para um tópico já criado com a mesma dúvida.
      Veja se com as explicações anteriores você consegue resolver sua dúvida.
      Peço para que sempre procure no fórum se já não há tópicos com a mesma dúvida antes de postar, caso já tenha, só postar a sua duvida no tópico já criado, assim ajudamos mais alunos e o fórum fica mais organizado.
      Bons estudos 🖖

    • #122940
      Marcello Matos
      Participante

      Boa noite, segue abaixo o código resolvido graças a Deus…
      Deveria ter videos explicativos sobre os exercícios…
      O curso de Python que eu fiz estava assim e me dei super bem, fiquei feliz e aprendi e tenho muito o que aprender ainda mais, mas isso aqui faz com que a gente pegue raiva da linguagem, pois vou postar aqui e também nem tenho certeza que realmente se está correto.

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

      void main() {
      setlocale(LC_ALL, “Portuguese”);
      char nome1[40], nome2[40], nome3[40];
      char c1, c2, c3;
      float nota1, nota2, nota3;

      printf(“Cadastrando a Primeira Pessoa:\n”);
      printf(“——————————\n”);
      fflush(stdin);
      printf(“Informe o nome da Primeira Pessoa: “);
      scanf(” %[^\n]”, nome1); // Use %[^\n] para ler o nome completo com espaços
      fflush(stdin);
      printf(“SEXO (M/F): “);
      scanf(” %c”, &c1);
      fflush(stdin);
      printf(“NOTA: “);
      scanf(“%f”, &nota1);
      fflush(stdin);

      printf(“Cadastrando a Segunda pessoa:\n”);
      printf(“——————————\n”);
      fflush(stdin);
      printf(“Informe o nome da Segunda Pessoa: “);
      scanf(” %[^\n]”, nome2);
      fflush(stdin);
      printf(“SEXO (M/F): “);
      scanf(” %c”, &c2);
      fflush(stdin);
      printf(“NOTA: “);
      scanf(“%f”, &nota2);

      printf(“Cadastrando a Terceira Pessoa:\n”);
      printf(“——————————\n”);
      fflush(stdin);
      printf(“Informe o nome da Terceira Pessoa: “);
      scanf(” %[^\n]”, nome3);
      fflush(stdin);
      printf(“SEXO (M/F): “);
      scanf(” %c”, &c3);
      fflush(stdin);
      printf(“NOTA: “);
      scanf(“%f”, &nota3);

      printf(“Listagem Completa\n”);
      printf(“——————————\n”);
      printf(“%-40s %-20s %-10s\n”, “NOME”, “SEXO”, “NOTA”);
      printf(“%-40s %-20c %-10.2f\n”, nome1, c1, nota1);
      printf(“%-40s %-20c %-10.2f\n”, nome2, c2, nota2);
      printf(“%-40s %-20c %-10.2f\n”, nome3, c3, nota3);

      }

    • #123570
      Jader Moura Lattarulo
      Participante

      Olá,

      Estou tendo problema com o código do exercício.
      A parte do cadastro dos nomes, sexo e notas funciona ok, mas ele não exime o resultado na tela.
      Segue abaixo:

      #import <stdio.h>
      #include <locale.h>
      void main() {
      char nome01[30], nome02[30], nome03[30], nome04[30];
      char sex01, sex02, sex03, sex04;
      float nota01, nota02, nota03, nota04;
      printf(“<<< EX004 – Listagem >>>\n”);
      printf(“\nCadastrando a primeira pessoa:\n”);
      printf(“——————————–\n”);
      fflush(stdin);
      printf(“Nome: “);
      gets(nome01);
      printf(“SEXO [M/F]: “);
      sex01 = getchar();
      printf(“NOTA: “);
      scanf(“%f”, &nota01);
      printf(“\nCadastrando a segunda pessoa:\n”);
      printf(“——————————–\n”);
      printf(“Nome: “);
      fflush(stdin);
      gets(nome02);
      printf(“SEXO [M/F]: “);
      sex02 = getchar();
      printf(“NOTA: “);
      scanf(“%f”, &nota02);
      printf(“\nCadastrando a terceira pessoa:\n”);
      printf(“——————————–\n”);
      printf(“Nome: “);
      fflush(stdin);
      gets(nome03);
      printf(“SEXO [M/F]: “);
      sex03 = getchar();
      printf(“NOTA: “);
      scanf(“%f”, &nota03);
      printf(“\nCadastrando a quarta pessoa:\n”);
      printf(“——————————–\n”);
      printf(“Nome: “);
      fflush(stdin);
      gets(nome04);
      printf(“SEXO [M/F]: “);
      sex04 = getchar();
      printf(“NOTA: “);
      scanf(“%f”, nota04);
      printf(“\nListagem completa\n”);
      printf(“——————————–\n”);
      printf(“NOME SEXO NOTA \n”);
      printf(“%-30s %c %6.1f \n”, nome01, sex01, nota01);
      printf(“%-30s %c %6.1f \n”, nome02, sex02, nota02);
      printf(“%-30s %c %6.1f \n”, nome03, sex03, nota03);
      printf(“%-30s %c %6.1f \n”, nome04, sex04, nota04);
      printf(“——————————–\n”);
      }

      Sei que fiz uma pessoa a mais, mas só percebi depois rs…

      • #123585
        Tutora Jessica
        Moderador

        Ola Jader,
        Para que seu código funcione você precisa se atentar a alguns erros que aparecem no terminal, o primeiro é trocar o seu #import <stdio.h>, por #include <stdio.h>.
        No seu ultimo scanf do nota04 esta faltando o &, deve ficar dessa forma:
        scanf(“%f”, &nota04);.
        Após essas mudanças para seu código funcionar corretamente, você vai precisar fazer algumas mudanças, retire todos os
        fflush(stdin);,
        No código ele também aparece alguns Warning dizendo que algumas funções não estão mais sendo usadas, uma solução seria trocar todos os gets e getchar por scanf, ficando dessa forma:

         #include <stdio.h>
        #include <locale.h>
        void main() {
            char nome01[30], nome02[30], nome03[30], nome04[30];
            char sex01, sex02, sex03, sex04;
            float nota01, nota02, nota03, nota04;
        
            printf("<<< EX004 – Listagem >>>\n");
            printf("\nCadastrando a primeira pessoa:\n");
            printf("——————————–\n");
            printf("Nome: ");
            scanf("%s", &nome01);
            printf("SEXO [M/F]: ");
            scanf(" %c", &sex01);
            printf("NOTA: ");
            scanf("%f", &nota01);
        
            printf("\nCadastrando a segunda pessoa:\n");
            printf("——————————–\n");
            printf("Nome: ");
            scanf("%s", &nome02);
            printf("SEXO [M/F]: ");
            scanf(" %c", &sex02);
            printf("NOTA: ");
            scanf("%f", &nota02);
        
            printf("\nCadastrando a terceira pessoa:\n");
            printf("——————————–\n");
            printf("Nome: ");
            scanf("%s", &nome03);
            printf("SEXO [M/F]: ");
            scanf(" %c", &sex03);
            printf("NOTA: ");
            scanf("%f", &nota03);
        
            printf("\nCadastrando a quarta pessoa:\n");
            printf("——————————–\n");
            printf("Nome: ");
            scanf("%s", &nome04);
            printf("SEXO [M/F]: ");
            scanf(" %c", &sex04);
            printf("NOTA: ");
            scanf("%f", &nota04);
            
            printf("\nListagem completa\n");
            printf("——————————–\n");
            printf("NOME SEXO NOTA \n");
            printf("%-30s %c %6.1f \n", nome01, sex01, nota01);
            printf("%-30s %c %6.1f \n", nome02, sex02, nota02);
            printf("%-30s %c %6.1f \n", nome03, sex03, nota03);
            printf("%-30s %c %6.1f \n", nome04, sex04, nota04);
            printf("——————————–\n");
        }

        É importante sempre pesquisar novas soluções para seus futuros códigos, eles estão sempre em evolução e para um bom programador é um diferencial a pesquisa aprofundada de soluções para os problemas que sempre aparecem nos códigos.
        Espero ter ajudado, caso tenha mais alguma dúvida só retornar ao fórum que iremos lhe ajudar.

        Bons estudos 🖖

      • #142307

        Olá! Consegui resolver algumas das dúvidas apenas com a leitura do tópico, contudo, ao me deparar com a sua resposta ao colega, não pude deixar de notar que ao fazer o scanf de strings você utilizou o & – [scanf(“%s”, &nome01);]. Lembro do professor Gustavo dizer claramente que não se usa & para strings, isso mudou, não mudou ou não faz diferença?

      • #142320
        Tutora Jessica
        Moderador

        Olá Bruno, algumas tags mudaram sim e fazem diferença, te sugiro tentar para perceber os erros que aparecem, ou se o código continua limpo sem erros. Isso é um bom teste para ir reconhecendo as atualizações, erros e com isso fazerem mais pesquisas relacionadas e correções.

        • Esta resposta foi modificada 2 meses, 3 semanas atrás por Tutora Jessica.
Visualizando 9 respostas da discussão
  • Você deve fazer login para responder a este tópico.