Aiuto programma in c
-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:
in questo modo stamperei a video i parametri presenti nel file giusto?
per svolgere l'ultimo punto dell'esercizio come devo fare?
[/code]
-i campi
-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
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.
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?
potrei usare un if con all'interno la string compare come condizione per entrare nel programma?