Oppure

Loading
19/02/07 11:52
andry89mm
Ciao ragazzi, il mio problema è il seguente: devo sostituire una serie di 'if then else' in cascata con un più comodo 'case of' ( switch ).
Fino ad oggi non mi era mai capitato di dover 'casare' una variabile di tipo folat, ma ora che mi si presenta il problema mi è venuto il dubbio che cio non si possa fare..Ho provato a definire i valori che questa variabile può prendere ( es.: #define UNO_CINQUE 1,5 #define DUE_ZERO 2,0 ecc..)
Ma anche in questo modo mi si presenta un errore nella compilazione;
" switch quantity not a integer"
Qualcuno sa suggerirmi una strada alternativa per aggirare questo problema(se può essere aggirato..)?
Grazie.. ;)
aaa
19/02/07 13:31
kikkoHack
Allora vediamo se ho ben capito....
Il costrutto switch-case si presenta così:

switch (espressione)
{ case costante1:
       istruzione
       .....
 case costante2:
       istruzione
       .....
 case costante3:
       istruzione
       .....
 default:
       istruzione
       .....
}


Ora il discorso è questo: il valore di espressione, racchiusa tra parentesi tonde, deve essere di tipo int o char...per questo anche le varie costanti dovranno essere di tipo int o char.

:) :)

Spero di non sbagliarmi..cmq vedo se riesco a trovare un alternativa ( a patto che ci sia :asd: )

Ciao^^
Ultima modifica effettuata da kikkoHack 19/02/07 13:49
aaa
19/02/07 13:41
Reese
Non puoi usarlo correttamente con i float.
aaa
19/02/07 15:11
andry89mm
Ecco...volevo appunto una conferma..Anche perchè in effetti con a virgola sorgerebbe il problema della precisione( numero di cifre dopo la virgola..)

Quindi è deciso: switch solo per char o int e naturalmente long..:k:
aaa
22/02/07 17:49
Reese
Già, solo tipi discreti. (anche il bool)
aaa