Problema comprensione esercizio linguaggio C
Buon pomeriggio a tutti!! 
Premetto che non sono brava a programmare e che l'informatica non fa proprio per me (purtroppo l'esame devo darlo comunque
). Ho un problema a risolvere il seguente esercizio:
"Si realizzi un programma strutturato in linguaggio C che gestisca i punteggi di una gara di trial. Le informazioni sono contenute in un file il cui nome viene passato da linea di comando. Tale file contiene, uno per riga: nome e cognome del pilota, nazionalità del pilota, penalità collezionate ad ogni prova. Ad esempio, il file può contenere:
Mario Rossi ITA 0 1 2 0 0 3 5 5 1 0
Felipe Rodriguez ESP 0 0 0 0 5 5 1 1 0 5
Raul Carulez FRA 1 1 1 5 5 0 0 3 4 1
Carlo Veloso FRA 0 0 0 0 0 0 4 5 5 1
Francesco Verdi ITA 0 0 0 1 1 1 0 0 5 5
Si facciano le seguenti assunzioni:
Il numero di righe del file non è noto a priori
I campi Nome e Cognome sono lunghi al più 30 caratteri e non possono contenere spazi
La sigla della nazione è sempre codificata su 3 lettere maiuscole
Le prove sono sempre 10 per ciascun atleta, sono separate da uno spazio e il valore può variare da un minimo di 0 ad un massimo di 5
Il programma può ricevere da linea di comando i seguenti parametri:
1. il flag "-a" e una stringa di caratteri che indica una nazionalità (specificata mediante tre lettere maiuscole); in questo caso, il programma deve restituire a video i punteggi complessivi di tutti gli atleti appartenenti alla nazione specificata.
2. il flag è “-b” e un valore intero che indica il numero di una prova (può essere un numero tra 1 e 10); in questo caso, il programma deve restituire i nomi dei piloti che sono riusciti ad effettuare quella prova senza commettere penalità.
3. il flag è "-c"; in questo caso, il programma deve restituire lo score complessivo per nazioni (la somma di tutte le penalità di tutti gli atleti per ogni nazione). Si assuma che in gara le nazioni rappresentate non siano più di 20."
Non riesco nemmeno a capire in che modo leggere il file e se da linea di comando vengono passati due argomenti o uno solo
Se qualcuno volesse darmi qualche consiglio gliene sarei molto grata!!

Premetto che non sono brava a programmare e che l'informatica non fa proprio per me (purtroppo l'esame devo darlo comunque

"Si realizzi un programma strutturato in linguaggio C che gestisca i punteggi di una gara di trial. Le informazioni sono contenute in un file il cui nome viene passato da linea di comando. Tale file contiene, uno per riga: nome e cognome del pilota, nazionalità del pilota, penalità collezionate ad ogni prova. Ad esempio, il file può contenere:
Mario Rossi ITA 0 1 2 0 0 3 5 5 1 0
Felipe Rodriguez ESP 0 0 0 0 5 5 1 1 0 5
Raul Carulez FRA 1 1 1 5 5 0 0 3 4 1
Carlo Veloso FRA 0 0 0 0 0 0 4 5 5 1
Francesco Verdi ITA 0 0 0 1 1 1 0 0 5 5
Si facciano le seguenti assunzioni:
Il numero di righe del file non è noto a priori
I campi Nome e Cognome sono lunghi al più 30 caratteri e non possono contenere spazi
La sigla della nazione è sempre codificata su 3 lettere maiuscole
Le prove sono sempre 10 per ciascun atleta, sono separate da uno spazio e il valore può variare da un minimo di 0 ad un massimo di 5
Il programma può ricevere da linea di comando i seguenti parametri:
1. il flag "-a" e una stringa di caratteri che indica una nazionalità (specificata mediante tre lettere maiuscole); in questo caso, il programma deve restituire a video i punteggi complessivi di tutti gli atleti appartenenti alla nazione specificata.
2. il flag è “-b” e un valore intero che indica il numero di una prova (può essere un numero tra 1 e 10); in questo caso, il programma deve restituire i nomi dei piloti che sono riusciti ad effettuare quella prova senza commettere penalità.
3. il flag è "-c"; in questo caso, il programma deve restituire lo score complessivo per nazioni (la somma di tutte le penalità di tutti gli atleti per ogni nazione). Si assuma che in gara le nazioni rappresentate non siano più di 20."
Non riesco nemmeno a capire in che modo leggere il file e se da linea di comando vengono passati due argomenti o uno solo

Risposte
Suppongo che il programma debba essere chiamato passando come primo argomento il nome del file seguito da uno dei tre flag (quindi -a, -b o -c) e quindi il corrispondente argomento. Se quindi si vuole avere i punteggi complessivi di tutti i piloti italiani e il file si chiama trial.txt si dovrà fare scrivere qualcosa come (suppongo il programma si chiami trial.exe):
Non è chiaro se è possibile avere più di un flag sulla stessa linea di comando. Ma direi di partire dalla scelta di una struttura dati opportuna per memorizzare i dati e con la lettura del file.
trial.exe trial.txt -a ITA
Non è chiaro se è possibile avere più di un flag sulla stessa linea di comando. Ma direi di partire dalla scelta di una struttura dati opportuna per memorizzare i dati e con la lettura del file.
Ok grazie, provo a lavorarci!