Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 15.11.2015
Сообщений: 34

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

10.03.2016, 22:40. Показов 1144. Ответов 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
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.03.2016, 22:40
Ответы с готовыми решениями:

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

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

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

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


(Нужно поменять != на ==).
0
3 / 3 / 1
Регистрация: 03.03.2016
Сообщений: 86
10.03.2016, 22:43
Значит у вас нет связки кода ,или код написан с ошибкой, устраните его и все будет , ОК!
0
Эксперт С++
1624 / 954 / 782
Регистрация: 06.02.2016
Сообщений: 2,452
Записей в блоге: 31
10.03.2016, 22:49
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
0 / 0 / 0
Регистрация: 15.11.2015
Сообщений: 34
10.03.2016, 23:03  [ТС]
Спасибо!
0
165 / 164 / 124
Регистрация: 19.01.2016
Сообщений: 594
Записей в блоге: 1
10.03.2016, 23:38
Цитата Сообщение от Леонид1300 Посмотреть сообщение
Значит у вас нет связки кода ,или код написан с ошибкой, устраните его и все будет , ОК!
Леонид1300, Вы сама ОЧЕВИДНОСТЬ!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.03.2016, 23:38
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru