sábado, 30 de janeiro de 2010

Leitura e escrita de valores.

Continuando a ultima parte, vamos a seguinte situação.
No programa da sorveteria que fizemos, nós atribuimos valores para a quantidade e o valor de cada sorvete. Porém, e se o usuário quisesse indicar esses valores e o programador não o soubesse? Isso seria um problema, porém, vamos conhecer a função que efetua a leitura de valores através do teclado.

Essa função é a função scanf.

suponhamos que tenhamos criado a variável a. como nesse ex:

int a;

e agora o usuário (e não o programador) queira atribuir um valor a essa variavel "a".
Para fazermos isso, utilizaremos a função scanf que funciona desse modo:

scanf("%d",&a);


obs importante: para usuários windows, quando utilizarem a função scanf, não importa o número de vezes que usarem, coloquem 2 getchar(); ao invés de apenas 1, como estavamos fazendo.

você deve estar se perguntando, mas o que é %d?
%d indica que estamos querendo ler um número Decimal, como o próprio "d" já diz.
Após isso, fechamos as aspas e colocamos um virgula e agora, indicaremos que a variável que receberá esse valor lido do teclado, é a variavel "a".
Para isso escrevemos &a indicando que o valor lido do teclado, irá ser armazenado no endereço (por isso o uso do &) de onde a variável "a" se localiza.

de modo análogo, se quisessemos ler um número real do teclado, utilizariamos %f que indica número de ponto flutuante. como no ex:

float b;

scanf("%f",&b);

Ou seja, caso quisessemos ler 5 números inteiros, fariamos:

int a;
int b;
int c;
int d;
int e;

scanf("%d",&a);
scanf("%d",&b);
scanf("%d",&c);
scanf("%d",&d);
scanf("%d",&e);

certo? simm, certo, porém, a funçao scanf tem alguns truques para facilitar a nossa vida.

ao invés de 5 scanfs. poderiamos utilizar:

scanf("%d %d %d %d %d",&a,&b,&c,&d,&e);


Isso faria a leitura de 5 números inteiros do teclado.
Outro macete que podemos utilizar é ao invés de escrevemos:

int a;
int b;
int c;
e assim por diante..

escrevermos:

int a,b,c;

isso concerteza diminuirá o número de linhas do seu código e até pode facilitar o entendimento.

Agora, como imprimir o valor dessas variáveis na tela?

Para isso, utilizaremos a nossa conhecida função printf.

Similar a função scanf, podemos escrever:

printf("%d", a);

veja que, a única diferença é que não utilizamos o &, como na função scanf.
Como na função scanf, podemos escrever:

printf("%d %d %d %d %d",a,b,c,d,e);

isso imprimirá o valor das variaveis a,b,c,d,e na tela.
Além disso, você pode normalmente continuar escrevendo textos na função printf, como no exemplo:

printf("variavel a=%d variavel b=%d variavel c=%d variavel d=%d variavel e=%d",a,b,c,d,e);

Após o entendimento total dos métodos de leitura e escrita, acredito que já consigam criar programinhas para solucionarem algum tipo de problema.

Agora, tente por criar um programinha que resolva o seguinte problema:

1) Faça um programa que leia 3 números inteiros e calculo a multiplicacao deles.
2) Resolva o problema do sorvete proposto no tutorial passado de forma que a quantidade e o valor de cada sorvete seja dado pelo usuário.

até mais.

Nenhum comentário:

Postar um comentário