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;
}