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

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

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

Защита от некорректного ввода - C++

18.10.2013, 07:50. Просмотров 756. Ответов 4
Метки нет (Все метки)

Здравствуйте!
Нужно осуществить контроль при заполнении матрицы, если введены не корректные данные, вывести сообщение, и переспросить ввод.
Корректными данными являются: целые числа. При вводе дробных, вывести сообщение, и переспросить ввод, при вводе "текста" завершить программу.
Прошу помощи в решении!
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
#include "stdafx.h"
#include <iostream>
#include <stdlib.h>
using namespace std;
int main()
{
   int n, max, str, stl,**Mas,i,j;
   cout << "Enter the dimension of the matrix: ";
   cin >> n;
   Mas = new int*[n];
   for (i = 0; i<n; i++)
      Mas[i] = new int[n];
   cout << "Enter the elements of the matrix: \n";
   for (i=0; i<n; i++)
   for (j=0; j<n; j++)
         cin >> Mas[i][j];
         cout << "Introduced the matrix: \n";
         for (i=0; i<n; i++)
         {
         for (j=0; j<n; j++)
         cout << Mas[i][j] << "\t";
         cout << endl;
         }
    max = Mas[0][0];
    for(i = 0; i < n; i++)
    for(j = 0; j < n; j++)
    {
        if(max < Mas[i][j])
            max = Mas[i][j];
    }
    for(i = 0; i < n; i++)
    for(j = 0; j < n; j++)
    {
        if(max == Mas[i][j])
           cout << "\nThe maximum element of the matrix:" << max << ". Located in the " << i+1 << " row, column. " << j+1 << endl;
    }
   system("pause");
   return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.10.2013, 07:50
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Защита от некорректного ввода (C++):

Защита от некорректного ввода - C++
Будьте добры, помогите написать защиту от дурака на ввод массива элементы которого тип float Буду очень благодарен.

Защита от некорректного ввода - C++
Помогите сделать так, что при вводе букв программа продолжала работать: запрещала ввод букв(только цифры) или просто не учитывала их. Как...

Защита от некорректного ввода - C++
Подскажите пожалуйста как доработать защиту от некорректного ввода: // ConsoleApplication4.cpp : Defines the entry point for the console...

Защита от некорректного ввода - C++
Приветствую, помогите, пожалуйста, реализовать защиту от некорректного ввода. Должны быть допустимы только числовые значения. double...

Защита от некорректного ввода - C++
Помогите, пожалуйста, с защитой от некорректного ввода! Программа выполняет задания с помощью рекурсии. Хотел написать защиту на ввод...

Защита от некорректного ввода double - C++
Прошу помощи с защитой от некорректного ввода. Сам студент 1 курса - на лекциях ничего толком не объясняли - просто дали задание и довольно...

4
Tulosba
:)
Эксперт С++
4397 / 3233 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
18.10.2013, 07:53 #2
Egorych, читайте ввод в строку, а потом пробуйте преобразования в число.
1
Egorych
0 / 0 / 0
Регистрация: 09.10.2013
Сообщений: 29
18.10.2013, 08:03  [ТС] #3
Цитата Сообщение от Tulosba Посмотреть сообщение
Egorych, читайте ввод в строку, а потом пробуйте преобразования в число.
Можно ли реализацию в моем коде? Я пока тока начинаю C++ изучать...
0
Tulosba
:)
Эксперт С++
4397 / 3233 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
18.10.2013, 08:07 #4
Egorych, см std::getline, чтение в std::string, проверка символа на цифру std::isdigit...

Не по теме:

с планшета неудобно код писать

1
alsav22
5426 / 4821 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
18.10.2013, 08:09 #5
В строке ввода только цифры, перед которыми могут быть + или - :
C++
1
2
3
4
5
6
7
int a;
while (!(cin >> a) || (cin.peek() != '\n'))
{
    cin.clear();
    while (cin.get() != '\n');
    cout << "Error!" << endl;
}
1
18.10.2013, 08:09
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.10.2013, 08:09
Привет! Вот еще темы с ответами:

Защита от некорректного ввода для действительных чисел - C++
Программа полностью рабочая, только нужно написать защиту от некорректного ввода, и не знаю как это сделать #include &lt;stdafx.h&gt; ...

Как написать защиту от некорректного ввода для моей проги? - C++
void task_1(int **A, int M, int N) { int i=0, sum=0; //1.) сумму элементов в тех строках, которые содержат хотя бы один отрицательный...

Защита ввода. - C++
Как защитить размер матрицы от набора букв или символов?

Защита ввода - C++
Подскажите как осуществить защиту от неправильного ввода то есть если переменная типа int как сделать так что бы пользователь не мог ...


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

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

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