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

Проверка корректности ввода чисел - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.62
a.n.o.n.i.m
137 / 137 / 15
Регистрация: 26.02.2011
Сообщений: 492
18.11.2011, 15:02     Проверка корректности ввода чисел #1
считывается квадратная матрица с файла

Как написать условие в коде,если после пробела идет не число то
C++
1
2
3
4
5
if(тут какое условие?)
{
cout<<"error.nepolnay matrica"
return 0;
}
считывается квадратная матрица с файла
 Комментарий модератора 
Избегайте использования слишком большого количества смайлов в сообщениях в тематических разделах форума, а также "кричащего" выделения текста. Это никаким образом не ускорит решение вашей проблемы.
 Комментарий модератора 
Старайтесь называть темы более осмысленно. Это серьезно повышает шансы на то, что Вам помогут.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
PointsEqual
ниначмуроФ
 Аватар для PointsEqual
722 / 516 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
18.11.2011, 15:10     Проверка корректности ввода чисел #2
Цитата Сообщение от a.n.o.n.i.m Посмотреть сообщение
if(тут какое условие?)
если не число )

Добавлено через 1 минуту
а как вы считываете матрицу?
mc.Duck
Заблокирован
18.11.2011, 15:14     Проверка корректности ввода чисел #3
a.n.o.n.i.m, тупизм какой-то. Проверить символ-разделитель можно так isspace(char).
a.n.o.n.i.m
137 / 137 / 15
Регистрация: 26.02.2011
Сообщений: 492
18.11.2011, 15:26  [ТС]     Проверка корректности ввода чисел #4
C++
1
2
if(!ifs.eof())
    ifs>>matr[i][j];
считывается

если файл такой
4
1 2 3 4
4 1 6 7
7 8 9 5
4 7 8
после восмерки идет 2 пробела еще
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
18.11.2011, 15:32     Проверка корректности ввода чисел #5
ошибка при вводе в неправильном формате
a.n.o.n.i.m
137 / 137 / 15
Регистрация: 26.02.2011
Сообщений: 492
18.11.2011, 15:44  [ТС]     Проверка корректности ввода чисел #6
это увас считывание данных с файла разве?
ОгУрЕц
Заблокирован
18.11.2011, 15:49     Проверка корректности ввода чисел #7
a.n.o.n.i.m, а что если при вводе считать число прочитанных элементов?
Если число считанных элементов не совпадает с числом элементов матрицы вывести сообщение
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
18.11.2011, 15:49     Проверка корректности ввода чисел #8
Цитата Сообщение от a.n.o.n.i.m Посмотреть сообщение
это увас считывание данных с файла разве?
А в чем разница?
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
18.11.2011, 15:52     Проверка корректности ввода чисел #9
я так понимаю, что файл текстовый? А то если двоичный, то проблем нет здесь никаких.
ОгУрЕц
Заблокирован
18.11.2011, 16:07     Проверка корректности ввода чисел #10
a.n.o.n.i.m, посмотрите что у меня вышло с вашей матрицей

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
#include <iostream>
#include <fstream>
using namespace std;
 
int main ()
{
    ifstream ifs("dannie.txt");
    int i,j,n;ifs>>n;
    int ** matrica = new int*[n];
    int schetcjik = 0;
    bool ConecFaila = ifs.eof();
    for(i = 0; i < n; i++)
    {
        matrica[i] = new int[n];
        for(j = 0; j < n && !ConecFaila; j++)
        {
            ConecFaila = ifs.eof();
            if(!ConecFaila)
            {
                ifs>>matrica[i][j];
                cout<<matrica[i][j]<<" ";
                schetcjik++;
            }
            else
                cout<<"\nMatrica ne polnaya!\n";
        }
        cout<<endl;
    }
    cout<<"V matrice ne hvataet "<<n*n - schetcjik<<"elementov\n";
    return 0;
}
1 2 3 4
4 1 6 7
7 8 9 5
4 7 8
Matrica ne polnaya!

V matrice ne hvataet 1elementov
Press any key to continue
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.11.2011, 12:29     Проверка корректности ввода чисел
Еще ссылки по теме:

C++ Проверка правильности ввода. Запретить ввод чисел
Проверка корректности введенных строк C++
Проверка корректности вводимых значений C++

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

Или воспользуйтесь поиском по форуму:
a.n.o.n.i.m
137 / 137 / 15
Регистрация: 26.02.2011
Сообщений: 492
19.11.2011, 12:29  [ТС]     Проверка корректности ввода чисел #11
неет,в этом и фишка так у меня работает если курсор на последнем числе стоит а если после числа еще пробел поставить,вот в чем проблема
Проверка корректности ввода чисел

видите какая квакозябра,какое условие от этого написать?

Добавлено через 19 часов 13 минут
Есть идеи?
 Комментарий модератора 
Картинки загружайте на форум, во избежание их удаления или потери на сторонних ресурсах.
Yandex
Объявления
19.11.2011, 12:29     Проверка корректности ввода чисел
Ответ Создать тему
Опции темы

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