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

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

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

организовать цикл - C++

10.11.2009, 11:16. Просмотров 531. Ответов 9
Метки нет (Все метки)

Пожалуйста помогите организовать цикл:

while ((A!+a) && (A!+b))
{
далее подряд идут 4 операции
}
if A=a {....}
else {....}

Нужно чтобы выход из цикла был как выполнится условие. В данном случае даже если условие выполнено - все равно идет проверка остальных условий до конца цикла
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.11.2009, 11:16     организовать цикл
Посмотрите здесь:

организовать цикл - C++
дано слово ch="sdf" Как сделать, чтобы ch просматривался целым словом, а не посимвольно. for(i=0;i<=3;i++){ ...

Организовать цикл - C++
Вот приболел, а на лабы нужно задание, сижу и не понимаю, что от меня хотят и как это делать. http://f1.s.qip.ru/G1CCNmsq.png ...

Как организовать цикл? - C++
Здравствуйте. Вообщем имеется уравнение,в правой части которого идёт бесконечное сложение.Слагаемые появляются по такому закону x -...

Как можно организовать цикл? - C++
помогите пожалуйста, как можно организовать цикл, вот например в этом:#include<iostream.h> void main() { float a, b, c; ...

Как организовать цикл здесь? - C++
Всем привет! Мне надо посчитать с помощью цикла выражение типа: \sqrt{3 + \sqrt{3 + ...\sqrt{3}}} (n корней, n - с клавиатуры)....

Организовать цикл худения и кормежки жирафа - C++
Если кому нетрудно написать, помогите решить эту задачу Сделать через конструктор (2 класса) , жираф (1 класс) , весит 1000кг, каждую...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Monte-Cristo
2788 / 1374 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
10.11.2009, 11:19     организовать цикл #2
несовсем понял что ты хочешь.. но...
используй либо цикл do...while() или оператор выхода из цикла break;

Добавлено через 1 минуту
или ты хочешь в середине цикла иметь возможность выйти? тогда break;
valeriikozlov
Эксперт C++
4669 / 2495 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
10.11.2009, 11:26     организовать цикл #3
Цитата Сообщение от Valery_ Посмотреть сообщение
Нужно чтобы выход из цикла был как выполнится условие.
C
1
while ((A!+a) && (A!+b) && A!=a)
хотя если честно не очень понятна первая часть условия: (A!+a) && (A!+b)
Valery_
0 / 0 / 0
Регистрация: 03.11.2009
Сообщений: 101
10.11.2009, 11:33  [ТС]     организовать цикл #4
ошибся прото в условии while ((A!=a)&&(A!=b))
чтобы не писать длинный код - вот просто упрощение:

{
A=A/2;
A=A/4;
A=A/8;
A=A/16;
}
нужно выйти как только условие будет выполнено. В реальности тут опрас ком порта на разных скоростях. И как только будет получен ответ - надо выйти и его обработать не продолжая дальнейший опрос чтобы сохранились DCB а момент получения ответа так как в зависимости от ответа дальше будут идти еще действия с портом на той же скорости
Monte-Cristo
2788 / 1374 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
10.11.2009, 11:40     организовать цикл #5
Valery_, тебя не понять. Приведи цикл свой. И напиши условие, при котором должен осуществляться выход.
Valery_
0 / 0 / 0
Регистрация: 03.11.2009
Сообщений: 101
10.11.2009, 11:53  [ТС]     организовать цикл #6
вот цикл
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
char A[256]; // буффер обмена с портом
char B[3]; - буффер обмена
char a[1]={0xFA} // костанта
char b[1]={0x3D}
 
while (( A[0]!=a[0])&&(A[0]!=b[0])
 
        BuildCommDCB("baud=19200 parity=N data=8 stop=1", &dcbCommPort);
        SetCommState(hComm, &dcbCommPort);
        WriteFile(hComm, B, 3, &BytesWrite, NULL);
        ReadFile(hComm, А, 256, &BytesRead, NULL);
 
        BuildCommDCB("baud=38400 parity=N data=8 stop=1", &dcbCommPort);
        SetCommState(hComm, &dcbCommPort);
        WriteFile(hComm, B, 3, &BytesWrite, NULL);
        ReadFile(hComm, А, 256, &BytesRead, NULL);
 
        BuildCommDCB("baud=57600 parity=N data=8 stop=1", &dcbCommPort);
        SetCommState(hComm, &dcbCommPort);
        WriteFile(hComm, B, 3, &BytesWrite, NULL);
        ReadFile(hComm, А, 256, &BytesRead, NULL);
 
        BuildCommDCB("baud=115200 parity=N data=8 stop=1", &dcbCommPort);
        SetCommState(hComm, &dcbCommPort);
        WriteFile(hComm, B, 3, &BytesWrite, NULL);
        ReadFile(hComm, А, 256, &BytesRead, NULL);
 
}
Далее ибет обработка If A[0]=a[0] {................}
else {.......................}

нужно выйти из цикла как только будет получен правильный ответ из порта. Не продолжая дальнейшее сканирование.
Monte-Cristo
2788 / 1374 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
10.11.2009, 11:58     организовать цикл #7
Valery_, у тебя и в коде после while не хватает ) { ?

Добавлено через 46 секунд
Цитата Сообщение от Valery_ Посмотреть сообщение
как только будет получен правильный ответ из порта.
где проверка на правильный ответ из порта?
Valery_
0 / 0 / 0
Регистрация: 03.11.2009
Сообщений: 101
10.11.2009, 11:59  [ТС]     организовать цикл #8
я не копировал код так как он большой. там в реальности еще рассчет контрольой суммы и формирование строки отправки. просто набрал укороченный и в спешке сделал пару ошибок. Но вопрос по выходу их цикла а не по {} ()
Monte-Cristo
2788 / 1374 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
10.11.2009, 12:01     организовать цикл #9
Цитата Сообщение от Valery_ Посмотреть сообщение
while (( A[0]!=a[0])&&(A[0]!=b[0])
BuildCommDCB("baud=19200 parity=N data=8 stop=1", &dcbCommPort);
SetCommState(hComm, &dcbCommPort);
WriteFile(hComm, B, 3, &BytesWrite, NULL);
ReadFile(hComm, А, 256, &BytesRead, NULL);

// проверка

BuildCommDCB("baud=38400 parity=N data=8 stop=1", &dcbCommPort);
SetCommState(hComm, &dcbCommPort);
WriteFile(hComm, B, 3, &BytesWrite, NULL);
ReadFile(hComm, А, 256, &BytesRead, NULL);

// проверка

BuildCommDCB("baud=57600 parity=N data=8 stop=1", &dcbCommPort);
SetCommState(hComm, &dcbCommPort);
WriteFile(hComm, B, 3, &BytesWrite, NULL);
ReadFile(hComm, А, 256, &BytesRead, NULL);

// проверка

BuildCommDCB("baud=115200 parity=N data=8 stop=1", &dcbCommPort);
SetCommState(hComm, &dcbCommPort);
WriteFile(hComm, B, 3, &BytesWrite, NULL);
ReadFile(hComm, А, 256, &BytesRead, NULL);
}
я правильно проверки раставил?

Добавлено через 1 минуту
Цитата Сообщение от Valery_ Посмотреть сообщение
Но вопрос по выходу их цикла
и ответ был дан:

Цитата Сообщение от Monte-Cristo Посмотреть сообщение
оператор выхода из цикла break;
просто можешь вставить в любом месте цикла

C++
1
if (/* некое условие по которому нужно выйти из цикла */) break;
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.11.2009, 12:03     организовать цикл
Еще ссылки по теме:

Организовать цикл do/while, который принимает целые числа с клавиатуры и вычитает их из 10000 - C++
do - while Организовать цикл, который принимает целые числа с клавиатуры и вычитает их из 10000. Окончание цикла - получение...

Организовать функцию - C++
Ребята,помогите,завтра экзамен...Задача в Си: Организовать функцию,вычисляющую сумму двух чисел,которые передаются в неё не...

Организовать функцию - C++
Дорогие форумчане,Надо Организовать функцию определения большего из двух чисел,которы передаются в функцию по ссылке..Буду очень...

как организовать ? - C++
вот такой вопрос нужно написать программу которая определяет минимальное число во введенной с клавиатуры последовательности положительных...


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

Или воспользуйтесь поиском по форуму:
Valery_
0 / 0 / 0
Регистрация: 03.11.2009
Сообщений: 101
10.11.2009, 12:03  [ТС]     организовать цикл #10
спасибо
заработало
Yandex
Объявления
10.11.2009, 12:03     организовать цикл
Ответ Создать тему
Опции темы

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