Você está na página 1de 1

,r

o Mtodo Tecle e Aprenda


Para ver a diferena entre as duas funes. troque a primeira
"'" ocorrncia de printf por puts; ento recompile e execute
o programa. Agora voc introduz o dado na linha seguinte.
Se isso no o que voc deseja. troque de novo pu ts por
printf antes de continuar. Habitue-se a fazer pequenas
alteraes como essas nos programas. a executar o cdigo
modificado e a verificar o que acontece. Aprenda a ensinar
a si mesmo novos tpicos usando o compilador para inves-
tigar a semntica de um comando - em outras palavras. o
significado ou efeito que um comando tem.
A linha que voc digitouem seguida atribui o resultado de outra funo.
GetFloa t () a uma vartvelchamadaamount. Isso chamado comando de atribuio:
amount = GetFloat();
A funo GetFloat no faz parte da biblioteca C padro - percorra SE-
COND.CPP e voc a encontrar no meio da lstagem. Eis um exemplo de uma
funo que o programa prov. mas ainda muito cedo para discutir. como
escrever suas prprias funes. Por enquanto. pense em GetFloa t como uma
caixa mgica que permite aos usurios dar entrada a valores de ponto
flutuante. Essa entrada retomada por GetFloat e atribuda varivel
amount para ser usada no programa.
Outra varivel. discount. guarda o valor que voc introduz para taxa de
desconto. Encontre o comando
discount = GetFloat();

Esse outro exemplo de um comando de atribuio. mas aqui o. valor


retomado por GetFloa t depositado em discoun t. Voc acaba de testemu-
nhar um importante princpio de programao em C - a reutilizaca de uma
funo. A mesma funo. GetFloat. utilizada para admitir. dois valores.
amount e discount. no programa.
SECOND.CPP tambm demonstra como verificar erros - algo que mesmo
as mais sofisticadas calculadoras no fazem muito bem. Um loop while
repete as instrues entre as chaves { e}. continuamente. enquanto o
valor de discount for maior ou igual a 1.0. J aconteceu de voc
introduzir uma porcentagem tal como 25. por exemplo, em uma calcu-
ladora apenas para descobrir que voc deveria ter introduzido 0.25?
SECOND.CPP evita este tipo de erro ao testar o valor de discount. Se
o valor for maior ou igual a l.0, o programa repete a pergunta, solici-
tando que voc d entrada taxa de desconto correta. Execute o
programa e introduza 25 para taxa de desconto para ver a mensagem
de erro resultante.
As duas ltimas linhas em negrto computam e exibem o resultado de uma
expresso em outra instruo de atribuio:
result = amou~t - (amount * discount);
Os parnteses envolvendo asubexpresso (amount * discount) obrigam
essa parte da expresso a ser avaliada primeiro. Durante a avaliao,
amount multiplicado por discount e o resultado subtrado de amount.
O resultado dessa operao ento atribudo varivel resul t esquerda
do sinal de igualdade. C sempre realiza multiplicao e diviso antes de

-17-