caro Rui Paz,
excelente o código que elaboraste' SUPER'. perdí muitas noites para chegar até 
esse resultado que acabaste de dar solução. pelo que eu andei a fazer o 
programa so funcionava até a leitura da taxa de consumo mas para chegar até 
este ponto não sei se me levaria mais quanto tempo visto o manual que nós foi 
distribuido não é muito esplicíto pra quem está começar. com este código tenho 
mais recurso e truques para praticar e crescer. 
 
De coração agradeço o tempo e a sua vontade por me ter ajudado e não quero me 
esquecer também do contributo do Nuno que também me deu outras pistas valiosas.
GRANDE ABRAÇO E SUCESSO PRA VOCÉS E OS DEMAIS CONTRIBUINTES DESTE FORUM,
 

Angelo Mavunino



> From: [email protected]
> 
> 
> Olá Angelo,
> 
> Pascal, já não sei aos Anos que não utilizo isso...velhos tempos.
> 
> Se percebi o enunciado do problema o que tem que fazer é pedir a 
> indicação do tipo de apartamento e não o valor porque esse é conhecido à 
> partida.
> 
> Veja se este código lhe resolve o problema.
> 
> program hospedaria;
> uses crt;
> var
> nome: string;
> diaria, subtotal, n_diarias, consumo: longint;
> total, tx_servico: real;
> DApt: array[1..4] of integer;
> tipo_apt, key: char;
> 
> begin
> Dapt[1]:= 15000; { Diária apartamento Tipo A}
> Dapt[2]:= 10000; { Diária apartamento Tipo B}
> Dapt[3]:= 7500; { Diária apartamento Tipo C}
> Dapt[4]:= 5000; { Diária apartamento Tipo D}
> 
> clrscr;
> write('Indique o nome do Hospede: '); readln(nome);
> writeln; writeln;
> writeln('* Tipos de Apartamentos *');
> writeln(' A - T3; di ria: ', Dapt[1]);
> writeln(' B - T2; di ria: ', Dapt[2]);
> writeln(' C - T1; di ria: ', Dapt[3]);
> writeln(' D - T0; di ria: ', Dapt[4]); writeln;
> 
> repeat
> write('Indique o Tipo de Apartamento: '); readln(key);
> key:=upcase(key);
> until (key='A') or (key='B') or (key='C') or (Key='D');
> 
> tipo_apt:= key;
> { usamos o codigo ASCII da letra para calcular o index para o array
> com o custo da di ria relativa ao tipo de apartamento
> }
> diaria:=Dapt[ord(key) - 64];
> 
> write('Indique número de dias: '); readln(n_diarias);
> write('Indique o consumo:'); readln(consumo);
> 
> writeln; writeln('*** RECIBO ***);writeln;
> writeln('Hospede: ', Nome);
> writeln('Tipo de Apartamento: ',tipo_apt);
> subtotal:= diaria * n_diarias;
> writeln('Custo da di ria: ', diaria, ' x ',n_diarias, ' dias = 
> ',subtotal);
> writeln('Consumo efectuado: ', consumo);
> subtotal:= subtotal + consumo;
> writeln('> SUBTOTAL: = ', subtotal);
> tx_servico:= subtotal /100 * 10;
> writeln('Valor da taxa de servi‡o e: ', tx_servico:2:2);
> total:=subtotal + tx_servico;
> writeln; writeln('>>> TOTAL A PAGAR: ',total:2:2);
> readkey;
> end.
> 
> ___
> Rui Paz
> Rui Paz
> 
> 
> 
> 
> COMPUTADOR(Entreajuda) wrote:
> > 
> > 
> > 
> > 
> > Caro Nuno,
> > 
> > como o programa pede para exibir o nome do hospede, o número de diarias 
> > utilizadas, o valor do consumo interno e finalmente ler o
> > valor da taxa de serviço, sabendo que; 
> > o valor do apartamento A é 15000
> > B é 10000
> > C é 7500
> > D é 5000
> > eu fiz da seguinte maneira: 
> > 
> > 
> > program hospedaria;
> > uses crt;
> > var 
> > nome: string;
> > var 
> > n_diarias: integer;
> > var
> > tipo_apt, apt_a, apt_b, apt_c, apt_d, consumo, subtotal, tx_servico: real;
> > begin
> > clrscr;
> > write('digite o valor apartamento A: ' ); readln(apt_a);
> > write('digite o valor do apartamento B: '); readln(apt_b);
> > write('digite o valor do apartamento C: '); readln(apt_d);
> > 
> > subtotal:= 15000 * n_diarias + consumo;
> > tx_servico:= subtotal /100 * 10;
> > writeln(' o valor da taxa de serviço e: ', tx_servico:2:2);
> > readkey;
> > end.
> > 
> > até aquí o programa funciona...Mas como sei que o valor do tipo de 
> > apartamente sao valores fixos, então pensei em atribuir valores
> > as variaveis e daí criar 4 condições que consistem em exibir só o resultado 
> > que a atenda uma determinada condição isto de acordo com
> > o tipo de apartamento que o hóspede escolher. e fiz o isso que nao funciona.
> > 
> > const
> > a:= 15000;
> > b:= 1000;
> > c:= 7500;
> > d:= 5000;
> > begin
> > if tipo_apt = apt_a then
> > subtotal:= apt_a * n_diarias + consumo
> > else
> > if tipo_apt = apt_b then
> > subtotal:= apt_b * n_diarias + consumo
> > else
> > if tipo_apt = apt_c then
> > subtotal:= apt_c * n_diarias + consumo
> > else
> > if tipo_apt = apt_d then
> > subtotal:= apt_d * n_diarias + consumo;
> > end.
> > 
> > apartir daquí tudo dá zebra porq tambem nao consigo encotra a maneira de 
> > exibir e calcular e nem e tambem as variaveis que atribui
> > valores nao sao reconhecidos.... se alquém mais pude ajudar eu acredeço 
> > antecipadamente,
> 
> 
> > 
________________________________________
check out the rest of the Windows Live™. More than mail–Windows Live™ goes way 
beyond your inbox. More than messages


--~--~---------~--~----~------------~-------~--~----~
-----------------------------------------------------------------------
                  Revista  COMPUTADOR
              http://www.clubeinformatica.com
-----------------------------------------------------------------------

Para enviar mensagens para este grupo, envie um email para
[email protected]
Para anular a inscrição neste grupo, envie um email para
[email protected]
Para mais opções, visite este grupo em
http://groups.google.pt/group/ajuda-informatica/
-~----------~----~----~----~------~----~------~--~---

Responder a