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

(Resolvido) Verifiquem o erro para mim fazendo favor


Regner

Pergunta

Desculpe se estou postando em lugar errado, dei uma olhada no forum mas não achei um lugar mais adequado!

Estou aprendendo C agora e não estou conseguindo compilar esse sistema simples de entrada e saida de dados!

Estava usando o cout/cin, mas acontecia de colocar coisa composta no campo de entrada ( Ex: Digite seu nome: / Regner Henrique) ele pular o proximo comando, já pulando para o terceiro pedindo uma entrada( Ex: Digite seu Nome: Regner Henrique; Digite sua Idade: Digite sua Cidade: são Paulo )! Então conversei com um amigo programador e ele pediu para que eu usa-se Printf() e Scanf(), por que poderia ser esse fato! Li sobre os dois comandos mais eu não estou conseguindo compilar esse meu sistema, alguém pode me ajudar?

Segue abaixo o script:

#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <iostream.h>
#include <conio.h>

main ()
{

char n[20],i[15],s[10],p[6],a[6],pro[20],r[15],b[15],e[15],cep[10],t[10];
     
     printf ("Digite o seu Nome: ");
     scanf  (%s,n);
     printf ("Digite sua Idade: ");
     scanf  (%s,i);
     printf ("Digite o seu Sexo: ");
     scanf  (%s,s);
     printf ("Digite o seu Peso: ");
     scanf  (%s,p);
     printf ("Digite a sua Altura: ");
     scanf  (%s,a);
     printf ("Digite a sua Profissao: ");
     scanf  (%s,pro);
     printf ("Digite a sua Rua: ");
     scanf  (%s,r);
     printf ("Digite o seu Bairro: ");
     scanf  (%s,B);
     printf ("Digite o seu Estado: ");
     scanf  (%s,e);
     printf ("Digite o CEP: ");
     scanf  (%s,cep);
     printf ("Digite o seu telefone: ");
     scanf  (%s,t);
     system ("cls");
     printf ("Nome: %s", n);
     printf ("\nIdade: %s", i);
     printf ("\nSexo: %s", s);
     printf ("\nPeso: %s", p);
     printf ("\nAltura: %s", a);
     printf ("\nProfissao: %s", pro);
     printf ("\nRua: %s", r);
     printf ("\nBairro: %s", B);
     printf ("\nEstado: %s", e);
     printf ("\nCEP: %s", cep);
     printf ("\nTelefone: %s", t);
     system ("pause");
}

Grato! Desculpe-me se postei em lugar errado!

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Descobri alguns erros e arrumei:

#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <iostream.h>
#include <conio.h>

main ()
{
char   n[20],s[10],pro[20],r[15],b[15],e[15],cep[10],t[10];
int    i;
float  p,a;

printf ("Digite o seu Nome: ");
gets   (n);
fflush (stdin);
printf ("Digite sua Idade: ");
scanf  ("%f",&i);
fflush (stdin);
printf ("Digite o seu Sexo: ");
gets   (s);
fflush (stdin);
printf ("Digite o seu Peso: ");
scanf  ("%f",&p);
fflush (stdin);
printf ("Digite a sua Altura: ");
scanf  ("%f",&a);
fflush (stdin);
printf ("Digite a sua Profissao: ");
gets   (pro);
fflush (stdin);
printf ("Digite a sua Rua: ");
gets   ®;
fflush (stdin);
printf ("Digite o seu Bairro: ");
gets   (B);
fflush (stdin);
printf ("Digite o seu Estado: ");
gets   (e);
fflush (stdin);
printf ("Digite o CEP: ");
gets   (cep);
fflush (stdin);
printf ("Digite o seu telefone: ");
gets   (t);
fflush (stdin);
system ("cls");
printf ("Nome: %s", n);
printf ("\nIdade: %i", i);
printf ("\nSexo: %s", s);
printf ("\nPeso: %d", p);
printf ("\nAltura: %d", a);
printf ("\nProfissao: %s", pro);
printf ("\nRua: %s", r);
printf ("\nBairro: %s", B);
printf ("\nEstado: %s", e);
printf ("\nCEP: %s", cep);
printf ("\nTelefone: %s", t);
printf ("\n\n")/
system ("pause");
}

Só que estou com um problema! Quando vou digitar o peso e a altura, que estão em float, ele imprimi um monte de numero nada a ver, alguém pode me ajudar?

Link para o comentário
Compartilhar em outros sites

  • 0

Olá amigo!

Tem uns pequenos erros ai no seu código, mas são coisas simples, como usar %f pra uma variável inteira ou %d para um float, alguns nomes errados de variáveis e tal... mas é só ir seguindo os erros apontados pelo compilador que você corrige fácil fácil.

Quanto ao problema dos "números nada a ver" quando você vai imprimir um float, isso é normal. Por padrão todas as casas decimais são exibidas.

Você pode controlar isso fazendo assim:

printf("%.2f",variavel);

Observe o .2 entre o % e o f. Isso diz que é para imprimir apenas duas casas decimais. As outras serão arredondadas automaticamente.

Existem MUITOS desses truques com o printf e realmente vale a pena aprender alguns deles, basta dar uma googlada e você encontra.

Espero ter ajudado!

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,5k
×
×
  • Criar Novo...