Ir ao conteúdo
  • Cadastre-se
kakajr10

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

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
Este tópico está parado há muito tempo. Certifique-se que a sua mensagem tem a ver com o tema sendo discutido. Obrigado.

Junte-se à conversa

Você pode postar agora e cadastrar-se depois. Se você tem uma conta, faça o login para postar.

Visitante
Responder

×   Você colou conteúdo com formatação.   Restore formatting

  Só é possível ter até 75 emoticons.

×   O link foi automaticamente convertido para mostrar o conteúdo.   Clique aqui para mostrá-lo como link comum

×   Seu texto anterior foi restaurado.   Limpar o editor

×   You cannot paste images directly. Upload or insert images from URL.






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

×
×
  • Criar novo...

GRÁTIS: minicurso “Como ganhar dinheiro montando computadores”

Gabriel TorresGabriel Torres, fundador e editor executivo do Clube do Hardware, acaba de lançar um minicurso totalmente gratuito: "Como ganhar dinheiro montando computadores".

Você aprenderá sobre o quanto pode ganhar, como cobrar, como lidar com a concorrência, como se tornar um profissional altamente qualificado e muito mais!

Inscreva-se agora!