3 / 3 / 0
Регистрация: 17.12.2011
Сообщений: 547

do while - почему выполняется цикл, даже если условие истина?

27.09.2012, 15:23. Показов 2205. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Подскажите пожалуйста, пишу программу вопрос/ответ. При не правильным вводе ответа, программа должна выводить сообщение об ошибке.
Вопрос. Почему хоть и вводится правильный ответ, программа выводит сообщение об ошибке, и только при повторном вводе ответа, переходит к следующему вопросу, что ни так?

C++
1
2
3
4
5
6
7
8
9
10
      for (int i=1; i < n; i++){
     
       cout << question(i) << endl;
        getline(cin,str);
     do {
         cout << "Ответ не верный, попробуйте ввести еще раз." << endl;    
         getline(cin,str);
         }while(str !=answer(i));
  
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.09.2012, 15:23
Ответы с готовыми решениями:

Программа, выводящая значение "истина", если выполняется заданное условие: все из чисел x, y, z являются положительными
Написать программу, выводящую значение истина если выполняется заданное условие. Указанные в варианте переменные ввести с клавиатуры ...

Почему условный оператор даже, если условие неверно, выдает истину?
void change() { int tmp = 0; do { tmp = 0; cout &lt;&lt; &quot;Napishite Nazvanie, Regisera filma&quot; &lt;&lt; endl; char chName;...

Почему не срабатывает if, если истина?
Вообщем задание на двумерную динамику. Есть 2 кучки камней. Входной файл содержит 3 строчки в первых двух - команды которые можно...

5
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
27.09.2012, 15:24
DDim1000, а ты сам-то даже по последовательности кода не видишь, где проверка-то на ввод?
0
 Аватар для Gepar
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
27.09.2012, 15:25
Приведите код полностью.
0
 Аватар для [WRG]
53 / 53 / 37
Регистрация: 20.11.2011
Сообщений: 243
Записей в блоге: 1
27.09.2012, 15:42
цикл do-while с постпроверкой условия и всегда выполняется как минимум один раз. циклы for и while могут не выполниться ниразу, в зависимости от условия
1
3 / 3 / 0
Регистрация: 17.12.2011
Сообщений: 547
27.09.2012, 16:20  [ТС]
Цитата Сообщение от Gepar Посмотреть сообщение
Приведите код полностью.
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#include <iostream>
#include <string>
#include <Windows.h>
 
using namespace std;
 
const int n=15;
      
char *riddle(int);
char *answer(int);
int *ko[]={};
 
int main()
{
      setlocale(LC_ALL, "Russian"); 
      using std::cin;using std::cout;using std::endl;using std::string;using std::getline;
       SetConsoleCP (1251); SetConsoleOutputCP (866);
      string str;
 
      for (int i=1; i < n; i++){
 
     
       cout << riddle(i) << endl;
        getline(cin,str);
     do {
         cout << "Error" << endl;    
         getline(cin,str);
         }while(str !=answer(i));
  
    
 
}
       system("pause"); 
}      
 
 
 
 
char *riddle (int k)  
{
      static char *name[] = {
                              "none","Íå åçäîê, à ñî øïîðàìè, Íå áóäèëüíèê, à âñåõ áóäèò.",
                              "Îíà êðàñèâà è ìèëà, À èìÿ åé îò ñëîâà ''çîëà''.",
                              "Âåðåùóíüÿ áåëîáîêà, À çîâóò åå ... "
                              
                            };
      return (k<1||k>12)?name[0]:name[k];
}
 
 
 
char *answer (int k)  
{
      static char *name2[] = {
                              "none","Ïåòóõ",
                              "Çîëóøêà","Ñîðîêà"
                            };                            
      
      return (k<1||k>12)?name2[0]:name2[k];
 
 
    cin.sync();
    cin.get();
    return 0;
    
 
}
0
Кошковед
 Аватар для co6ak
521 / 509 / 63
Регистрация: 12.04.2010
Сообщений: 1,390
27.09.2012, 16:47
Цитата Сообщение от [WRG] Посмотреть сообщение
цикл do-while с постпроверкой условия и всегда выполняется как минимум один раз. циклы for и while могут не выполниться ниразу, в зависимости от условия
12345
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.09.2012, 16:47
Помогаю со студенческими работами здесь

Почему всегда выполняется условие?
Здравствуйте, имеется код int main(int argc,char *argv) { clrscr(); if(argv != &quot;aaa&quot;) { printf(&quot;Error...

Почему если условие входа в цикл не выполняется, функция заново входит в цикл
Сам код: private void traverse_node(TreeControlItem node) { TreeControlItem childNode = default(TreeControlItem);...

Почему выполняется условие else, если выполнилось условие if?
При вводе буквы, которое есть в переменной word, по идеи, если такой буквы нету, то должно выдать сообщение, то, что **Такой буквы нету**. ...

Не распознается второй Scanner в while; если даже в цикле while ввожу "N", цикл while выполняется
Scanner scanner = new Scanner(System.in); System.out.println(&quot;Ввести заметку?&quot;); String text = scanner.nextLine(); ...

Вывести на экран "условие выполняется", если все элементы массива положительные и "условие не выполняется", если это не так.
1)Тип массива вещественный.Число элементов 11. Вывести на экран &quot;условие выполняется&quot;, если все элементы массива положительные и...


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

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

Новые блоги и статьи
SwiftUI Data Flow: Передача данных между представлениями
mobDevWorks 23.03.2025
При первом знакомстве со SwiftUI кажется, что фреймворк предлагает избыточное количество механизмов для передачи данных: @State, @Binding, @StateObject, @ObservedObject, @EnvironmentObject и другие. . . .
Моки в Java: Сравниваем Mockito, EasyMock, JMockit
Javaican 23.03.2025
Как протестировать класс, который зависит от других сложных компонентов, таких как базы данных, веб-сервисы или другие классы, с которыми и так непросто работать в тестовом окружении? Для этого и. . .
Архитектурные паттерны микросервисов: ТОП-10 шаблонов
ArchitectMsa 22.03.2025
Популярность микросервисной архитектуры объясняется множеством важных преимуществ. К примеру, она позволяет командам разработчиков работать независимо друг от друга, используя различные технологии и. . .
Оптимизация рендеринга в Unity: Сортировка миллиона спрайтов
GameUnited 22.03.2025
Помните, когда наличие сотни спрайтов в игре приводило к существенному падению производительности? Время таких ограничений уходит в прошлое. Сегодня геймдев сталкивается с задачами совершенно иного. . .
Образование и практика
Igor3D 21.03.2025
Добрый день А вот каково качество/ эффективность ВУЗовского образования? Аналитическая геометрия изучается в первом семестре и считается довольно легким курсом, что вполне справедливо. Ну хорошо,. . .
Lazarus. Таблица с объединением ячеек.
Massaraksh7 21.03.2025
Понадобилась представление на экране таблицы с объединёнными ячейками. И не одной, а штук триста, и все разные. На Delphi я использовал для этих целей TStringGrid, и то, кривовато получалось. А в. . .
Async/await в Swift: Асинхронное программировани­е в iOS
mobDevWorks 20.03.2025
Асинхронное программирование долго было одной из самых сложных задач для разработчиков iOS. В течение многих лет мы сражались с замыканиями, диспетчеризацией очередей и обратными вызовами, чтобы. . .
Колмогоровская сложность: Приёмы упрощения кода
ArchitectMsa 20.03.2025
Наверное, каждый программист хотя бы раз сталкивался с кодом, который напоминает запутанный лабиринт — чем дальше в него погружаешься, тем сложнее найти выход. И когда мы говорим о сложности кода, мы. . .
PostgreSQL в Kubernetes: Подготовка кластера и настройка
Mr. Docker 20.03.2025
Когда доходит до контейнеризации баз данных и особенно таких требовательных к ресурсам системах как PostgreSQL, многие команды до сих пор колеблются, прежде чем перенести их в контейнерную. . .
C++26: Индексирование пакетов и метапрограммиро­вание
bytestream 20.03.2025
Эволюция C++ продолжается стремительными темпами – каждый новый стандарт приносит функциональность, о которой мы мечтали годами. Звучит слишком громко? Если вы когда-либо боролись с вариадическими. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru