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?