Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    problema compilazione

    salve a tutti. ho un problema con la compilazione di un programma... è banale ma non trovo cosa ci sia di sbagliato. questo è la parte del programma che mi da problemi:

    codice:
    typedef struct {
    unsigned int IdTreno; /
    char cittaPartenza [MAX_STR_LEN];
    char cittaArrivo [MAX_STR_LEN];
    float oraPartenza ; 
    float oraArrivo ;
    } Treno;
    typedef struct N{
    Treno treno; 
    struct N *next; 
    } Nodo;
    ...
    codice:
    typedef Nodo *ListaViaggi;
    n = (Nodo*) malloc(sizeof(Nodo)); //creo un nuovo nodo
    n->treno.IdTreno = id; //gli assegno l'id letto in precedenza
    printf("\nCitta' di partenza: ");
    gets(n->treno.cittaPartenza); //aggiungo la città di partenza
    printf("\nOra di Partenza: "); //aggiungo l'ora d partenza
    scanf("%f", &n->treno.oraPartenza);
    printf("\nCitta' di arrivo: ");
    gets( n->treno.cittaArrivo ); //leggo la città di arrivo
    printf("\nOra di Arrivo: "); //leggo l'ora di arrivo
    scanf("%f", &n->treno.oraArrivo);
    quando eseguo il programma la città di partenza e l'orario di arrivo li scrive insieme... cosa sbaglio?
    grazie

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304

    Moderazione

    1) Manca l'indicazione del linguaggio usato: obbligatoria, oltre che da regolamento, anche da buon senso (altrimenti come fa la gente a dirti come risolvere i problemi di compilazione?)

    2) Il codice va postato indentato e all'interno degli appositi tag CODE:
    [CODE]
    codice
    [/CODE]

    Sistemo io.

    PS: se il problema te lo da in esecuzione, è un problema di "esecuzione", non di "compilazione".
    Se ci fossero problemi in compilazione avresti dei messaggi di errore da parte del compilatore (messaggi che andrebbero riportati nella discussione) e non potresti eseguire...

    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    scusa, ero di fretta e non sono molto pratico. come mai nel menu di scelta quando eseguo il programma salta alla riga successiva senza far inserire un dato?

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,465
    E dove sarebbe questo codice del menu di cui parli ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    cosa intendi? il problema è nell'esecuzione...

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,465
    Hai scritto

    "come mai nel menu di scelta quando eseguo il programma salta alla riga successiva senza far inserire un dato"

    e ti ho chiesto di mostrare il codice del menu di cui parli.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Il "menù di scelta" fa parte del programma che sto impostando.
    la mia domanda è. "Perchè inserendo i printf in questo modo
    codice:
    printf("\nCitta' di partenza: "); gets(n->treno.cittaPartenza); //aggiungo la città di partenza printf("\nOra di Partenza: "); //aggiungo l'ora d partenza scanf("%f", &n->treno.oraPartenza); printf("\nCitta' di arrivo: "); gets( n->treno.cittaArrivo ); //leggo la città di arrivo printf("\nOra di Arrivo: "); //leggo l'ora di arrivo scanf("%f", &n->treno.oraArrivo);
    a volte mi salta la riga e non mi fa inserire un dato
    per esempio:
    non mi fa inserire città di arrivo e passa subito all'ora di arrivo.
    è più chiaro così?

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,465
    Dopo una scanf devi pulire il buffer di input ... inserisci una

    while ( getchar() != '\n' );
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    ok grazie mille! ora funziona! ciao.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.