Ir ao conteúdo
  • Cadastre-se
kakajr10

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

Recommended Posts

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

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.

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×