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

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

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

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

29.01.2016, 10:14. Просмотров 238. Ответов 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++
Подскажите как сделать, например &quot;для продолжения нажмите клавишу х&quot; и дальше выводится результат с шагом заданым пользователем

Почему происходит ошибка времени выполнения в решении задачи "Ход конем"? - C++
Добрый день! Я попытался решить одну задачку о шахматах. Проблема в том, что моя программа крашится с такой ошибкой: ...

что дальше? (программа вводит информацию из ведомости и печатает фамилии студентов, учащихся на "4". "5" и их процентное соотношение с другими) - C++
Ведомость о результатах зимней сессии содержит информацию: фамилия и инициалы студента, номер группы, оценки с 3-х предметов: а)...

Цикл "зацикливается", неизвестно почему - C++
Программа представляет собой демонстрацию движений двух &quot;йо-йо&quot; (катушечных маятников, маятников Максвелла - называйте как хотите) вот...

В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно" - C++
В зависимости от времени года &quot;весна&quot;, &quot;лето&quot;, &quot;осень&quot;, &quot;зима&quot; определить погоду &quot;тепло&quot;, &quot;жарко&quot;, &quot;холодно&quot;, &quot;очень холодно&quot;. Я так...

Обучение по книге Страуструпа "принципы и практика C++". Не выводится "Hello, World" - C++
Ребят, помогите пожалуйста, пропал на первом же примере из книги, автор даёт код для вывода Hello world!#include &quot;std_lib_facilities.h&quot; ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Kastaneda
Форумчанин
Эксперт С++
4652 / 2860 / 228
Регистрация: 12.12.2009
Сообщений: 7,268
Записей в блоге: 2
Завершенные тесты: 1
29.01.2016, 10:17 #2
enter нажми
Kotik_leapold
73 / 68 / 48
Регистрация: 18.12.2015
Сообщений: 377
29.01.2016, 13:56 #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
99 / 93 / 29
Регистрация: 07.11.2014
Сообщений: 632
Завершенные тесты: 5
29.01.2016, 14:05 #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
14 / 14 / 7
Регистрация: 11.04.2015
Сообщений: 50
Завершенные тесты: 1
29.01.2016, 14:25 #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
99 / 93 / 29
Регистрация: 07.11.2014
Сообщений: 632
Завершенные тесты: 5
29.01.2016, 14:27 #6
HELLKAR, а мой код разве не то же самое делает?
HELLKAR
14 / 14 / 7
Регистрация: 11.04.2015
Сообщений: 50
Завершенные тесты: 1
29.01.2016, 14:31 #7
Aymurat, делает то же самое, только читабельность не очень
В консоли выводит все в одну строку, без пробелов...
Aymurat
99 / 93 / 29
Регистрация: 07.11.2014
Сообщений: 632
Завершенные тесты: 5
29.01.2016, 14:43 #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;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.01.2016, 14:43
Привет! Вот еще темы с ответами:

Что происходит когда например "char* g="fdgag";"? - C++
Сабж. Я понял создается динамический массив с помощью malloc() и поэтому к нему не обратится таким образом: g. Я прав?

я задал произвольный текст длинной 5 строк, и допустим что я ввел 5 раз букву "П" , какой цикл нужно создать чтобы пометять букву "П" на букву "Р" ? - C++
я задал произвольный текст длинной 5 строк, и допустим что я ввел 5 раз букву &quot;П&quot; , какой цикл нужно создать чтобы пометять букву &quot;П&quot; на...

Почему то ничего не происходит в скомпилированной программе - C++
Почему то ничего не происходит в скомпилированной программе ошибок компилятор не нашел ,но никаких значений на экран не выводит в программе...

Подскажите почему может появляться ошибка: "неразрешенный внешний символ "_SDL_..."" - C++
Привет всем =) Скажите пожалуйста почему у меня пишет: 1&gt;SDL.obj : error LNK2001: неразрешенный внешний символ &quot;_SDL_CreateCursor&quot; ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
29.01.2016, 14:43
Ответ Создать тему
Опции темы

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