Salve...
Ho un codice del genere:
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");
}
Questo programma deve leggere delle stringhe in un file e mi deve stampare a video solo quelle che:
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...