Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Почему цикл не заканчивается??? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ не могу решить до конца http://www.cyberforum.ru/cpp-beginners/thread65631.html
Есть задачка, и не могу понять в чём я ошибаюсь: Нужно из одного текста, который мы вводим с клавиатуры, найти самые длиное слово и сравнить если его последние буквы равны с первыми буквами из...
C++ Win API форма курсора Привет. Делаю оконное приложение на win api. Надо программно сделать форму курсора - стрелка (стандартная). Как это сделать, подскажите? http://www.cyberforum.ru/cpp-beginners/thread65604.html
Метод Фибоначчи C++
Ребята, помогите пожалуйста написать программу на С++ по методу Фибоначчи, при условии f(x)=2x*x*x-6*x+3, a=0, b=2,5 .
C++ Перевод текста в произвольную систему счисления
Задача такая (перевод с эстонского): С клавиатуры вводится: - Р - натуральное число, 0 < P < 21. - S - массив строк P-ичных чисел (т.е. P - основание системы счисления). - N - число элементов...
C++ Максимум в массиве http://www.cyberforum.ru/cpp-beginners/thread65511.html
Найти максимум в массиве иего положение Добавлено через 1 минуту #include <iostream> using namespace std; int main() { int n; double array; int i, imax(0), imin(0);
C++ Матрица Доброе время суток. Создавая матрицу возникли небольшие не понятие ... Данный код выведет примерно такую матрицу... (8 это не значение, а как бы уголок матрицы) 8123 0000 0000 0000 как... подробнее

Показать сообщение отдельно
gromo
371 / 270 / 24
Регистрация: 04.09.2009
Сообщений: 1,214

Почему цикл не заканчивается??? - C++

20.11.2009, 16:27. Просмотров 864. Ответов 9
Метки (Все метки)

Всем добрый день!
У меня здесь вопрос по циклу while. Вот программа по подсчёту букв и сочетаний в тексте:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include <iostream>
#include <string>
#include <ctype.h>
void main() {
    using namespace std;
    string str;
    int aCnt=0, eCnt=0, iCnt=0, oCnt=0, 
        uCnt=0, consonantCnt=0, ffCnt=0, flCnt=0, fiCnt=0;
    while ( cin >> str )
    {
        for(int ix=0; ix<str.size(); ++ix){
            switch ( str[ix] ) {
            case 'a': case 'A':
                ++aCnt;
                break;
            case 'e': case 'E':
                ++eCnt;
                break;
            case 'i': case 'I':
                ++iCnt;
                break;
            case 'o': case 'O':
                ++oCnt;
                break;
            case 'u': case 'U':
                ++uCnt;
                break;
            default:
                if (isalpha(str[ix]))
                    ++consonantCnt; //подсчёт всех остальных БУКВ
                break;
            }
        }
        if(str=="ff")
            ++ffCnt;
 
        if(str=="fl")
            ++flCnt;
 
        if(str=="fi")
            ++fiCnt;
    }
}
Вот такой вопрос:
Почему, даже когда я ничего не ввожу, условие цикла while ( cin >> str )
не даёт FALSЕ?
Следовательно я не могу вывести результаты работы программы.
Спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru