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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
vbartalevich
0 / 0 / 0
Регистрация: 30.12.2015
Сообщений: 44
#1

Почему на консоль выводится "1" и дальше ничего не происходит? (цикл while) - C++

29.01.2016, 10:14. Просмотров 212. Ответов 7
Метки нет (Все метки)

Вот код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <Windows.h>
#include <conio.h>
using namespace std;
int main() {
    int i = 0;
    while (true) {
        cout << ++i;
        Sleep(500);
        if (i >= 10) {
            cout << "i >= 10";
        }
        else {
            _getch();
        }
    }
    system("pause");
    return 0;
}
Проблема в том, что консоль выводит "1" и просто дальше ничего не происходит, сама консоль работает, так как курсор мигает.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.01.2016, 10:14     Почему на консоль выводится "1" и дальше ничего не происходит? (цикл while)
Посмотрите здесь:

Ничего сложного, но разобраться не могу. За "реал" плюсану! C++
C++ Почему в main(); При вызове объекта не выводится в консоль?
C++ Подскажите как сделать, например "для продолжения нажмите клавишу х" и дальше выводится результат с шагом заданым пользователем
ошибка в программе dev c++ пишет что-то на манеру:"нельзя будет откомпилировать ничего " C++
C++ Вывести "неа" в случае, если ничего не ввёл в Edit1
При возведении в степень выводится результат "1.#INF" C++
При написании программы по нахождению минимума на экран ничего не выводится, почему? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kastaneda
Форумчанин
Эксперт С++
 Аватар для Kastaneda
4253 / 2785 / 219
Регистрация: 12.12.2009
Сообщений: 7,109
Записей в блоге: 1
Завершенные тесты: 1
29.01.2016, 10:17     Почему на консоль выводится "1" и дальше ничего не происходит? (цикл while) #2
enter нажми
Kotik_leapold
 Аватар для Kotik_leapold
73 / 68 / 48
Регистрация: 18.12.2015
Сообщений: 310
29.01.2016, 13:56     Почему на консоль выводится "1" и дальше ничего не происходит? (цикл while) #3
Здраствуйте, в даном случае нужно указать бесконечному циклу условия выхода:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
int main() {
    int i = 0;
 
    while (true) {
        cout << ++i;
 
        Sleep(500);
 
        if (i >= 10) {
            cout << "i >= 10";
        } else if (i == 100) {
             break;
        } else {
            _getch();
        }
    }
    system("pause");
    return 0;
}
Aymurat
93 / 87 / 26
Регистрация: 07.11.2014
Сообщений: 604
Завершенные тесты: 5
29.01.2016, 14:05     Почему на консоль выводится "1" и дальше ничего не происходит? (цикл while) #4
Если я правильно понял, нужно написать программу, которая выводит 123456789 с определенной задержкой. Закомментируйте условие с _getch; поставьте break; если нужно оборвать цикл. Точно задание не понял, но должно быть так?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <Windows.h>
#include <conio.h>
using namespace std;
int main() {
    int i = 0;
    while (true) {
        cout << ++i;
        Sleep(500);
        if (i >= 10) {
            cout << "  i >= 10"; break;
        }
        /*else {
            _getch();
        }*/
    }
    system("pause");
    return 0;
}
HELLKAR
 Аватар для HELLKAR
14 / 14 / 7
Регистрация: 11.04.2015
Сообщений: 50
Завершенные тесты: 1
29.01.2016, 14:25     Почему на консоль выводится "1" и дальше ничего не происходит? (цикл while) #5
Поддерживаю Aymurat, условие с _getch ожидает нажатия какой-либо клавиши для продолжения цикла,
и условие остановки цикла необходимо, как верно заметил Kotik_leapold.
Можно попробовать такой код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <Windows.h>
#include <iomanip>
#include <conio.h>
using namespace std;
int main() {
    int i = 0;
    while (true) {
        cout << setw(3) << ++i;
        Sleep(500);
        if (i >= 10) {
            cout << endl;
            cout << "i > 10" << endl;
            break;
        }
    }
    system("pause");
    return 0;
}
Выводит с задержкой первые десять чисел с установленным интервалом, затем ругается что i > 10 и завершает работу.
Читать немного удобнее с такими изменениями
Aymurat
93 / 87 / 26
Регистрация: 07.11.2014
Сообщений: 604
Завершенные тесты: 5
29.01.2016, 14:27     Почему на консоль выводится "1" и дальше ничего не происходит? (цикл while) #6
HELLKAR, а мой код разве не то же самое делает?
HELLKAR
 Аватар для HELLKAR
14 / 14 / 7
Регистрация: 11.04.2015
Сообщений: 50
Завершенные тесты: 1
29.01.2016, 14:31     Почему на консоль выводится "1" и дальше ничего не происходит? (цикл while) #7
Aymurat, делает то же самое, только читабельность не очень
В консоли выводит все в одну строку, без пробелов...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.01.2016, 14:43     Почему на консоль выводится "1" и дальше ничего не происходит? (цикл while)
Еще ссылки по теме:

C++ Почему происходит ошибка времени выполнения в решении задачи "Ход конем"?
Прочитал книгу Г.Шилдта "С++ для начинающих", что дальше? C++
Цикл "зацикливается", неизвестно почему C++
Почему то ничего не происходит в скомпилированной программе C++
C++ Неожиданное поведение программы: вместо вывода суммы чисел, на консоль всё время выводится ноль (цикл while)

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Aymurat
93 / 87 / 26
Регистрация: 07.11.2014
Сообщений: 604
Завершенные тесты: 5
29.01.2016, 14:43     Почему на консоль выводится "1" и дальше ничего не происходит? (цикл while) #8
А так?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <Windows.h>
#include <conio.h>
using namespace std;
int main() {
    int i = 0;
    while (true) {
        cout << ++i<<" ";
        Sleep(500);
        if (i >= 10) {
            cout << "i >= 10" <<endl; break;
        }
        /*else {
            _getch();
        }*/
    }
    system("pause");
    return 0;
}
Yandex
Объявления
29.01.2016, 14:43     Почему на консоль выводится "1" и дальше ничего не происходит? (цикл while)
Ответ Создать тему
Опции темы

Текущее время: 09:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru