Ir ao conteúdo
  • Cadastre-se

Programação pascal calculo de desconto bancário com erros


Posts recomendados

Pessoal, poderiam me ajudar concluir esse exercício, estou tendo problema no calculo do titulo e não sei se a decisão final está correta, do laço

 

Program exercicio;
//SISTEMA DESCONTO BANCARIO ;
VAR
   CLIENTECR:STRING;
   NOMECR:STRING;
   VALORCR:REAL;
   DIASCR:REAL;
   TAXACR:REAL;
   DESCONTADOCR:REAL;
   RESPCR:CHAR; //CONTROLE DE LAÇO
   
   BEGIN
repeat
  ClrScr; //limpar a tela
  writeln(' SISTEMA DESCONTO BANCÁRIO - tela entrada ');
  writeln(' ----------------------------------- ');
  writeln(' TIPO DE CLIENTE ( F/J): ');
  readln(CLIENTECR);
  writeln(' NOME DO CLIENTE: ');
  readln(NOMECR);
  writeln(' VALOR DO TITULO: ');
  readln( VALORCR );
  writeln('DIAS ANTECIPAÇÃO:');
  readln (diascr);
  writeln('------------------------------------ ');
  
  
  //logica da taxa de descontos:
  
  IF (CLIENTECR=F)AND(VALORCR<100) THEN BEGIN TAXACR:=VALORCR*0.07;
                                                               END;
  IF (CLIENTECR=F)AND(VALORCR>=100) THEN BEGIN TAXACR:=VALORCR*0.06;
                                                               END;
                                                                                                                             IF (CLIENTECR=F)AND(VALORCR<=500) THEN BEGIN TAXACR:=VALORCR*0.06;
                                                               END;
  IF (CLIENTECR=F)AND(VALORCR>500) THEN BEGIN TAXACR:=VALORCR*0.05;
                                                               END;
                                                               
  IF (CLIENTECR=J)AND(VALORCR<=500) THEN BEGIN TAXACR:=VALORCR*0.05;                                                             
                                                                                                                             END;                                                                                                                         
    IF (CLIENTECR=J)AND(VALORCR<500) THEN BEGIN TAXACR:=VALORCR*0.035;                                                                                                                                                                                       
                                                               END;
  
  //calculo do titulo
  
  DESCONTADOCR=VALORCR*(1+TAXACR*DIASCR/3000);
  
  ClrScr;
writeln('------------------------------');
writeln( ' SISTEMA DESCONTO BANCARIO - TELA SAIDA ');
writeln('------------------------------');
writeln(' TAXA DESCONTO MENSAL (%):',TAXACR:0:2 );
 descontadocr=valorcr*(1+
writeln(' VALOR DO TITULO DESCONTADO:',DESCONTADOCR:0:2);
writeln('------------------------------');
writeln('TECLE S PARA NOVO TITULO OU N PARA SAIR':  );
readln(respcr);
until (respcr=' n ');
   
 END.


 

 

foto.jpg

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Olá @kakajr10.

 

Basicamente você apenas precisa tentar compilar e analisar o erro reportados...

 

 

Resumidamente seria:

 

1) COMPARAÇÃO DE CARACTERES

Para comparar textos, utilizam-se aspas simples. Ex.:

 

No trecho abaixo você utiliza F. Daí o compilador acha que F é uma variável.

16 horas atrás, kakajr10 disse:

IF (CLIENTECR=F)AND(VALORCR<100) THEN BEGIN TAXACR:=VALORCR*0.07;
                                                               END;

 

Mas na verdade você quer comparar com o caractere, logo ficaria 'F',

IF (CLIENTECR='F')AND(VALORCR<100) THEN BEGIN TAXACR:=VALORCR*0.07;
                                                               END;

 

2) AINDA EM COMPARAÇÃO DE CARACTERES

 

Usa está usando:

16 horas atrás, kakajr10 disse:

until (respcr=' n ');

 

A comparação está com 3 caracteres "espaço+'n'+espaço"...

 

Mas o tipo utilizado em respcr é char, ou seja, só aceita um caractere.

 

RESUMIDAMENTE: tire os espaços... ficando:

until (respcr='n');

 

 

3) ATRIBUIÇÃO DE VALORES

Para atribuir um valor, usam-se ":=", em vez de "=".

  DESCONTADOCR:=VALORCR*(1+TAXACR*DIASCR/3000);

 

 

***

 

Por ai vai...

 

Vá compilando e testando..

 

No aguardo.

 

 

 

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...