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 nell'utilizzo di una string
Forum - Pascal - Problema nell'utilizzo di una string

Avatar
ape96 (Normal User)
Newbie


Messaggi: 6
Iscritto: 02/11/2011

Segnala al moderatore
Postato alle 19:45
Mercoledì, 02/11/2011
Questo topic è stato chiuso dal moderatore

Buonasera a tutti,
Prima di tutto mi volevo complimentare per l'ottimo sito, veramente ben fornito, con tanti argomenti e sopratutto molto chiaro :k:
Considerando che ho da poco iniziato il Pascal a scuola, credo che passerò spesso da queste parti!
Detto questo, continuo ad avere un problema compilando un programma...

Codice sorgente - presumibilmente Delphi

  1. program Esempio;
  2. Uses WinCRT;
  3. Var F,P,G,U,O:string;
  4.  
  5. begin
  6. F:=('Esempio1');
  7. P:=('Esempio2');
  8. G:=('Esempio3');
  9. U:=('Esempio4');
  10.  
  11. writeln('Inserisci le due lettere');
  12. readln(O);
  13. case 'O' of
  14. 'AB':writeln(F);
  15. 'CD':writeln(P);
  16. 'DE':writeln(G);
  17. 'EF':writeln(U);
  18. end;
  19. readln
  20. end.



Io vorrei fare in modo che, dopo che il programma mi chiede "Inserisci le due lettere", io inserisca ad esempio "AB", il programma mi scrivi la stringa F, quindi "Esempio1".

Tuttavia, Dev Pascal continua a darmi errore:

http://imageshack.us/photo/my-images/341/schermatapascal1.png


Ringrazio subito chi mi vorrà aiutare :)

Ultima modifica effettuata da ape96 il 02/11/2011 alle 19:47
PM
Avatar
TheKaneB (Member)
Guru^2


Messaggi: 1792
Iscritto: 26/06/2009

Up
2
Down
V
Segnala al moderatore
Postato alle 20:43
Mercoledì, 02/11/2011
Devi mettere:

case variabile of
costante1: istruzione1;
costante2: istruzione2;

....


end;

Tu hai messo:
case costante of
ecc... ecc...

'O' è infatti la costante che identifica il codice ASCII della lettera O, mentre avresti dovuto mettere semplicemente

case O of
ecc....

dove O, in questo caso, è la variabile di nome O di tipo string.

Tuttavia, anche dopo questa modifica non funzionerà, perchè il case...of funziona soltanto con costanti intere e costanti di tipo carattere. Non funziona con le stringhe e con i tipi complessi in generale.
In quest'ultimo caso, dovrai usare una catena di if, e in ciascuna istruzione if dovrai controllare una stringa alla volta.

Ti ringrazio, in effetti usando vari if...then, son riuscito a fare qual che volevo. Grazie! - ape96 - 02/11/11 21:14
PM