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

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

Восстановить пароль Регистрация
 
sanchoflat
4 / 6 / 1
Регистрация: 05.11.2011
Сообщений: 97
05.09.2012, 20:26     проверка на цифру #1
Пока не смог разобраться - нужно при вводе матрицы проверить, ввожу ли я цифру или нет
подскажите как вставить сюда эту проверку ( вернее как её сделать )
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];
        }
    }
 
}
..
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Петррр
 Аватар для Петррр
5915 / 3352 / 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
1280 / 942 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
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
590 / 558 / 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
590 / 558 / 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;
}
ШКІПЕР
 Аватар для ШКІПЕР
93 / 93 / 7
Регистрация: 14.04.2010
Сообщений: 280
Записей в блоге: 9
Завершенные тесты: 1
05.09.2012, 20:50     проверка на цифру #7
А почему забыли о функции isdigit ? Зачем себе еще и жизнь усложнять ?
panicwassano
590 / 558 / 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     проверка на цифру
Еще ссылки по теме:

Pascal -> С++ (определить вторую цифру дробной части частного от деления суммы первой и третьей цифр трехзначного числа на вторую цифру этого числа) C++
C++ Вывести старшую цифру дробной части и младшую цифру целой части числа
Преобразование символа в цифру C++

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

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

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