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

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

Войти
Регистрация
Восстановить пароль
 
Vyzov
6 / 6 / 1
Регистрация: 19.02.2013
Сообщений: 64
#1

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

12.10.2013, 01:35. Просмотров 642. Ответов 13
Метки нет (Все метки)

требуется запилить цикл вида:

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

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

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

Реализовать классы "Воин", "Пехотинец", "Винтовка", "Матрос", "Кортик" (наследование) - C++
Разработать программу с использованием наследования классов, реализующую классы: − воин; − пехотинец(винтовка); − матрос(кортик). ...

Создать класс "Вентилятор" содержащий в себе классы: "Двигатель", "Контроллер", "Пульт управления" - C++
Помогите с кодом написания задачи, не понимаю как написать классы в классе. Нужно создать класс "вентилятор" содержащий в себе классы:...

Создать абстрактный класс "Издание" и производные классы "Книга", "Статья", "Электронный ресурс" - C++
1. Создать абстрактный класс Издание с методами, позволяющими вывести на экран информацию об издании, а также определить является ли данное...

Создать класс "Книга" с полями "название книги", "количество страниц", "год издания" - C++
Создать класс Книга поля: название книги,количество страниц,год издания методы: вычислить сколько лет книге и количество дней прошедших...

13
alsav22
5428 / 4823 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
12.10.2013, 02:36 #2
Цитата Сообщение от Vyzov Посмотреть сообщение
при исполнении бесконечного цикла консоль блокируется
Это как?
Если:
Цитата Сообщение от Vyzov Посмотреть сообщение
Ждать с консоли одну из команд:
, то будет ожидание ввода. О какой блокировке идёт речь?
0
Vyzov
6 / 6 / 1
Регистрация: 19.02.2013
Сообщений: 64
12.10.2013, 02:43  [ТС] #3
может станет яснее если обхясню суть задачи...
Нужно синхронизировать несколько процессов, есть процес Ressiver и несколько Sender из рессивера нужно запустить несколько сендеров и перейти в бесконечный цикл, пока сендеры выполняют свою задачу...
Или до ввода с консоли сообщения с командой...
Цитата Сообщение от alsav22 Посмотреть сообщение
Это как?
Напиши бесконечный цикл и попробуй что-нибудь ввести во время его выполнения :Р
0
alsav22
5428 / 4823 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
12.10.2013, 03:35 #4
По-нормальному, это всё, через обработку событий делается.
0
Гром
210 / 129 / 11
Регистрация: 20.03.2009
Сообщений: 1,103
Записей в блоге: 16
Завершенные тесты: 1
12.10.2013, 09:24 #5
Не особо понял задание, но может что-то вынести в другой поток?
0
Tulosba
:)
Эксперт С++
4397 / 3233 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
12.10.2013, 12:13 #6
Ознакомьтесь с правилами построения многопоточных программ и примитивами синхронизации в частности.
Под какую ОС программа пишется? В какой среде?

Не по теме:

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

0
VLK
194 / 163 / 12
Регистрация: 05.05.2013
Сообщений: 1,196
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
0
ValeryS
Модератор
6729 / 5138 / 484
Регистрация: 14.02.2011
Сообщений: 17,231
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;
}
0
alsav22
5428 / 4823 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
12.10.2013, 12:46 #9
Цитата Сообщение от VLK Посмотреть сообщение
PS2 если я что то не правильно понял виноват в этом alsav22
Каким боком?
VLK, ValeryS, читайте внимательно 3 пост.
0
ValeryS
Модератор
6729 / 5138 / 484
Регистрация: 14.02.2011
Сообщений: 17,231
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(".");
 }
0
VLK
12.10.2013, 13:23
  #11

Не по теме:

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

0
Croessmah
12.10.2013, 18:00
  #12

Не по теме:

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

1
Tulosba
:)
Эксперт С++
4397 / 3233 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
12.10.2013, 18:13 #13
Croessmah, по-моему, VLK говорил с сарказмом. По-крайней мере, я на это надеюсь
0
VLK
12.10.2013, 19:36     Прерываемый "бесконечный" цикл
  #14

Не по теме:

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

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.10.2013, 19:36
Привет! Вот еще темы с ответами:

Определить тип данных "Запись", имеющий поля "Фамилия", "Пол", "Зарплата" - C++
определить тип данных запись имеющий поля фамилия пол зарплата. определить массив из 10 записей. в программе ввести в массив данные и...

по строкам.замените в слове сочетание "му" на "а" , а букву "ы" на "ца". очень нужно - C++
замените в слове сочетание &quot;му&quot; на &quot;а&quot; , а букву &quot;ы&quot; на &quot;ца&quot;. очень нужно Добавлено через 21 час 4 минуты неужели никто не знает...

Создать иерархию классов "Фирма", "Бухгалтер", "Сотрудник", "Зарплата" - C++
Само по себе понятие &quot;зарплата&quot; не особенно конкретное: оно включает и почасовую, и ставочную зарплату, и комиссионные, и процент с продаж....

Реализовать структуру "Анкета" с полями "Фамилия", "Пол" и "Адрес" - C++
Здравствуйте. Проходим тему Структуры, не могу понять, как определить количество, само задание: #include &lt;iostream&gt; #include...


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

Или воспользуйтесь поиском по форуму:
14
12.10.2013, 19:36
Ответ Создать тему
Опции темы

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