Witam
A więc tak program ma robić to co w tytule, czyli przetworzyć i wydrukować listę wyrazów do tej pory program Zamienia wyrazy na duże jeśli pierwsza litera jest duża i na małe jeśli pierwsza litera jest mała.
Nie wiem jak napisać funkcje która posortuje wyrazy od małych do dużych oraz następny problem , program nie wybiera wyrazów z całego tekstu tylko z jego części.
Jak to poprawić ?
W załączniku podaję tekst którym testowałem program.

#include <stdio.h>
#include <string.h>

void male_slowa(char t[])
{
    int i=0;
    
    while(t[i]!='\0')
    {
        if(t[i]<='Z'&&t[i]>='A')
        t[i]=t[i]+'a'-'A';
        i++;
    }
    
    
}


void wielkie_slowa(char t[])
{
    int i=0;
    while(t[i]!='\0'){
        if(t[i]<='z'&&t[i]>='a')
        t[i]=t[i]-('a'-'A');
        i++;
    }
    
    
}

void Sortowanie_wyrazow(char s[])
{
 





   
}
int main ()
{
    FILE *plik;  

  char ciag[10000];
  int odczytany_wyraz;
  char * wyraz;
  
  int indeks_ciag = 0;
  
if(!(plik=fopen("The Holy Office.txt","r")))
   
                             {
                                    printf("\nblad otwarcia pliku\n");
                                    system("pause");
                                    exit(0);
                             }

for( ; indeks_ciag < 100000; indeks_ciag++)
{
    odczytany_wyraz = fgetc(plik);
    if(odczytany_wyraz == EOF)
        break;
    ciag[indeks_ciag] = odczytany_wyraz;
}



  wyraz = strtok (ciag," ,.-!?;:");
  while (wyraz != NULL)
  {
        if(wyraz[0]<='Z'&&wyraz[0]>='A')
        {
            
            
            wielkie_slowa(wyraz);
    printf ("%s\n",wyraz);
    
    }
    
    
    if(wyraz[0]<='z'&&wyraz[0]>='a')
        {
            
            
        male_slowa(wyraz);
    printf ("%s\n",wyraz);
    
    
}
    
    wyraz = strtok (NULL, " ,.-!?;:");
  }
  getch();
  return 0;
}