Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.07.2008, 13:09   #1
rom_19
 
Регистрация: 06.07.2008
Сообщений: 3
По умолчанию Пауза в работе "while"

День добрый, господа ПРОграммисты!
Есть программка (упрощенный вариант исходной):

Код:
#include <iostream.h>
#include <stdlib.h>
#include <iomanip.h>

void f1 (int);
void f2 (int[], int);

int   x = 0, y = 0, 
const int z = 10;
int A[z] = {0,0,0,0,0,0,0,0,0,0};

int main {
             while (x < 10)
                {
                  cout << "Enter 'y': " << endl;
                  cin << y;
                  if (y == 1)
                     {
                       f1 (x);
                       x++;
                       cout << "bla-bla" << endl;
                      }
                  else
                     cout << "bla" << endl;
                 }
             return 0;
            }

void f1 (int x)
   {
    if (x < 5)
       {
         f2 (A, z);                     //ветка 1
         cout << "oops" << endl;
       }
    else
       cout << "go!" << endl;     //ветка 2
   }

void f2 (int A[z], int z)
   {
    for (int i=0; i < z; i++)
         cout << setw(4) << A[i];
    cout << endl;
   }
Из кода видно, что я только начинаю "кодить", накодил вот...
Проблема: когда выполняется ветка 1 - происходит остановка выполнения цикла "while". После ввода любого символа работа продолжается. Причем при выполнении ветки 2 цикл не останавливается...
Подскажите, в чем проблема???

ЗЫ: использую dev c++ без плагинов.
rom_19 вне форума Ответить с цитированием
Старый 06.07.2008, 13:31   #2
Старовъръ
Форумчанин
 
Аватар для Старовъръ
 
Регистрация: 25.06.2008
Сообщений: 100
По умолчанию

Оно компилируется???
Останавливается работа не в ветке 1, а в 16 строке, но я не понимаю как работает "cin<<".
В ветках 1 и 2 программа не останавливается, т.к. в них нет ввода (cin>>a)
Старовъръ вне форума Ответить с цитированием
Старый 06.07.2008, 13:56   #3
rom_19
 
Регистрация: 06.07.2008
Сообщений: 3
По умолчанию

Компилируется, это уже моя ошибка, когда упрощал.
На самом деле там просто еще функция есть, аналогичная f2, но это некритично.
rom_19 вне форума Ответить с цитированием
Старый 06.07.2008, 13:59   #4
rom_19
 
Регистрация: 06.07.2008
Сообщений: 3
По умолчанию

А у меня почему то останавливается в случае выполнения ветки 1, т.е. она выполняется и дальше программа ждет от меня что-нибудь кроме enter, и только тогда начинается повтор цикла... С веткой 2 такого нет....

Может, со средой что-нить?
rom_19 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
если пользователь наберет какой-то другой символ не "y" или "n" и нажмет enter, программа проигнорирует skobets Общие вопросы C/C++ 2 03.06.2008 06:51
Excel файл открывается не "до конца" (странички "не показываются" только серое поле) Dorvir Microsoft Office Excel 2 28.03.2008 10:03
Создаю диаграмму "Bar". Подскажите как убрать растояние между "столбами" MAcK Компоненты Delphi 11 24.10.2007 10:49
На чем пишутся стратегии типа "Казаков" и "Эпохи империи" Tayfun Свободное общение 3 26.06.2007 20:27
мысли в слух или "быстрый режим" в работе с БД Квэнди Свободное общение 2 08.02.2007 09:38