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

мне не ясен цикл do while - C++

Восстановить пароль Регистрация
 
hitytu
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 46
06.01.2011, 16:05     мне не ясен цикл do while #1
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
#include "stdafx.h"
#include <iostream>
#include <cstdlib>
using namespace std;
 
void drill();
 
int count;  // count and num_right are global
int num_right;
 
int main()
{
  cout << "How many practice problems: ";
  cin >> count;
 
  num_right = 0;
  do {
    drill();
    count--;
  } while(count);
  cout << "You got " << num_right << " right.\n";
 
  return 0;
}
 
void drill()
{
  int count;  /* This count is local and unrelated to
                 the global one.
              */
  int a, b, ans;
 
  // Generate two numbers between 0 and 99.
  a = rand() % 100;  
  b = rand() % 100;
 
  // The user gets three tries to get it right.
  for(count=0; count<3; count++) {
    cout << "What is " << a << " + " << b << "? ";
    cin >> ans;
    if(ans==a+b) {
      cout << "Right\n";
      num_right++;
      return;
    }
  }  
  cout << "You've used up all your tries.\n";
  cout << "The answer is " << a+b << '\n';
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
06.01.2011, 16:13     мне не ясен цикл do while #2
hitytu, идет до тех пор пока count не равен нулю.
Алексaндр
 Аватар для Алексaндр
131 / 108 / 5
Регистрация: 04.12.2010
Сообщений: 313
06.01.2011, 16:18     мне не ясен цикл do while #3
Не понятно как работает?

На вашем примере :
C++
1
2
3
4
do {
    drill();
    count--;
  } while(count);
между фигурными скобками - тело цикла - операции, которые выполняются столько раз, сколько пройдёт цикл.
while(count); - условие цикла. если count больше 0 - цикл проходит ещё раз и уменьшает count. Если же count становится равно 0 - цикл прерывается и тело цикла дальше не выполняется.
hitytu
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 46
06.01.2011, 16:18  [ТС]     мне не ясен цикл do while #4
Этот цикл отвечает за то, сколько раз будешь отвечать на вопросы?
Алексaндр
 Аватар для Алексaндр
131 / 108 / 5
Регистрация: 04.12.2010
Сообщений: 313
06.01.2011, 16:28     мне не ясен цикл do while #5
hitytu, этот цикл отвечает за то, сколько разных вопросов будет задавать программа. тоесть, ты ввёл 2 - тебе задала прога 2 вопроса по о4ереди. и на каждый вопрос даётся 3 попытки правильно ответить.
Yandex
Объявления
06.01.2011, 16:28     мне не ясен цикл do while
Ответ Создать тему
Опции темы

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