Когда вы делаете letter_all = lettercount - spaces
, вы вычитаете количество пробелов из количества букв. Итак, если у вас есть строка «he llo», у вас есть 5 букв и 1 пробел, и вы делаете 5-1. тогда ваша программа напечатает 4, что неверно. Итак, вам нужно просто напечатать буквенный подсчет, чтобы получить номер букв.
Вот как должна быть ваша функция.
int count_letter(string text)
{
// Declaring function variables
int lettercount = 0;
int number_of_letters;
int spaces = 0;
int letter_all,i;
// Getting length of the text
number_of_letters = strlen(text);
// Counting the letters in the text inputted
for(i = 0; i < number_of_letters; i++)
{ // If text is from a-z then count the text
if(isalpha(text[i]))
lettercount++;
}
return lettercount;
}