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

Матрицы. Бесконечный цикл. Проверка ввода - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ссылка на ссылку http://www.cyberforum.ru/cpp-beginners/thread631318.html
Можно ли говорить, что t это ссылка на ссылку? int y=2; int &q=y; int& t = q;
C++ Программы pascal переписать под c++ Всем доброго времени суток помогите переписать программы под c++ Условие Дано натуральное число n, и действительное число x. Вычислить. program laba3_2; uses crt; var x,s:real; n,i:integer; http://www.cyberforum.ru/cpp-beginners/thread631311.html
C++ Строки, в чём ошибка?
так не работает int main(){ char *str = "ASDc"; str = tolower(str); cout << str; return 0; }
C++ Как свиртуализировать исключения?
Мне очень нравится как реализован перехват исключений в Python и Java: там в блоке catch не надо перечислять все виды исключений, а достаточно типы exception предков. Можно ли так же делать в C++? Типа такого: try{ ... } catch ( std::exception &e ){ std::err << e.what() << std::endl; } При этом, чтобы в зависимости от типа исключения возвращался разный текст из e.what() Мне самое...
C++ Понижение регистра в строке http://www.cyberforum.ru/cpp-beginners/thread631282.html
Всем привет! Не могу понизить регистр в строке. Использовал функции towupper, towlower, не помогло. Мне это нужно для сравнения строк. Пошел другим путем использовал _tcsicmp, _wcsicmp, чтобы сравнить две строки без регистра, тоже не работает. wstring namestreet; for ( size_t i = 0; i < namestreet.length(); ++i ) { if (i == 0) namestreet = toupper(namestreet);
C++ Программы pascal переписать под c++ Всем доброго времени суток помогите переписать программы под c++ Условие Дано натуральное число n, и действительное число x. Вычислить. program laba3_1; uses crt; var x,s:real; n,i:integer; begin подробнее

Показать сообщение отдельно
alsav22
5415 / 4811 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
02.08.2012, 04:21     Матрицы. Бесконечный цикл. Проверка ввода
Если я правильно понял, зависание у вас возникает при ошибке ввода через cin >>. Матрица у вас под double, вводите qwe23. На первом же символе cin >> выдаст ошибку.
Введите обработку ошибки. Например, так :
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
for(int i=0; i < size; i++)
            for(int j = 0; j < size; j++)
            {
                do{
                        fflush(stdin);
                        cout << "Введите mtx [" << i << "][" << j << "]: "; 
                        cin >> mtx[i][j];
                        if (cin.fail())
                        {
                            cin.clear();
                            while (cin.get() != '\n') continue;
                            cout << "Неверный ввод! Повторите." << endl;
                            continue;
                        }
                    } while(cin.rdbuf() -> in_avail() != 1);
             }
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru