Salve a tutti. L'esame di informatica è alle porte e stò esercitandomi su alcune prove d'esame. Devo leggere da file alcune stringhe e prendere solo quelle la cui prima lettera è compresa in un certo intervallo x y, dove x e y sono inserite dall'utente. Ho scritto così, ma sono sicuro che è una boiata, la stanchezza comincia a farsi sentire già a prima mattina..
codice:
#include <stdio.h>
#define MAXP 10
#define MAXL 30
int main(){
char file[10];
char parole[MAXP][MAXL];
char x, y;
int i=0, j=0;
FILE *f;
printf("Inserisci il nome del file: ");
gets(file);
printf("Inserire i due estremi dell'intervallo di caratteri in base al quale selezionare le parole contenute nel file: ");
scanf("%c%c", &x, &y);
f=fopen(file, "r");
for(i=0; i<MAXP; i++){
while(parole[i][j]!='\0'){
if(parole[i][j]>=x && parole[i][j]<=y){
fscanf(f, "%s", &parole[i]);
}
}
}
fclose(f);
}
L'idea era di leggere la prima stringa, verificare che il primo carattere fosse compreso nell'intervallo, e solo in caso positivo inserire la stringa nel vettore. Ma non mi esce fuori nulla di sensato..