• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

n3lThon

Leitura de Inteiros

7 mensagens neste tópico

Como faço a seguinte leitura para inteiros:

1 2 3 4 5 6

Isto sem saber a quantidade de valores que irão ser inseridos. Eles estão separados por um espaço e todos na mesma linha.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Lê caracter a caracter com o getchar() até encontrares um \n. Também deve dar para usar um loop com o scanf() (que retorna o número de coisas que consegui ler, por isso é fácil ver quando precisas de parar).

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Estou a perceber como fazer, excepto a parte de fazer um loop num scanf, nem depois de saber o número de valores inseridos, como colocá-los em variáveis.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Estou a perceber como fazer, excepto a parte de fazer um loop num scanf, nem depois de saber o número de valores inseridos, como colocá-los em variáveis.

Como não sabes o valor de items de antemão, tens de usar um array que aumente de tamanho automaticamente ou uma lista. Quanto ao loop do scanf, vou-te mostrar um pequeno exemplo.

Como te disse o scanf retorna o número de items que conseguiu ler, por isso usas algo do género:

while(scanf("%d", array[i++]) != 0);

Deve funcionar. :cheesygrin:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Mas para o loop parar é necessário colocar um eof.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Mas para o loop parar é necessário colocar um eof.

Quando o scanf não conseguir ler mais números, o loop vai parar. Epa eu não testei isto, mas deve funcionar.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se eu premir enter ele continua à espera que se insira números.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora