Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 21
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2017
    Messaggi
    11

    [C] - Problema con i file

    Salve ragazzi,
    Non riesco a capire delle cose sui file ed ho bisogno che qualcuno me le spieghi, sto davvero impazzendo..

    Si desidera sviluppare un programma in linguaggio C per gestire in modo informatico un
    registro di esame.
    Il registro è memorizzato in un file di testo con nome registro.txt e contiene i dati
    di N studenti, ove N è il numero intero scritto nella prima riga del file. Dopo questa prima
    riga, ogni riga successiva contiene il dato relativo ad un singolo studente, indicando il numero di matricola dello studente (numero intero compreso 1 e 999999) ed il voto conseguito
    (numero intero con valore tra 18 e 30, oppure zero per indicare che l’esame non è ancora
    stato sostenuto).
    il programma deve fornire le seguenti statistiche: numero di studenti promossi e relativa percentuale sul totale e voto medio degli studenti promossi
    ESEMPIO

    3

    33467 30
    24356 0
    224678 18

    OUTPUT:
    promossi = 2 (66.7 %)
    voto medio = 24.0




    Dopo aver aperto il file per me diventa davvero complicato operare con i dati del file. Qualcuno può aiutarmi spiegandomi come fare?

    codice:
        FILE *fp;
    
    
        int candidati;
        int mat;
        int voto;
    
    
        fp = fopen("C:\\Users\\Angelo\\Desktop\\WorkspaceC2\\Esame1Febbraio\\Debug\\registro.txt", "r");
        if (fp == NULL)
        {
            printf("Documento di testo non trovato");
        }
    
    
        fscanf(fp, "%d", &candidati);
        printf("I candidati sono: %d \n", candidati);
    
    
        while(!feof(fp))
        {
            fscanf(fp, "%d ", &mat);
            printf("%d ", mat);
            fscanf(fp, "%d ", &voto);
            printf("%d \n", voto);
    
    
        }
        fclose(fp);
    Non riesco ad andare avanti
    Ultima modifica di Prog97; 10-02-2017 a 21:21

  2. #2
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,589
    Puoi fare un'analisi lineare, ti bastano un paio di variabili:
    codice:
    double somma;
    double promossi;
    E nel loop:
    codice:
    if(voto!=0) {
      promossi += 1;
      somma += voto;
    }
    Alla fine: media sarà uguale a somma/promossi e percentuale a promossi/N
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2017
    Messaggi
    11
    Okok grazie mille.
    Quindi quell'if mettendolo in un ciclo while, perchè il FOR non ci è permesso usarlo, al while che condizione dovrei dare? while(!feof(fp))?

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Stavamo già parlandone in

    https://www.iprogrammatori.it/forum-...t30344-15.html

    Cosa non ti era chiaro?

    while(!feof(fp))?


    Lo stai già usando!
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2017
    Messaggi
    11
    Quindi in quel while cosa dovrei mettere?

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Quello che ti ha detto Scara ... avevi detto "okok" ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2017
    Messaggi
    11
    Eh si ma se non ho capito male quell'IF sarebbe da aggiungere ad un while che controlla tutti i voti

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    È quel while con cui leggi il file e che già hai scritto.

    Forse non hai ancora capito a cosa serve quella if
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2017
    Messaggi
    11
    Quindi mi basta fare quell'if senza nessun while?

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Qui non è un problema di file. Tu studi programmazione?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

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.