На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: Qraizer, Hsilgos
  
> zavisaet
    kak zdelat , chto bi ne bilo vechnogo cikla?

    int a;
    while(a != kakoy to int)
    {
    cin>>a;
    }


    esli vmesto int vvoditsya char visnet:(
      не должно. какой компилятор?
        Не понимаю.

        char a = '\0';
        while(a != 'f')
        {
        cin>>a;
        }

        Все работает. Зачем ты применяешь int?
          int a;
          while(a != kakoy to int)
          {
          cin>>a;
          }

          Может сначала а проинить, а то kakoy to int угадывать придется долго
            Цитата (DarkKo @ 9.12.03, 04:10)
            Не понимаю.

            char a = '\0';
            while(a != 'f')
            {
            cin>>a;
            }

            Все работает. Зачем ты применяешь int?

            esli vmesto char obyavit int zavisaet.

            Добавлено в
            Цитата (dimedrol @ 9.12.03, 14:12)
            int a;
            while(a != kakoy to int)
            {
            cin>>a;
            }

            Может сначала а проинить, а то kakoy to int угадывать придется долго

            delo v chisto sportivnom interese, pachemu zavisaet????????
              Ну и ты та
              а
              не инициализируешь или я что-то не догоняю (на пример
              а
              может быть больше, чем 255)
                Ну если из чистого интереса, то
                ms-help://MS.VSCC.2003/MS.MSDNQTR.2003JUL.1033/enu_kbvisualc/visualc/132422.htm
                Т.е.
                Цитата

                Testing for errors during extraction is important. For example:
                   int  n = 0;
                   while (n <= 100) {cin >> n;}
                   
                This program is expecting a value greater than 100. If the user inputs a non-numeric value, the stream's fail bit is set, and the cin object becomes unusable. All subsequent extractions result in an immediate return with no value stored. Consequently, the program hangs (stops responding) in the while loop.

                И что бы ты опять смог бы пользоваться cin, тебе надо очистить его: снять флаг ошибки, и очистить буфер. Как в том же примере говорится:

                int ClearError(istream& isIn)        // Clears istream object
                  {
                     streambuf*  sbpThis;
                     char        szTempBuf[20];
                     int         nCount, nRet = isIn.rdstate();

                     if  (nRet)                        // Any errors?
                     {
                         isIn.clear();                 // Clear error flags
                         sbpThis = isIn.rdbuf();       // Get streambuf pointer
                         nCount = sbpThis->in_avail(); // Number of characters in buffer

                         while (nCount)                // Extract them to szTempBuf
                         {
                             if  (nCount > 20)
                             {
                                 sbpThis->sgetn(szTempBuf, 20);
                                 nCount -= 20;
                             }
                             else
                             {
                                 sbpThis->sgetn(szTempBuf, nCount);
                                 nCount = 0;
                             }
                         }
                     }

                     return  nRet;
                  }

                int _tmain(int argc, _TCHAR* argv[])
                {
                int a = 1;
                int state;
                while(a != 10)
                {
                 cin>>a;
                 state = ClearError(cin);
                }
                return 0;
                }
                Сообщение отредактировано: DarkKo -
                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                0 пользователей:


                Рейтинг@Mail.ru
                [ Script execution time: 0,0238 ]   [ 16 queries used ]   [ Generated: 3.05.24, 10:27 GMT ]