Visualizzazione dei risultati da 1 a 7 su 7

Hybrid View

  1. #1
    1. Le fprintf si possono condensare in una sola:
    codice:
             fprintf(f, "%s\t%d\t%d\n", v[i].club, v[i].np, v[i].quote);
    2. Lo stesso vale per le fscanf, e in più così come sono sono tutte sbagliate, dato che usi (a) %s anche quando devi leggere interi e (b) ci devi passare un puntatore alle locazioni in cui leggere.

    In ogni caso, entrambe le questioni ti sarebbero più chiare leggendo i primi capitoli di qualunque libro di C, dove l'uso di scanf/printf è spiegato in maniera più completa.
    Ultima modifica di MItaly; 27-06-2015 a 20:41
    Amaro C++, il gusto pieno dell'undefined behavior.

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2015
    Messaggi
    4
    Quote Originariamente inviata da MItaly Visualizza il messaggio
    1. Le fprintf si possono condensare in una sola:
    codice:
             fprintf(f, "%s\t%d\t%d\n", v[i].club, v[i].np, v[i].quote);
    2. Lo stesso vale per le fscanf, e in più così come sono sono tutte sbagliate, dato che usi (a) %s anche quando devi leggere interi e (b) ci devi passare un puntatore alle locazioni in cui leggere.

    In ogni caso, entrambe le questioni ti sarebbero più chiare leggendo i primi capitoli di qualunque libro di C, dove l'uso di scanf/printf è spiegato in maniera più completa.
    Per prima cosa ti rigranzio molto per la tua risposta.

    Detto questo si avevo notato il mio errore dovuto al copia e incolla ma cmq non funziona scrivendo il codice in questo modo:

    codice:
      while((fscanf(f, "%s", ele->v[ele->dim_log].club)  &&  fscanf(f, "%d", ele->v[ele->dim_log].np) &&  fscanf(f,  "%d", ele->v[ele->dim_log].quote))!= EOF)
           ele->dim_log++;
    Inoltre modificando in questo modo il codice:

    codice:
    while((fscanf(f,  "%s,%d,%d", ele->v[ele->dim_log].club,   ele->v[ele->dim_log].np, ele->v[ele->dim_log].quote))!=  EOF)
           ele->dim_log++;
    ma mi da questo output inserendo 2 struct:

    codice:
    CLUB     PARTECIPANTI      QUOTE                                                                                                          
    jhy      4        105                                                                                                                    
    fdss     35       1190                                                                                                                   
    fdss     0        0                                                                                                                      
    35       0        0                                                                                                                      
    1190     0        0                                                                                                                      
    jhy      0        0                                                                                                                      
    4        0        0                                                                                                                      
    105      0       0
    mentre quello desiderato sarebbe:

    codice:
    CLUB    PARTECIPANTI      QUOTE                                                                                                          
    jhy      4        105                                                                                                                    
    fdss     35       1190
    Da quel che so, la fscanf non dovrebbe puntare spostarsi automaticamente all'ultimo campo inserito?

    Per il puntatore invece, non glielo passo già con f?

    Inoltre se posso chiederti una chicca, come posso mettere l'equivalente della system pause su linux?

    Grazie di nuovo infinitamente.

  3. #3
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,589
    codice:
    "%s,%d,%d"
    Qui ci sono degli errori.
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2015
    Messaggi
    4
    Quote Originariamente inviata da Scara95 Visualizza il messaggio
    codice:
    "%s,%d,%d"
    Qui ci sono degli errori.
    Grazie della risposta ma come posso risolverlo?

    Inoltre ho anche un problema con getchar che non mi viene riconosciuto da netbeans, poichè non si ferma nemmeno a per ricevere l'input provando con tali codici;

    codice:
    printf("\nPremere un tasto per Continuare...\n");
                        fflush(stdin);
                        scanf("%c", &p);
                        break;
    codice:
    printf("\nPremere un tasto per Continuare...\n");
                        fflush(stdin);
                        p=getchar();
                        break;
    codice:
    printf("\nPremere un tasto per Continuare...\n");
                        fflush(stdin);
                        while (getchar() != '\n');
                        break;
    E' come se passasse direttamente al break;

    Come posso ovviare a tali problematiche?

    Grazie ancora anticipatamente
    Ultima modifica di NeoX.; 29-06-2015 a 13:32

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.