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

Прерываемый "бесконечный" цикл - C++

Войти
Регистрация
Восстановить пароль
 
Vyzov
6 / 6 / 1
Регистрация: 19.02.2013
Сообщений: 64
12.10.2013, 01:35     Прерываемый "бесконечный" цикл #1
требуется запилить цикл вида:

C++
1
2
3
4
5
6
7
8
9
/*6. Бесконечно выполнять следующий цикл:
6.1. Ждать с консоли одну из команд:
- «чтение» сообщения из контейнера;
- «выход» из цикла;
6.2. При поступлении команды «читать»:
- ввести одно сообщение из файла, контейнера сообщений;
- вывести его на консоль;
- пометить ячейку для этого сообщения как свободную;
6.3. При поступлении команды «выход» выйти из цикла.*/
Печалька в том что при исполнении бесконечного цикла консоль блокируется и в нее не вбить требуемого значения...
посоветуйте что-нибуль этакое))
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.10.2013, 01:35     Прерываемый "бесконечный" цикл
Посмотрите здесь:

C++ for или while (Какой цикл "лучше"?)
Как "прокрутить" цикл C++
"Завасание" программы, при входе в цикл C++
Что делает цикл "while(cin.getline(buf,l_buf))" ? C++
C++ Добавить в конец программы строчку cout << "Your number is", не задев цикл
C++ Цикл for: зачем использовать разделитель " ; " два раза?
"Вычеркнуть" из заданного целого числа самую большую цифру (используя цикл for) C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5284 / 4803 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
12.10.2013, 02:36     Прерываемый "бесконечный" цикл #2
Цитата Сообщение от Vyzov Посмотреть сообщение
при исполнении бесконечного цикла консоль блокируется
Это как?
Если:
Цитата Сообщение от Vyzov Посмотреть сообщение
Ждать с консоли одну из команд:
, то будет ожидание ввода. О какой блокировке идёт речь?
Vyzov
6 / 6 / 1
Регистрация: 19.02.2013
Сообщений: 64
12.10.2013, 02:43  [ТС]     Прерываемый "бесконечный" цикл #3
может станет яснее если обхясню суть задачи...
Нужно синхронизировать несколько процессов, есть процес Ressiver и несколько Sender из рессивера нужно запустить несколько сендеров и перейти в бесконечный цикл, пока сендеры выполняют свою задачу...
Или до ввода с консоли сообщения с командой...
Цитата Сообщение от alsav22 Посмотреть сообщение
Это как?
Напиши бесконечный цикл и попробуй что-нибудь ввести во время его выполнения :Р
alsav22
5284 / 4803 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
12.10.2013, 03:35     Прерываемый "бесконечный" цикл #4
По-нормальному, это всё, через обработку событий делается.
Гром
 Аватар для Гром
199 / 118 / 10
Регистрация: 20.03.2009
Сообщений: 1,076
Записей в блоге: 16
12.10.2013, 09:24     Прерываемый "бесконечный" цикл #5
Не особо понял задание, но может что-то вынести в другой поток?
Tulosba
:)
Эксперт С++
4382 / 3225 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
12.10.2013, 12:13     Прерываемый "бесконечный" цикл #6
Ознакомьтесь с правилами построения многопоточных программ и примитивами синхронизации в частности.
Под какую ОС программа пишется? В какой среде?

Не по теме:

Цитата Сообщение от Vyzov Посмотреть сообщение
Ressiver
Receiver.

VLK
 Аватар для VLK
192 / 161 / 12
Регистрация: 05.05.2013
Сообщений: 1,220
12.10.2013, 12:29     Прерываемый "бесконечный" цикл #7
Что за чепуха?

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
/* возможно есть какие то ошибки, т.к. давно не писал на C++, пишу на C# */
int main()
{
int choice = 0;
 
/* вот тебе бесконечный цикл */
while(true)
{
std::cout << "1. Ввести данные, 2 выйти из программы: ";
std::cin >> choice;
 
/* вот тебе прерывание цикла */
if (choice == 2) { break; }
 
/* вот тебе действия (развратные) */
else if (choice == 1)
{
std::cout << "В этом блоке за место этой строчи пишем ввод данных, необходимый по условиям \n";
 
}
 
/* а это на случай если введут что то не то */
else { continue; }
}
 
system("pause");
return 0;
}
PS или я как всегда не правильно понял задание?

PS2 если я что то не правильно понял виноват в этом alsav22
ValeryS
Модератор
6413 / 4879 / 448
Регистрация: 14.02.2011
Сообщений: 16,180
12.10.2013, 12:43     Прерываемый "бесконечный" цикл #8
Цитата Сообщение от Vyzov Посмотреть сообщение
Напиши бесконечный цикл и попробуй что-нибудь ввести во время его выполнения
пожалуйста
C
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <conio.h> 
 
int main()
{
 while(1)
 {
 char ch=getch();
 if(ch=='a')
     break;
 
 }
    return 0;
}
alsav22
5284 / 4803 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
12.10.2013, 12:46     Прерываемый "бесконечный" цикл #9
Цитата Сообщение от VLK Посмотреть сообщение
PS2 если я что то не правильно понял виноват в этом alsav22
Каким боком?
VLK, ValeryS, читайте внимательно 3 пост.
ValeryS
Модератор
6413 / 4879 / 448
Регистрация: 14.02.2011
Сообщений: 16,180
12.10.2013, 13:17     Прерываемый "бесконечный" цикл #10
если нужно чтобы цикл выполнялся и не ждал ввода символа то можно сделать так
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <conio.h> 
int main()
{
 while(1)
 {
    if( kbhit())
      {
       char ch=getch();
         if(ch=='a')
        break;
       }
    printf(".");
 }
    return 0;
}
Добавлено через 12 минут
Цитата Сообщение от alsav22 Посмотреть сообщение
ValeryS, читайте внимательно 3 пост.
и что там такого?
ну несколько потоков и что
в конце концов чтение с консоли можно тоже в отдельный поток вывести

Добавлено через 11 минут
можно еще красивее
C
1
2
3
4
5
6
7
while(1)
 {
     if( kbhit() && getch()=='a')
        break;
     
    printf(".");
 }
VLK
12.10.2013, 13:23
  #11

Не по теме:

Цитата Сообщение от alsav22 Посмотреть сообщение
Каким боком?
ну как каким, если бы вы уже написали готовый код, нам бы не пришлось писать ошибочный код, вывод: виноват alsav22

Croessmah
12.10.2013, 18:00
  #12

Не по теме:

Цитата Сообщение от VLK Посмотреть сообщение
ну как каким, если бы вы уже написали готовый код, нам бы не пришлось писать ошибочный код, вывод: виноват alsav22
Если бы в школе учителя вместо задачь писали бы сразу ответы, то у всех были бы пятерки. Поэтому виноваты сугубо учителя в том, что мозги у многих отсутствуют

Tulosba
:)
Эксперт С++
4382 / 3225 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
12.10.2013, 18:13     Прерываемый "бесконечный" цикл #13
Croessmah, по-моему, VLK говорил с сарказмом. По-крайней мере, я на это надеюсь
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.10.2013, 19:36     Прерываемый "бесконечный" цикл
Еще ссылки по теме:

C++ Проверьте код программы (тема "цикл do while в C++")
Почему на консоль выводится "1" и дальше ничего не происходит? (цикл while) C++
Что означает "неразветвленный цикл"? C++
Цикл "зацикливается", неизвестно почему C++
Цикл: Реализовать приложение "калькулятор"... C++

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

Или воспользуйтесь поиском по форуму:
VLK
12.10.2013, 19:36     Прерываемый "бесконечный" цикл
  #14

Не по теме:

Цитата Сообщение от Croessmah Посмотреть сообщение
Если бы в школе учителя вместо задачь писали бы сразу ответы, то у всех были бы пятерки. Поэтому виноваты сугубо учителя в том, что мозги у многих отсутствуют
Все правильно, во всем виноваты тупоголовые учителя, которые приходят и говорят, я вам должен "прочитать" лекцию, не учить и не научить, а именно прочитать, а поймешь ты или нет, их это мало заботит.

Yandex
Объявления
12.10.2013, 19:36     Прерываемый "бесконечный" цикл
Ответ Создать тему
Опции темы

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