Как я делаю, чтобы считать количество слов текста в C?

Я должен делать следующее упражнение:

Вводить текст символов в компьютер используя функцию getchar( ). Показывать количество символов, слов, и линии, которые это формируют. Показывать попрошенное с разъяснительными картелями. Считать как действительные разделители слов: место, табулятор и enter и иметь в виду, что считать слова не значит считать количество разделителей. Вошедший текст сможет содержать любой тип символов, включая enter.

Проблема состоит в том, что, когда я выполняю то, что я сделал, меня помечает следующая ошибка:

invalid conversion from `char' to `const char*' 

Я хотел бы знать, как решать это, и если хорошо выдвинута форма, которую я сделал, чтобы считать слова текста. Спасибо

#include <iostream>

using namespace std;

int cantpalabras(char *);

int main()
{
    int longcarac,cantp;
    char text;

    printf ("Ingrese el texto \n");
    text=getchar();
    longcarac=strlen(text);
    cantp=cantpalabras(text);
    printf ("La cantidad de palabras es: %d \n", cantp);

    system("PAUSE");
    return 0;
}


int cantpalabras(char *at)
{
    int cont=0;
    int *punt=at;
    while (*punt)
    { if (*punt='\n'||*punt='\t')
      { cont=cont+1;
        punt++; } }

    return cont; }
0
задан 24.01.2017, 09:59
0 ответов

Маленькая критика, с конструктивным духом: я рекомендую тебе читать документацию функций, которые ты используешь или которые хочешь использовать:

size_t strlen (const char *s);

Возврати длину цепи, указанной из-за s, исключая 0 конца цепи.

С присутствующим, давайте видеть твой код:

char text;
text = getchar();
...
longcarac = strlen( text );

Ясно, ты не можешь использовать strlen( ) в индивидуальных символах, только в указателях в цепи.

Кроме того, если мы смотрим

int getchar (void);

Прочитай следующий характер 'stdin' и он это возвращает как один 'unsigned char' продвинутый в 'int'. В случае ошибки или КОНЦА ФАЙЛА, возврати EOF.

Ясно, твой код не будет функционировать; только ты читаешь 1 характер, не текст, который они просят у тебя. Ты был бы должен делать цикл, поддерживать цепь текстом, складывать символы...

3
ответ дан 03.12.2019, 17:31

Теги

Похожие вопросы