Oppure

Loading
27/01/12 19:35
mirco95
Ciao a tutti .
Sto creando un comando che calcola due variabili. Io voglio che se il numero totale e>= di 45 questo numero deve essere moltiplicato per 6, altrimenti deve apparire il normale risultato.
(*
   Name:Calcolatore
   Author:Mirco_Rizzo
   Description:Calcolatrice
   Date:27/01/2012 19.37
*)

Program Calcolatore;

Uses
  Crt;

Var
  a,b,c,d:Integer;
  e:String;
Begin

  ClrScr;
  WriteLn('Benvenuto, inserire primo valore');
  ReadLn(a);
  WriteLn('inerisci secondo valore');
  ReadLn(b);
   val(e,6);
  C:=a+b;
  WriteLn('La somma totale fra i due valori e di, ',c);
  if c>=45 then ReadLn(e)
  d:=c+e
  write(e)
  else
  WriteLn('Essendo un valore maggiore di 45 il numero e stato moltiplicato per 6', d) ;
  Readkey;
End.

Se mi aiutate vi bacio i piedi quando vi puzzano :heehee: :rofl:
Ciao e grazie.. Ah vi seguo da molto, complimenti per tutto. Bye
aaa
27/01/12 20:31
Allora: tanto per cominciare mancano alcuno informazioni quali:
- Si compila?
- Dove sta l' errore?
- tu dici che se il risultato è maggiore o uguale a 45 devi MOLTIPLICARLO per 6, ma alla fine dove controlli il valore della variabile con il risultato, nel caso sia >= 45 tu lo SOMMI per 6
- val cosa fa?
Quando avrai risolto i miei dubbi potrò aiutarti ma non prima di allora.....
27/01/12 21:16
Poggi Marco
Ciao!

Ho letto il tuo programma, e ho notato alcune imprecisioni:
- La variabile e è una stringa, di conseguenza, non è possibile effettuare direttamente calcoli numerici.

- Il codice interno al costrutto if, va delimitato da begin ed end.

Ecco il programma corretto:
Program Calcolatore;

Uses
  Crt;

Var
  a,b,c,d:Integer;
Begin

  ClrScr;
  Write('Benvenuto, inserire primo valore ');
  ReadLn(a);
  Write('inerisci secondo valore ');
  ReadLn(b);
  C:=a+b;
  if C>=45 then
  begin
    d:=c*6;
    WriteLn('Essendo un valore maggiore di 45 il numero e stato moltiplicato per 6 -> ', d)
  end
  else Writeln('La somma totale fra i due valori e'' di, ',c);
  Readkey;
End.
aaa