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

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

Восстановить пароль Регистрация
 
vbartalevich
0 / 0 / 0
Регистрация: 30.12.2015
Сообщений: 44
29.01.2016, 10:14     Почему на консоль выводится "1" и дальше ничего не происходит? (цикл while) #1
Вот код:
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++ Почему в main(); При вызове объекта не выводится в консоль?
C++ Ничего не выводится на экран
C++ запускается консоль и ничего не выводит
C++ Кириллица в консоль выводится некорректно
Найти ошибку.ничего не происходит при act=3 C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4236 / 2769 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
29.01.2016, 10:17     Почему на консоль выводится "1" и дальше ничего не происходит? (цикл while) #2
enter нажми
Kotik_leapold
 Аватар для Kotik_leapold
73 / 68 / 48
Регистрация: 18.12.2015
Сообщений: 303
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
90 / 84 / 25
Регистрация: 07.11.2014
Сообщений: 572
Завершенные тесты: 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
90 / 84 / 25
Регистрация: 07.11.2014
Сообщений: 572
Завершенные тесты: 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++

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

Или воспользуйтесь поиском по форуму:
Aymurat
90 / 84 / 25
Регистрация: 07.11.2014
Сообщений: 572
Завершенные тесты: 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)
Ответ Создать тему
Опции темы

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