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

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

Войти
Регистрация
Восстановить пароль
 
Егорка47
7 / 6 / 1
Регистрация: 26.10.2010
Сообщений: 249
#1

while (истинное условие). не работает! - C++

26.12.2010, 21:41. Просмотров 600. Ответов 10
Метки нет (Все метки)

вот пишу код к очередному примеру из книги

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
using namespace std;
 
int main(){
int x, y, z;
while ( x != -1 || y != -1){
cout << "vvedite chislo rabotnikov" << endl;
cin >> x;
cout << "vvedite stavky rabotnika" << endl;
cin >> y;
if ( x > 40 ){
z = (40 * y) + ((x - 40) * y * 3 / 2 );
cout << " zarplata etogo sotrudnika =" << z << endl;
}
else
cout << "zarplata etogo sotrudnika =" << x * y << endl;
 
}
return 0;
 
}

и почему то цикл не выходит пока не наберу для х и для у значения "-1", хотя специально написал или х или у = -1.
что не так сделал?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Merlin666
96 / 96 / 10
Регистрация: 26.12.2010
Сообщений: 220
26.12.2010, 21:44     while (истинное условие). не работает! #2
возьми в скобочки
MegaAce
330 / 304 / 65
Регистрация: 14.02.2010
Сообщений: 662
26.12.2010, 21:48     while (истинное условие). не работает! #3
Цитата Сообщение от Егорка47 Посмотреть сообщение
while ( x != -1 || y != -1)
Замени на
C++
1
while ((x != -1) && (y != -1))
и будет тебе добро!
Егорка47
7 / 6 / 1
Регистрация: 26.10.2010
Сообщений: 249
26.12.2010, 21:49  [ТС]     while (истинное условие). не работает! #4
C++
1
while ( ( x != -1 ) || ( y != -1 ) )
так?
не получается
MegaAce
330 / 304 / 65
Регистрация: 14.02.2010
Сообщений: 662
26.12.2010, 21:51     while (истинное условие). не работает! #5
((x != -1) && (y != -1))
Merlin666
96 / 96 / 10
Регистрация: 26.12.2010
Сообщений: 220
26.12.2010, 21:51     while (истинное условие). не работает! #6
(x!=-1)&&(y!=-1) надо так, потому что из дисмата 0||1=1,0&&1=0=>выходит только по &&, либо 0||0=0
Егорка47
7 / 6 / 1
Регистрация: 26.10.2010
Сообщений: 249
26.12.2010, 21:51  [ТС]     while (истинное условие). не работает! #7
Цитата Сообщение от MegaAce Посмотреть сообщение
Замени на
C++
1
while ((x != -1) && (y != -1))
и будет тебе добро!
ну так это условие будет истинно если оба случае истинны,а мне нужно что бы при вводе одного значения х или у, цикл завершался!
по моему надо использовать "||". разве нет?
Merlin666
96 / 96 / 10
Регистрация: 26.12.2010
Сообщений: 220
26.12.2010, 21:52     while (истинное условие). не работает! #8
не то сначала ответил, извиняй) все логично (x!=-1)&&(y!=-1). Объяснение выше)
MegaAce
330 / 304 / 65
Регистрация: 14.02.2010
Сообщений: 662
26.12.2010, 21:53     while (истинное условие). не работает! #9
Цитата Сообщение от Егорка47 Посмотреть сообщение
по моему надо использовать "||". разве нет?
Учите мат.логику!
Merlin666
96 / 96 / 10
Регистрация: 26.12.2010
Сообщений: 220
26.12.2010, 21:53     while (истинное условие). не работает! #10
ну смотри. Истина и ложь=ложь, а истина или ложь=истина. Вот и не выходит из цикла. Понял?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.12.2010, 21:55     while (истинное условие). не работает!
Еще ссылки по теме:

Не работает условие C++
C++ Не работает условие if вместе с else
C++ Не корректно работает условие While
Условие работает неправильно C++
Не работает условие C++

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

Или воспользуйтесь поиском по форуму:
Егорка47
7 / 6 / 1
Регистрация: 26.10.2010
Сообщений: 249
26.12.2010, 21:55  [ТС]     while (истинное условие). не работает! #11
так,стоп.. цикл while работает пока условие в скобках истинно,как только оно становиться ложно - выход,сл -но должен быть ноль при вводе одного значения х или у..значит нужно "&&". спасибо,понял!)
Yandex
Объявления
26.12.2010, 21:55     while (истинное условие). не работает!
Ответ Создать тему
Опции темы

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