Liev Postado Maio 19, 2015 Denunciar Share Postado Maio 19, 2015 Alguém poderia me ajudar a encontrar o erro desse código? Ele só lê a primeira variável: #include <stdio.h> int main () { int idade[2]; float altura[4], peso[5]; char nome[50], telefone[15]; printf("Informe o nome: "); scanf("%c", &nome); printf("Informe a idade: "); scanf("%d", &idade); printf("Informe a altura: "); scanf("%f", &altura); printf("Informar o peso: "); scanf("%f", &peso); printf("Informe o telefone: "); scanf("%c", &telefone); printf("O nome informado é: %c ", nome); printf("A idade informada é: %d ", idade); printf("A altura informada é: %f\n ", altura); printf("O peso informado é: %f\n ", peso); printf("O telefone informado é: %c ", telefone); } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Felipe222 Postado Maio 19, 2015 Denunciar Share Postado Maio 19, 2015 (editado) Olá! O primeiro ponto é com a declaração as suas variáveis int e float: Em int idade a não ser que você vá utilizar um vetor de inteiros do tipo int chamado idade, você deveria ter declarado a sua variável idade apenas int idade, onde o tipo inteiro int vai armazenar todos os dígitos numéricos que o usuário informar, limitando-se apenas ao tamanho máximo que o tipo int permite armazenar e o mesmo vale para as variáveis float altura e float peso. Com relação ao char nome e char telefone você os declarou de forma correta, para o que eu acredito que seja o necessário para você ate o momento, mas o tipo char pode ser usado para armazenar dois valores possíveis, você pode armazenar um único caractere ou você pode armazenar um vetor de caracteres uma “string”. Na função scanf para armazenar um único caractere char letra; como exemplo, usa-se o código de formatação %c, onde apenas um único caractere será armazenado, porem, neste seu programa você quer armazenar um vetor de caracteres “string” e para isso você deve utilizar o código de formatação %s. O mesmo vale para exibir as informações no printf ! ! ! Com relação ao fato de seu programa ler apenas a primeira variável, muito provavelmente pode estar ocorrendo por pelo fato de a função scaf() ignorar tudo o que estiver após os espaços em branco em uma string que contenha espaços, como no caso de seu progrma char nome[50]; ou pelo fato de que pode estar ocorrendo de a função scanf() estar lendo o lixo de memoria do buffer de entrada do scanf() anterior! Leia este post: https://www.scriptbrasil.com.br/forum/topic/179317-ajuda-em-urna-eletronica-em-c/ onde tem uma boa explicação sobre scanf() Espero ter Ajudado ! ! ! Editado Maio 19, 2015 por Felipe-Petrópolis Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Barao Postado Maio 20, 2015 Denunciar Share Postado Maio 20, 2015 Testa esta versão minha ta tudo comentado. Boa sorte :D #include <stdio.h> #include <stdlib.h> int main (int argc, char *argv[])//sempre insira estes argumento na main { int idade; float altura, peso; char nome[50], telefone[15]; printf("\nInforme o nome: "); gets(nome);//Use %s para strings e %c para apenas um caractere. fflush(stdin);/*limpa o buffer do teclado apos ler strings e senguida ler numeros.*/ printf("\nInforme a idade: "); scanf("%d", &idade); printf("\nInforme a altura: "); scanf("%f", &altura); printf("\nInformar o peso: "); scanf("%f", &peso); fflush(stdin); printf("\nInforme o telefone: "); gets(telefone); system("cls"); printf("\nO nome informado e: %s\n", nome);//use %s para strings e %c para apenas um caractere. printf("A idade informada e: %d\n", idade); printf("A altura informada e: %.2f\n", altura);//.2f exibe apenas 2 casas apos o ponto. printf("O peso informado e: %0.2f Kg\n", peso); printf("O telefone informado e: %s\n", telefone);//use %s para strings e %c para apenas um caractere. getchar(); return 0;//não se esqueça que main deve rotornar zero nesta neste caso. } Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Liev
Alguém poderia me ajudar a encontrar o erro desse código? Ele só lê a primeira variável:
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
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.