ok mostro tutto
magari saprete darmi anche qualche consiglio in più


codice:
int main(void) { 
    char stringhe[M][N], vetc1[K], vetc2[K]; 
    int num_stringhe;
    num_stringhe = carica_stringhe_da_file(stringhe);
          if(num_stringhe==-1) {printf("Errore durante la lettura da file. Fine programma.\n"); 
             return 0; }
    stampa_stringhe(stringhe, num_stringhe);
    separa_maiuscole_minuscole(stringhe, vetc1, vetc2); 
     system("PAUSE");
     return 1; }

int carica_stringhe_da_file(char s[M][N]) {
      FILE *f; 
     int i=0; 
    f=fopen("stringhe1.txt", "r"); if (f==NULL) return (-1); 
else { while (fscanf(f, "%s", s[i])!=EOF) i++; return i; } } 

void stampa_stringhe(char s[M][N], int num_s) { 
int i; 
printf("Le %d stringhe lette da file:\n", num_s); 
for(i=0;i<num_s;i++) 
printf("Stringa %d: %s\n",i+1,s[i]); } 

void separa_maiuscole_minuscole(char s[M][N], char vetc1[], char vetc2[]) {
int i,j;
int k1=0;
int k2=0; 
for(i=0; s[i][0]!= EOF; i++)
     for (j=0; s[i][j]!= '\0';j++) {
            if (s[i][j]>= 'A' && s[i][j]<='Z')
                   { vetc1[k1]=s[i][j]; 
                         k1++; } 
            else {
                   vetc2[k2]=s[i][j]; 
                     k2++; }  
  printf("il vettore maiuscole e'\n"); 
for (i=0; i<k1;i++) 
printf("%s\n", vetc1[i]);  
printf("il vettore minuscole e'\n"); 
for (i=0; i<k2;i++) 
printf("%s\n", vetc2[i]); }