Visualizzazione dei risultati da 1 a 8 su 8

Discussione: [C] Uso del "goto"

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    434

    [C] goto

    Ho sentito parlare di goto, come si usa? e come si delimita un area da richiamare? grazie.

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    41
    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










    }

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    434
    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...

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    41
    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 !

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    434
    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?

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    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.

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    434
    ma per creare una stringa di 2 caratteri devo scrivere
    char stringa[2] = "si";
    ?

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    E' un modo ...

    P.S. Anche le stringhe sono elementi di base per il C e stanno nel secondo capitolo di ogni libro ...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.