Salve...
Ho un codice del genere:
Questo programma deve leggere delle stringhe in un file e mi deve stampare a video solo quelle che:codice:main () { int i; char destinazione[15], orario[6], codice[10], cercadest[15], cercaora[6]; FILE *partenze; if ((partenze = fopen("partenze.txt", "r")) == NULL) { printf("File could not be opened"); } else { printf("Inserisci destinazione: \n"); scanf("%s", cercadest); printf("Inserisci l'orario: \n"); scanf("%s", cercaora); printf("Dalle ore %s sono disponibili i seguenti voli per '%s'\n",cercaora, cercadest); while(!feof(partenze)) { fscanf(partenze, "%s %s %s", codice, destinazione, orario); if ((strcmp(cercadest,destinazione) == 0) && (strcmp(cercaora,orario) < 0)) { printf("\n%s %s %s\n", codice, destinazione, orario); } } fclose(partenze); } system("PAUSE"); }
1) presentano la destinazione che dò io in input
2) quelle che, dato un orario ad esempio 9:00, mi escano a video quelle che presentano l orario dalle 9:00 in poi...
Ora fino alla destinazione è tutto ok, il problema è che quel (strcmp(cercaora,orario) < 0) non mi funziona correttamente cioè mi si stampano anche le stringhe dove presentano l orario minore a quello dato ma io devo ricevere da quell orario in poi... Dove sta il problema?
Il file è strutturato in questo modo:
CodiceVolo Destinazione Orario
P.S. Non voglio l esercizio bello e fatto chiedo solo dove ho sbagliato...

Rispondi quotando