Aiuto programma in c

Raijin1
-si scriva un programma in grado di filtrare il contenuto di un file il cui nome è ricevuto da linea di comando. Per ciascuna linea,il file contiene i seguenti campi:


-i campi siano valori reali, i nomi di città e regione siano stringhe di massimo 25 caratteri ciascuna

-il programma riceve inoltre 2 ulteriori parametri da linea di comando corrispondenti a:
-una stringa contenente il nome di una regione
-un valore per la selezione di una stagione


ora io ho scritto questo:

#define MAX 71 /* 25+25 per città e regione,più 5 per i mm per stagione, 25+25+5+5+5+5=70 + 1(terminatore di stringa)
#define MAXC 25 /*caratteri massimi per città e regione*/


int main(int argc, char *argv[])
{ FILE* fp;
char str [MAX];
char città[MAXC], regione[MAXC];
folat primavera,estate,autunno,inverno;


if ( argc != 4 )
{ printf (" errore nella linea di comando ");
  return (-1);  }

if (( fp = fopen ( argv [1] , "r")) == NULL)
{  printf (" errore nella lettura del file ");
    return(-2);}

while( fgets ( str , MAX, fp) != NULL)
{ if (sscanf ( str, " %s %s %f %f %f %f ", città, regione, &primavera, &estate, &autunno, &inverno) != 6){
       printf(" errore nei parametri del file\n ");}

else{ printf (" città = %s - regione= %s \n mm_primavera= %f,  \n mm_estate= %f, \n mm_autunno= %f,\n mm_inverno= %f \n, città, regione, primavera, estate, autunno, inverno);}


in questo modo stamperei a video i parametri presenti nel file giusto?

per svolgere l'ultimo punto dell'esercizio come devo fare?

[/code]

Risposte
Umby2
probabilmente il testo ti chiede di filtrare i dati, se, ad esempio, ti passa "CAMPANIA" ed "1", scarterai tutti i record delle città non della campania, e visualizzi solo il dato della stagione selezionata.

Raijin1
ok. come dovrei fare però? ricevo sulla linea di comando i due argomenti e poi?
potrei usare un if con all'interno la string compare come condizione per entrare nel programma?

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.