scanf 'ler' apenas uma letra. [RESOLVIDO]

1. scanf 'ler' apenas uma letra. [RESOLVIDO]

/
Enter

(usa Outra)

Enviado em 05/12/2013 - 20:43h

Oi

Tudo bom?

Escrevi um código para fazer algumas perguntas,armazenar a resposta e mostrar na tela o que o usuário digitou.Mas quando executo o programa o comando 'scanf' armazena apenas uma letra.

código do programa
#include <stdio.h>

int main ()
{
char nome;
int idade;
char sexo;
float altura;
char esporte;

printf ("Responda as perguntas abaixo.\n");
printf ("Qual o seu nome completo?\n");
scanf ("%c", &nome);
printf ("Quantos anos você tem?\n");
scanf ("%i", &idade);
printf ("Qual o seu sexo?\n");
scanf ("%c", &sexo);
printf ("Qual a sua altura?\n");
scanf ("%f", &altura);
printf ("Qual é o seu esporte favorito?\n");
scanf ("%c", &esporte);

printf ("_______________________________\n\n");

printf ("Nome:%c\n",nome);
printf ("Idade:%i\n",idade);
printf ("Sexo:%c\n",sexo);
printf ("Altura:%f\n",altura);
printf ("Esporte favorito:%c\n",esporte);

return 0;
}

/*Como nitidamente dar para perceber,eu sou iniciante em programação ;)*/

Quando executo o código e respondo a primeira pergunta com o nome 'Douglas' aparece isso

Qual o seu nome completo?
Douglas
Quantos anos você tem?
Qual o seu sexo?
Qual a sua altura?
Qual é o seu esporte favorito?
_______________________________

Nome:D
Idade:134514155
Sexo:o
Altura:-0.000015
Esporte favorito:u

Você sabe onde estou errando?
Poderia me ajudar?


  


2. MELHOR RESPOSTA

Matheus Brito
kirito

(usa Slackware)

Enviado em 05/12/2013 - 20:57h

a variavel do tipo char, só guarda um caracter, para "pegar" varios caracteres, você precisa aprender o conceito de strings, entre nesse canal ( http://www.youtube.com/user/italogross ) e veja os videos relacionados a strings. Se quiser, eu posso fazer um texto explicando a lógica de strings e como manipulalas, eu digito hoje, mas vai demorar um pouco..

3. Re: scanf 'ler' apenas uma letra. [RESOLVIDO]

Matheus Brito
kirito

(usa Slackware)

Enviado em 05/12/2013 - 21:05h

E lembrando, que para aprender sobre strings, você precisa ter o conhecimento de laços de repetição, mas eu não sei o quão é o seu conhecimento em C.


4. Re: scanf 'ler' apenas uma letra. [RESOLVIDO]

/
Enter

(usa Outra)

Enviado em 05/12/2013 - 21:41h

kirito
Estou aprendendo a programar em C com os videos do italo do De aluno para aluno(estou na aula nº8) e com o livro Linguagem C(li apenas algumas paginas).E sobre o texto explicando a logica da string,agradeço,mas vou prosseguir com as aulas do Italo e quando chegar na aula da string eu corrijo o programar.


5. Re: scanf 'ler' apenas uma letra. [RESOLVIDO]

Matheus Brito
kirito

(usa Slackware)

Enviado em 05/12/2013 - 21:45h

Realmente, os vídeos do Italo são muito bons, eu assisti todos. Boa sorte nos estudos!


6. Re: scanf 'ler' apenas uma letra. [RESOLVIDO]

/
Enter

(usa Outra)

Enviado em 05/12/2013 - 21:52h

Obrigado.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts