Условие с присваиванием

201
16 июля 2017, 12:03

Программа выводит количество букв и слов. Почему, если ch = _getche() вынести из условия цикла в его тело, то в cout нужно указывать не chcount a (chcount - 1)?

#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
    int chcount = 0;
    int wdcount = 1;
    char ch = 'a';
    cout << "Enter the line: ";
    while ((ch = _getche()) != '\r')
    {
        if (ch == ' ')
            wdcount++;
        else
            chcount++;
    }
    cout << "\nWords: " << wdcount << endl;
    cout << "Letters: " << chcount << endl;
    system("pause");
    return 0;
}
Answer 1

Как я понимаю, вы вместо

while ((ch = _getche()) != '\r')
{
    if (ch == ' ')
        wdcount++;
    else
        chcount++;
}

делаете

while (ch != '\r')
{
    ch = _getche();
    if (ch == ' ')
        wdcount++;
    else
        chcount++;
}

В первом случае считанный '\r' вы не считаете (тело цикла не выполняется), во втором - считаете...

READ ALSO
Фиксация блока чекбоксом [требует правки]

Фиксация блока чекбоксом [требует правки]

При hover'e появляется панель с checkbox'oм, при нажатии на который панель фиксируется,а при снятии срабатывает hover

218
Пустая ячейка во flexbox

Пустая ячейка во flexbox

Есть обычный flebox с элементами:

316
Поочередная анимация JQuery

Поочередная анимация JQuery

Есть 4 блокаПри клике на первый блок,анимация запускается и блоки поочередно появляются

392
почему mysqldump не видит данных?

почему mysqldump не видит данных?

В webpy, при использовании команды:

219