Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Nightly_7
1 / 1 / 0
Регистрация: 16.06.2014
Сообщений: 33
#1

Уведомление о неправильном вводе - C++

09.10.2017, 17:56. Просмотров 104. Ответов 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
#
                
int main(void)
{
    int **mas; 
    int m, n; 
    cout << "Stroki i stolbci:" << endl;
    cin >> m >> n; 
    mas = new int*[m]; // выделение памяти под массив указателей 
    for (int i = 0; i < m; i++)
        mas[i] = new int[n];
    cout << "Vvedite elementi v massiv:" << endl;
    for (int i = 0; i < m; i++){
        for (int j = 0; j < n; j++){
            //cout <<  i <<  j ;
            while (!(cin >> mas[i][j]))
            {
                cin.clear();
                while (cin.get() != '\n');
                cout << "nepravilno. povtorite.\n";
            }
        
        }
    }
    cout << "Matrix:" << endl;
    for (int i = 0; i < m; i++)
    {
        cout << endl;
        for (int j = 0; j < n; j++)
            cout << setw(4) << mas[i][j];
    }
    cout << endl;
 
    sortirovka(mas, m, n);
 
    delete[]mas;
    system("pause");
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.10.2017, 17:56
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Уведомление о неправильном вводе (C++):

Зацикливается при неверном вводе - C++
есть такой кусочек while(true) { scanf(&quot;%d%c%d&quot;, &amp;x, &amp;zn, &amp;y); switch (zn) { case '+': rez=x+y; ...

Ошибка при вводе данных - C++
Вот прогамма. Она просит ввести Ваше име, возраст и пол. Первые два считывает, а с последним прблеммы... Не ждёт ввод данных, и пускает...

Уведомление в Трее - C++ Builder
Зравствуйте!!! Вопрос уже изжованный давным давно и создана не одна тема, но всё же у меня есть вопросы. Создаю иконку в...

Уведомление на экране - C++ Builder
Доброго времени суток уважаемые программисты. Требуется теоретический совет. Реализую программу ( практически локальный чат но с...

Уведомление о создании файла - C++ Builder
Есть задача - нужно какую-то ф-цию для того чтобы знать если в каталоге создался новый файл! и если такое случилось - тогда выполнить...

Форма-уведомление не всегда пропадает - C++ Builder
Всем привет. Появилась у меня проблема и 1 вопрос. Проблема. В программе проходят действия и в конце выводится форма-уведомление, мол...

1
KolodeznyDiver
1883 / 1460 / 165
Регистрация: 01.06.2013
Сообщений: 3,059
09.10.2017, 18:11 #2
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
int getInt()
{
    int i;
    while (!(cin >> i))
    {
        cin.clear();
        while (cin.get() != '\n');
        cout << "nepravilno. povtorite.\n";
    }
    return i;
}   
 
int main(void)
{
 
    int **mas; 
    int m, n; 
    cout << "Stroki i stolbci:" << endl;
    m=getInt(); 
    n=getInt(); 
    mas = new int*[m]; // выделение памяти под массив указателей 
    for (int i = 0; i < m; i++)
        mas[i] = new int[n];
    cout << "Vvedite elementi v massiv:" << endl;
    for (int i = 0; i < m; i++){
        for (int j = 0; j < n; j++){
            mas[i][j]=getInt();
        }
    }
    cout << "Matrix:" << endl;
    for (int i = 0; i < m; i++)
    {
        cout << endl;
        for (int j = 0; j < n; j++)
            cout << setw(4) << mas[i][j];
    }
    cout << endl;
    sortirovka(mas, m, n);
 
    delete[]mas;
    system("pause");
    return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.10.2017, 18:11
Привет! Вот еще темы с ответами:

Устронить уведомление: Functions containing switch are not expanded inline - C++ Builder
Вот такое уведмлениесам код#ifndef Unit1H #define Unit1H //--------------------------------------------------------------------------- ...

Изменить код для деления на ноль, чтоб появлялось уведомление - C++ Builder
Нужно немного изменить код, чтобы когда делишь на ноль писало &quot;Деление на ноль не возможно!&quot; void __fastcall...

Вывод сообщения о неправильном вводе - JavaScript
На странице есть следующее: &lt;form action=&quot;aaaa.php&quot; method=&quot;post&quot;&gt; E-MAIL:&lt;input type=&quot;text&quot; name=&quot;e-mail&quot;&gt; NAME:&lt;input type=&quot;text&quot;...

ошибка при вводе в неправильном формате - C++
Доброго всем времени суток! Есть код, очень простенький. И есть баг: если пользователь вводит вместо цифр буквы или ещё какую-нить...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.