Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Pascal - Problema con la struttura case...of
Forum - Pascal - Problema con la struttura case...of

Avatar
Mak (Normal User)
Rookie


Messaggi: 23
Iscritto: 17/08/2008

Segnala al moderatore
Postato alle 0:11
Giovedì, 11/09/2008
Ciao a tutti.
Sto seguendo la guida sul Pascal di questo sito, provando i codici per esercitarmi.
Nel capitolo 6, c'è questo codice:
Codice sorgente - presumibilmente Delphi

  1. Program Esempio;
  2. Uses Crt;
  3. Var n:byte;
  4.     c:word;
  5.  
  6. begin
  7.     clrscr;
  8.     write(‘Inserisci un numero:);
  9.     readln(n);
  10.     case n of
  11.          1: writeln(‘E’’ stato premuto il pulsante 1’);
  12.          2: begin
  13.             sound(440);
  14.             delay(1000);
  15.             nosound;
  16.             end;
  17.          3 or 4 or 5: write(‘Il numero premuto è fra 3 e 5’);
  18.     else
  19.       begin
  20.       c:=sqr(n);
  21.       writeln(c,’ è il quadrato di ‘,n);
  22.       end;
  23.     end;
  24.     readln
  25. end.

ma quando lo eseguo e premo il 3, il 4 o il 5, invece di venir fuori la scritta "Il numero premuto è fra 3 e 5", mi calcola la radice. Come si può aggiustare? Grazie.

PM Quote
Avatar
totipianurese (Member)
Pro


Messaggi: 168
Iscritto: 24/06/2008

Segnala al moderatore
Postato alle 8:32
Giovedì, 11/09/2008
E semplice, con la struttura CASE, non si usa il connetivo logico OR, ma basta una semplice virgola ",".
Cmq ecco il sorgente:

Codice sorgente - presumibilmente Delphi

  1. program Esempio;
  2. uses Crt;
  3. var n:byte;
  4.     c:word;
  5.  
  6. begin
  7.     clrscr;
  8.     write('Inserisci un numero: ');
  9.     readln(n);
  10.     case n of
  11.          1: writeln('Š stato premuto il pulsante 1');
  12.          2: begin
  13.             sound(440);
  14.             delay(1000);
  15.             nosound;
  16.             end;
  17.          3,4,5 :writeln('Il numero premuto Š fra 3 e 5');
  18.     else
  19.       begin
  20.       c:=sqr(n);
  21.       writeln(c,' Š il quadrato di ',n);
  22.       end;
  23.     end;
  24.     readln
  25. end.


;) ciaooo

PM Quote
Avatar
Mak (Normal User)
Rookie


Messaggi: 23
Iscritto: 17/08/2008

Segnala al moderatore
Postato alle 9:41
Giovedì, 11/09/2008
Grazie, ora funziona :k:
Bisognerebbe dare una ritoccata alla guida...

PM Quote