Quote:
|
Originariamente inviato da mad_hhatter
di preciso dipende da cosa cambia facendo il case nel main o nel sottoprogramma... se i casi presi in considerazione sono gli stessi e se le operazioni da eseguire in ciascun caso sono le stesse (nel main e nel sottoprogramma) allora non vedo differenze.
Voglio dire (e spero di aver capito bene il problema)
main{
statements...
call sottoprogramma;
case result_sottoprogramma of:
caso1: elaborazione1;
...
casoN: elaboraioneN;
}
fa le stesse cose rispetto a:
main{
statements...
call sottoprogramma (+ parametro di stato)
}
sottoprogramma{
prima_elaborazione;
case stato of
caso1: elaborazione1;
...
casoN: elaborazioneN:
}
|
non mi sono spiegato bene 
nel main il case non ci dovrebbe essere, poichè il main può modificare direttamente i parametri restituiti dal sottoprogramma, e la modifica da apportare (cha varia in base al punto del main da cui vien fatta la chiamata) è diretta (ossia non occorre case per farla)
Seguendo il tuo schema dovrebbe essere:
main{
statements...
call sottoprogramma;
result_sottoprogramma: elaborazione1
statements...
call sottoprogramma;
result_sottoprogramma: elaborazione2
statements
call sottoprogramma;
result_sottoprogramma: elaborazione3
statements...
}
oppure, per contro:
main{
statements...
call sottoprogramma (+ parametro di stato: s1)
statements...
call sottoprogramma (+ parametro di stato: s2)
statements...
call sottoprogramma (+ parametro di stato: s3)
statements...
}
sottoprogramma{
prima_elaborazione;
switch s
case1: elaborazione1;
case2: elaborazione2;
case3: elaborazione3:
}
__________________
~ ~ ho concluso con: capzero, DarkSiDE, Iron10, 12379, Hyxshare, Gort84, kristian0, scrafti, as2k3, gegeg, Kyrandia, Feroz, asta, nyko683, mstella, 00700, WotanBN, [COLOR=]Warez[/color], sesshoumaru, ...
nel we potrei non essere davanti al pc
|