Ho sentito parlare di goto, come si usa? e come si delimita un area da richiamare? grazie.
Ho sentito parlare di goto, come si usa? e come si delimita un area da richiamare? grazie.
ciao..allora il GOTO permette di "saltare" da un punto all'altro del codice deriva da linguaggi di bassissimo livello ( come l'Assembly) e viene usato probabilmente più per motivi di prestazioni( veniva... in quanto ormai sono ampiamente superati con l'evoluzione deinuovi processori)
funziona in questo modo :
int main()
{
int op,ris;
int a = 1;
int b = 3;
printf("inserisci operazione");
scanf("%d",&op);
if (op==1)
goto somma; //salta all'etichetta somma
else
goto sottrazione; //salta all'etichetta sottrazione
somma:
ris=a+b;
goto fine; //dopo aver esguito la somma salta a fina
sottrazione:
ris=b-a;
fine:
return ris;
}
ti ricordo che il costrutto GOTO è largamente sconsigliato da tutti gli esperti di ingegneria del software perchè introduce una serie di difficolta di lettura del codice che si trasmormano rapidamente in problemi di manutenzione e aggiornamento....ciaoooooo
}
grazie della risposta(e del codice
)
Innanzitutto volevo sapere se va delimitata la parte di codice interessata, intendo
sottrazione: { .. }
e poi se conosci metodi migliori visto che è sconsigliato...
Qualsiasi algoritmo implementato con il GOTO e implementabile anche con gli altri costrutti : for , if, while ecc..
non ci vogliono graffe ,lui quando vedo un GOTO salta al etichetta ed esegue il codice che hai scritto a partire da quel punto , come avrai notato nel esempio :
somma:
ris=a+b;
goto fine; //qua ho messo un goto a fine perchè altrimenti avrebbe eseguito anche la sottrazione
comunque usare il goto solitamente non è una bella cosa..EVITALO !
io ho dei campi da compilare e dei controlli, se il formato non soddisfano le esigenze del contenuto richiesto per il campo dovrei dare un printf di errore e redirezionare l'utente a ripetere l'operazione...cosa mi consigli? ah, un'altra cosa: che tipo di variabile devo usare per la virgola mobile?
Per quello che devi fare ti consiglio di studiare il costrutto
while
Le variabili che consentono di rappresentare valori decimali sono le
float
e le
double
Anche per queste ti consiglio di dare un'occhiata all'help.
Faresti anche bene a procurarti un libro (anche di base) e studiare il linguaggio un po' meglio di quello che potresti fare avendo qualche risposta nel forum.
ma per creare una stringa di 2 caratteri devo scrivere
char stringa[2] = "si";
?
E' un modo ...
P.S. Anche le stringhe sono elementi di base per il C e stanno nel secondo capitolo di ogni libro ...