0

Gostaria de uma Ajuda em C

George Santos
George Santos

Pessoal, estou começando agora, me surgiu essa duvida na Linguagem C, eu quero colocar vários " scanf " pulando cada linha, mais não consigo, ele só pula a primeira linha. Gostaria de fazer Tipo um questionário para o cliente e não consigo. Alguém pode me ajudar?

-----


#include <stdio.h>

#include <stdlib.h>


int main() {

   

  int nome, endereco, cidade, estado;

   

  

  printf("Digite o nome do Aluno:\n");

  scanf ("%i", &nome);


  printf("Digite o endereço:\n");

  scanf ("%d", &endereco);


  printf("Digite o Cidade:\n");

  scanf ("%d", &cidade);

   

   

 

  

  return 0;

}

0
0

Comentários (6)

1
George Santos

George Santos

18/08/2021 14:54

Obrigado, @Carlos Monteiro, @leonardo Moraes, @Wesley Carneiro, vocês resolveram minhas duvidas. To começando aprender agora e vcs me ajudaram muito.

1
Carlos Monteiro

Carlos Monteiro

18/08/2021 13:54

As variáveis estão declaradas como int, então espera q a entrada seja um número inteiro, sugiro que mude os tipos das variáveis, coloque para string que irá receber uma entrada de texto,

1
R

Raul Dias

18/08/2021 16:23

Também seria interessante você procurar uma função na biblioteca stdin chamada "fflush".

Ela limpa o buffer do teclado, ajudando a obter a entrada sem a "sujeira" que fica no buffer.

🚀🚀🚀

0
George Santos

George Santos

18/08/2021 18:56

Olá Raul Dias


Vou buscar por essa informação, agradeço por enviar seu conhecimento

1
W

Wesley Carneiro

18/08/2021 14:46

Olá, boa tarde!


Você declarou as variáveis como sendo do tipo inteiro(int) e por isso não será possível receber letras ou palavras como entrada. Para você receber uma entrada que contém caracteres, em C será preciso criar um array do tipo char, isto é, uma string.


Por exemplo, daria para fazer dessa forma:

int main()

{

    char nome[20], endereco[50], cidade[20], estado[20];


    printf("Digite o nome do Aluno:\n");

    gets(nome);


    printf("Digite o endereco:\n");

    gets(endereco);


    printf("Digite o Cidade:\n");

    gets(cidade);


    printf("Digite o Cidade:\n");

    gets(estado);


    printf("\nNome: %s\n"nome);

    printf("Endereco: %s\n"endereco);

    printf("Cidade: %s\n"cidade);

    printf("Estado: %s\n"estado);


    return 0;

}


Em C a função scanf() não lê por padrão espaços e não ignora o ENTER, que também é interpretado como um caractere. Por isso utilizei a gets() por ser mais prático.

Espero ter ajudado, bons estudos!


1
L

Leonardo Moraes

18/08/2021 14:25

Imagino que esteja dando erro pelo tipo das variáveis, que foram declaradas como int, sendo assim os inputs deveriam ser números inteiros.


Para leitura de strings, sugiro que siga este passo a passo para ler corretamente as variáveis de texto: https://www.knowprogram.com/c-programming/read-and-display-the-string-in-c-programming/

Estudando Engenharia de Software

Brasil