Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    [Pacal] problema con calcolatrice

    Ecco il codice:

    codice:
    program calcolatrice;
    uses newdelay,crt;
    
    var
     piu,piu2,s,moltiplicazione,divisione,meno:real;
    
    i,errore,scegli2,meno2:integer;
    
    scegli:string;
    piu3:string;
    
    begin
    clrscr;
    i:=0;
    
    for i:= 1 to 80 do
     write(char( 205));
     gotoxy(20,2);
     writeln('Le quattro operazioni da eseguire');
     textcolor(10);
    textcolor(10);
    for i:=1 to 80 do
    write (char(205));
    
    textcolor(9);
    for i:=1 to 3 do
    write('            ');
    
    gotoxy(20,7);
    write ('1-Addizione');
    gotoxy(20,9);
    write ('1-Sottrazione');
    gotoxy(20,11);
    write ('1-Moltiplicazione');
    gotoxy(20,13);
    write ('1-Divisione');
    gotoxy(20,15);
    writeln ('1-Fine programma');
    repeat
    
    
    
    writeln(' SCEGLI');
    
    
    
    readln(scegli);
    
    val (scegli,scegli2,errore);
    if errore <>0 then
    writeln('errore inserisci un numero in cifre')
    else
     if scegli2 <0 then
     writeln('errore inserisci un numero uguale o superiore a 0');
     until (scegli2>=0) and (errore=0);
    
    
    if scegli2 =1 then
      begin
      clrscr;
      textcolor(yellow);
      for i:= 1 to 80 do
      write(char(205));
      gotoxy (20,4);
      writeln ('ADDIZIONE');
      for i:= 1 to 80 do
      write (char(205));
      gotoxy(20,8);
    
    
      write('Dammi il primo numero');
    
    
      readln(piu);
      gotoxy(20,8);
      write('Dammi il secondo numero');
      readln(piu2);
      s:=piu+piu2;
      gotoxy(20,12);
      write( 'somma =',s:0:2 );
      readln;
    readln;
    
    
    
    
    
    end;
    
    begin
      clrscr;
     if scegli2=2  then
       textcolor(red);
     for i:= 1 to 80 do
     write(char(205));
    
     gotoxy(20,4);
     Writeln('Sottrazioni');
     for i:= 1 to 80 do
     write(char(205));
     write('dammi il primo numero');
     readln(meno);
     write('Damm il secondo numero');
     readln (meno2);
    
     s:=meno-meno2;
    
     gotoxy(20,12);
     writeln('somma =', s:0:2);
     readln;
    end;
    
    
    
    end.
    ora spiego quelloc he non riesco da implementare dove ce scritto dammi il primo numero vorrei mettere un if ce controlla se sono lettere oppure no eppoi se è meno di zero insomma come ho fatto dove ce scritto scegli,il fatto è che li non riesco proprio a implementarlo come si fa??
    grazie

  2. #2
    Non capisco la domanda.
    Vuoi capire se l'utente sta scrivendo del numero e non altri caratteri?
    Se è così lo zero come carattere corrisponde al carattere ascii 48 via via fino al 9 che corrisponde al 57.

  3. #3
    Grazie della risposta.... la domanda è:

    che se l'utente inserisce lettere e preme invio deve restituire l'errore tipo:

    errore inserire solo numeri e non lettere.

    e poi esempio se scrive -90 e preme invio devi dare questo errore:

    inserire un numero valido

    mi sono spiegato meglio?

  4. #4
    proprio nessuno?? per favore altriment non posso andare avanti

  5. #5

    re

    dai un occhiata qui

    ciao!

  6. #6
    ma non è quello che voglio far eio

  7. #7
    scusa tu non vuoi sapere se si tratta di un numero o di un carattere??

  8. #8
    si ho letto quella funziona l'ho pure provata ma appena digito una lettera e preme invio mi da invalid

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.