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

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

Войти
Регистрация
Восстановить пароль
 
sanchoflat
4 / 6 / 1
Регистрация: 05.11.2011
Сообщений: 97
#1

проверка на цифру - C++

05.09.2012, 20:26. Просмотров 601. Ответов 9
Метки нет (Все метки)

Пока не смог разобраться - нужно при вводе матрицы проверить, ввожу ли я цифру или нет
подскажите как вставить сюда эту проверку ( вернее как её сделать )
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
...
void vvod ( int mass[100][100], int n,int m)
{
    for ( int i = 0; i<n; i++)
    {
        for ( int j=0; j<m; j++)
        {
           cout<<"P["<<i+1<<"]["<<j+1<<"] ";
           cin>>mass[i][j];
        }
    }
 
}
..
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Петррр
 Аватар для Петррр
5927 / 3364 / 333
Регистрация: 28.10.2010
Сообщений: 5,926
05.09.2012, 20:30     проверка на цифру #2
C++
1
2
3
4
if (cin>>mass[i][j])
    std::cout << "this is number";
else
    std::cout << "this is not number";
David Sylva
 Аватар для David Sylva
1283 / 945 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
05.09.2012, 20:30     проверка на цифру #3
Можно вот так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream> 
using namespace std; 
 
int main() 
{ 
    int number; 
 
    while(true) 
    { 
        cout << "Inter a number " << endl; 
        cin >> number; 
        if(cin.good()) 
        { 
            cin.ignore(10, '\n'); 
            break; 
        } 
        cin.clear(); 
        cout << "Error " << endl; 
        cin.ignore(10, '\n'); 
    } 
    cout <<"Number " << number << endl;
}
panicwassano
591 / 559 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
05.09.2012, 20:34     проверка на цифру #4
C++
1
2
3
4
5
6
while(!(mass[i][j]))
    {
        cout << "Вы ввели не число, попробуйте еще раз\n";
        cin.clear();
        cin.sync();
    }
sanchoflat
4 / 6 / 1
Регистрация: 05.11.2011
Сообщений: 97
05.09.2012, 20:43  [ТС]     проверка на цифру #5
хм, а куда вставить то проверку, вставляю после ввода символа - он мне выдает бесконечный набор символов, а до нету смысла вроде как
panicwassano
591 / 559 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
05.09.2012, 20:47     проверка на цифру #6
Цитата Сообщение от sanchoflat Посмотреть сообщение
хм, а куда вставить то проверку, вставляю после ввода символа - он мне выдает бесконечный набор символов, а до нету смысла вроде как
опечатался
вот на вашем же примере, пробуйте
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
#include <iostream>
 
using namespace std;
 
void vvod ( int mass[100][100], int n,int m)
{
    for ( int i = 0; i<n; i++)
    {
        for ( int j=0; j<m; j++)
        {
            cout<<"P["<<i+1<<"]["<<j+1<<"] ";
            while(!(cin >> mass[i][j]))
            {
                cout << "Вы ввели не число, попробуйте еще раз\n";
                cin.clear();
                cin.sync();
            }
        }
    }
 
}
 
int main()
{
    int arr[100][100];
    vvod(arr, 10, 10);
    return 0;
}
ШКІПЕР
 Аватар для ШКІПЕР
94 / 94 / 7
Регистрация: 14.04.2010
Сообщений: 280
Записей в блоге: 9
Завершенные тесты: 1
05.09.2012, 20:50     проверка на цифру #7
А почему забыли о функции isdigit ? Зачем себе еще и жизнь усложнять ?
panicwassano
591 / 559 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
05.09.2012, 20:51     проверка на цифру #8
Цитата Сообщение от ШКІПЕР Посмотреть сообщение
А почему забыли о функции isdigit ? Зачем себе еще и жизнь усложнять ?
можно! но поток после неправильного в ввода перейдет в состояние fail(), вот и я и проверяю его, а потом идет очистка ввода и сброс флага
sanchoflat
4 / 6 / 1
Регистрация: 05.11.2011
Сообщений: 97
06.09.2012, 08:12  [ТС]     проверка на цифру #9
panicwassano, спасибо, все отлично, но хотелось бы уточнить - как расшифровать содержимое скобок while. Как это определяет наши цифры?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.09.2012, 12:10     проверка на цифру
Еще ссылки по теме:

Извлечь цифру из массива C++
C++ Вывести цифру прописью
Поменять 1-ую и 3-ю цифру числа n C++
Определить k-цифру C++
Проверка на какую цифру оканчивается число C++

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

Или воспользуйтесь поиском по форуму:
panicwassano
591 / 559 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
06.09.2012, 12:10     проверка на цифру #10
пост выше прочтите, аналогичный пример во втором посту от Петррр
Yandex
Объявления
06.09.2012, 12:10     проверка на цифру
Ответ Создать тему
Опции темы

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