Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
AliceAlex
0 / 0 / 0
Регистрация: 15.11.2015
Сообщений: 34
1

Условие в цикле do while работает не так, как ожидается

10.03.2016, 22:40. Просмотров 518. Ответов 5
Метки нет (Все метки)

Проблема в условие цикла. Вот Код.
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
// ConsoleApplication4.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <iostream>
#include <process.h>
#include <iomanip>
#include <conio.h>
using namespace std;
 
int main()
{
    char choice = 'a';
    float temp0, temp1;
    setlocale(LC_ALL, "Russian");
    cout << "Выберите метод перевода температуры:\n1.Из шкалы по Фаренгейту в шкалу по Цельсию \n2.Наоборот" << endl;
    do {
        choice = _getche();
 
    } while (choice != '1' || choice != '2');
    cout << "\nВы выбрали метод № " << choice << endl;
    switch (choice)
    {
    case '1':
        cout << "Введите температуру по Фаренгейту: ";
        cin >> temp0;
        cout << "K" << endl;
        temp1 = (temp0 - 32) * 5 / 9;
        cout << "Результат: " << temp1 << "C*" << endl;
        break;
    case '2':
        cout << "Введите температуру по Цельсию: ";
        cin >> temp0;
        cout << "C*" << endl;
        temp1 = temp0 * 9 / 5 + 32;
        cout << "Результат: " << temp1 << "К" << endl;
        break;
    }
 
 
    system("pause");
    return 0;
}
Почему-то при нажатии '1' или '2' не происходит выход из цикла. А если оставить одно из условий - то выходит из цикла. Как оставить два условия и чтобы при этом программа работала?Заранее Спасибо
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.03.2016, 22:40
Ответы с готовыми решениями:

#define работает не так, как ожидается
Здравствуйте. Подскажите, пожалуйста, почему в таком случае некорректно использовать #define: ...

ConstraintSet работает не так как ожидается в Handler
Делаю визуализацию сортировки. Сначала хочу реализовать swap. Два элемента подсвечиваются красным,...

Почему malloc работает не так, как ожидается?
int main() { int* p =malloc(sizeof(int)); p=5; printf(&quot;%s\n&quot;,strerror(errno)); ...

Почему цикл работает не так, как ожидается?
Двумя способами реализовал цикл, который увеличивает годовую зарплату на 10% при нажатии 'y' до тех...

5
Juffin
51 / 51 / 24
Регистрация: 24.12.2011
Сообщений: 133
10.03.2016, 22:43 2
C++
1
(choice != '1' || choice != '2')
Перечитай еще раз свое условие.


(Нужно поменять != на ==).
0
Леонид1300
3 / 3 / 1
Регистрация: 03.03.2016
Сообщений: 86
10.03.2016, 22:43 3
Значит у вас нет связки кода ,или код написан с ошибкой, устраните его и все будет , ОК!
0
Peoples
Эксперт С++
1433 / 901 / 775
Регистрация: 06.02.2016
Сообщений: 2,374
Записей в блоге: 19
Завершенные тесты: 5
10.03.2016, 22:49 4
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
29
30
31
32
33
34
35
36
37
38
39
#include <iostream>
#include <process.h>
#include <iomanip>
#include <conio.h>
using namespace std;
 
int main()
{
    char choice = 'a';
    float temp0, temp1;
    setlocale(LC_ALL, "Russian");
    cout << "Выберите метод перевода температуры:\n1.Из шкалы по Фаренгейту в шкалу по Цельсию \n2.Наоборот" << endl;
    do {
        choice = _getche();
 
    } while (choice ==1 || choice == 2);
    cout << "\nВы выбрали метод № " << choice << endl;
    switch (choice)
    {
    case '1':
        cout << "Введите температуру по Фаренгейту: ";
        cin >> temp0;
        cout << "K" << endl;
        temp1 = (temp0 - 32) * 5 / 9;
        cout << "Результат: " << temp1 << "C*" << endl;
        break;
    case '2':
        cout << "Введите температуру по Цельсию: ";
        cin >> temp0;
        cout << "C*" << endl;
        temp1 = temp0 * 9 / 5 + 32;
        cout << "Результат: " << temp1 << "К" << endl;
        break;
    }
 
 
    system("pause");
    return 0;
}
0
AliceAlex
0 / 0 / 0
Регистрация: 15.11.2015
Сообщений: 34
10.03.2016, 23:03  [ТС] 5
Спасибо!
0
-ДоМоВоЙ-
152 / 151 / 124
Регистрация: 19.01.2016
Сообщений: 578
Записей в блоге: 1
Завершенные тесты: 1
10.03.2016, 23:38 6
Цитата Сообщение от Леонид1300 Посмотреть сообщение
Значит у вас нет связки кода ,или код написан с ошибкой, устраните его и все будет , ОК!
Леонид1300, Вы сама ОЧЕВИДНОСТЬ!
0
10.03.2016, 23:38
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.03.2016, 23:38

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Код работает не так, как ожидается (найти и исправить ошибки)
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;string.h&gt; char deletika(char a, long ot, long...

Прочитать символы из файла, используя eof() (программа работает не так, как ожидается)
Здравствуйте, мне нужно прочитать символы из файла(желательно с пробелами). Использую eof(), но...

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

Объяснить, почему программа для подсчёта скобок в тексте работает не так, как ожидается
я ввожу текст в блокноте с скобками, мне нужно подсчитать количество скобок в программе, но у меня...


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

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

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