Пытаюсь скомпилировать читабельность pset2 из cs50.. Понятия не имею, что не так. Показывает мне много ошибок. Я пытался их исправить, но выдаёт новые. Начал думать, что проблема может быть совсем в другом. Так что я застрял и не могу найти способ исправить это. Был бы признателен за любую помощь! Благодарю вас!
int main(void)
{
string text = get_string("Text:");
int letterCount = 0;
int wordCount = 0;
int sentCount = 0;
for(int n = 0; len = strlen(text); n < len; n++)
{
if(isalpha(text[n]))
letterCount++;
if ((n == 0 && text[n] != ' ') || (n != len - 1 && s[n] == ' ' && s[n +1] != ' '))
wordCount++;
if ((text[n] == '!') || (text[n] == '.') || (text[n] == '?'))
sentCount++;
}
//Average number of letters per 100 words
float avLetters = (letterCount / (float) wordCount) * 100;
//Average number sentences per 100 words
float avSent = (sentCount / (float) wordCount) * 100;
// find the index
int Grade = round(0.0588 * avLetters - 0.296 * avSent - 15.8);
if(Grade < 16)
printf("Grade %i\n", Grade);
else if ( Grade >= 16)
printf("Grade 16+");
else
printf("Before Grade 1");
}
Readability.c:12:18: error: use of undeclared identifier 'len'
for(int n = 0; len = strlen(text); n < len; n++)
^
Readability.c:12:42: error: use of undeclared identifier 'len'
for(int n = 0; len = strlen(text); n < len; n++)
^
Readability.c:12:45: error: expected ')'
for(int n = 0; len = strlen(text); n < len; n++)
^
Readability.c:12:6: note: to match this '('
for(int n = 0; len = strlen(text); n < len; n++)
^
Readability.c:12:47: error: use of undeclared identifier 'n'
for(int n = 0; len = strlen(text); n < len; n++)
^
edit
под тегами вашего вопроса. - person Gerhardh   schedule 26.05.2020for(int n = 0; len = strlen(text); n < len; n++)
->for (int n = 0; text[n]; n++)
text
является строкой с нулевым завершением, просто перебирайте символы, пока не будет достигнута'\0'
(ASCII0
). (это цель символа nul-terminating — он позволяет вам сканировать строку вперед и знать, когда вы достигли конца:)
- person David C. Rankin   schedule 27.05.2020