Ir ao conteúdo
  • Cadastre-se

Erro em calculadora


Ir à solução Resolvido por Simon Viegas,

Posts recomendados

Ola pessoal, eu sou nova em programação e precisei fazer uma calculadora no delphi para um trabalho de escola, com varios tipos de funções na calculadora, e após fazer uma operação a calculadora deveria "limpar" e voltar a tela inicial, estava dando tudo certinho ate eu colocar a operação de conversão para decimal e binario e fatorial, pois quando coloco a função para limpar a tela ele limpa a tela antes de aparecer o resultado, caso alguem pudesse me ajudar, o codigo completo da calculadora esta em anexo  

program calculadorafinalfatorial2;{$APPTYPE CONSOLE}uses  SysUtils,  Crt in '..\..\..\Downloads\crt.pas';Varop:char;bin,strquoc:string;n1,n2,res,z,N,i,resu,expoente,tam,dec,quoc,rest:integer;v1,v2,resp,decimal:real;beginTextBackground(magenta);clrscr;z:=0;repeatTextColor(White);writeln('                          C A L C U L A D O R A:');writeln('Escolha uma opcao:');writeln('(+)para soma                 (P)para porcentagem:');writeln('(-)para subtracao:           (F)para fatorial:');writeln('(*)para multiplicacao:       (B)para conversao binario -> decimal:');writeln('(#)para divisao:             (D)para conversao decimal -> binario:');writeln('(E)para exponenciacao:       (S)para sair:');writeln('(R)para raiz quadrada:');readln(op);case op of  '+':  begin  TextColor(Black);  writeln('SOMA');  writeln('Escreva o primeiro valor');  readln(n1);  writeln('Escreva o segundo valor');  readln(n2);  res:=n1+n2;  writeln(n1,'+',n2,'=',res);  writeln('Pressione enter para continuar...');  readln;  clrscr;  end;  '-':  begin  TextColor(Black);  writeln('SUBTRACAO');  writeln('Escreva o primeiro valor');  readln(n1);  writeln('Escreva o segundo valor');  readln(n2);  res:=n1-n2;  writeln(n1,'-',n2,'=',res);  writeln('Pressione enter para continuar...');  readln;  clrscr;  end;  '*':    begin TextColor(Black);  writeln('MULTIPLICACAO');  writeln('Escreva o primeiro valor');  readln(n1);  writeln('Escreva o segundo valor');  readln(n2);  res:=n1*n2;  writeln(n1,'*',n2,'=',res);  writeln('Pressione enter para continuar...');  readln;  clrscr;  end;   '#':  begin  TextColor(Black);  writeln('DIVISAO');  writeln('Escreva o primeiro valor');  readln(v1);  writeln('Escreva o segundo valor');  readln(v2);  resp:=v1/v2;  writeln(v1:0:0,'/',v2:0:0,'=',resp:0:0);  writeln('Pressione enter para continuar...');  readln;  clrscr;  end;    'E','e':  begin  TextColor(Black);  writeln('EXPONENCIACAO');  writeln('Escreva o primeiro valor');  readln(n1);  writeln('Escreva o segundo valor');  readln(n2);  resp:= n1;  for i:=1 to n2-1 do  begin  resp:=n1*resp;  end;  writeln(n1,' elevado a ',n2,'=',resp:0:0);  writeln('Pressione enter para continuar...');  readln;  clrscr;  end;   'R','r':   begin   TextColor(Black);  writeln('RAIZ QUADRADA');  writeln('Escreva um valor');  readln(n1);   resp:= exp(ln(n1)*0.5);  writeln('A raiz de ',n1,' e ',resp:0:0);  writeln('Pressione enter para continuar...');  readln;  clrscr;  end;     'P','p':   begin   TextColor(Black);  writeln('PORCENTAGEM');  writeln('Escreva o primeiro valor');  readln(n1);  writeln('Escreva o segundo valor');  readln(n2);  resp:=(n1/100)*n2;  writeln(n2,' porcento de ',n1,'=',resp:0:0);  writeln('Pressione enter para continuar...');  readln;  clrscr;  end;  'B','b':  begin  TextColor (Black);  writeln('BINARIO PRA DECIMAL');  writeln ('Informe um número binário ');    read (bin);    tam:=length(bin);    for i:=tam downto 1 do      begin        if bin[i]='1' then          decimal:=decimal+(exp (expoente*ln(2)));        expoente:=expoente+1;    end;    write ('A conversao de ',bin,' para decimal e:  ',decimal:0:0);    writeln('Pressione enter para continuar...');    readln;    clrscr;    end;    'd','D':    begin    writeln ('Digite o valor decimal ');    read (dec);    quoc:=dec;    while (quoc>=2) do      begin        rest:=quoc mod 2;        str(rest,strquoc);        bin:=strquoc+bin;        quoc:=quoc div 2;      end;    str(quoc,strquoc);    bin:=strquoc+bin;    writeln ('A conversao de ',dec,' para binario e: ',bin);    writeln('Pressione enter para continuar...');  readln;  clrscr;    end;  'F','f':  begin  TextColor(Black);  writeln('FATORIAL');resu:=1;while (resu=1) dobeginwriteln('Digite o numero fatorial:');readln(N)   ;I:=N;while(I>1) dobeginn:=n*(I-1);I:=I-1;end;Writeln ('O fatorial e ',N);readln (resu);  writeln('Pressione enter para continuar...');  readln;  clrscr;  end;  end;    'S','s':  begin  writeln('Pressione enter para sair');  readln;  z:=1  end;  else  writeln('Opcao errada! Escolha outra opcao');  end;  until(z=1);end.

calculadoradelphi.txt

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...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!