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

Проверка ввода - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вводить название фигуры, выводить формулу для вычисления площади этой фигуры http://www.cyberforum.ru/cpp-beginners/thread117808.html
Вводить название фигуры (треугольник, квадрат, ромб, прямоугольник) выводить формулу для вычисления площади этой фигуры.
C++ Выбор Ввести первую букву названия реки. Вывести справку о его длину и количество притоков. http://www.cyberforum.ru/cpp-beginners/thread117807.html
C++ Глобальная переменная
Никогда с таким не сталкивался... В общем: Надо обьявить глобальный масив в одной функции, но чтобы его видели все другие функции. Вне функции обьявить нельзя. А что делать?
C++ C++: класс матрица. Действия с ними
Вечер добрый. Делаю следующую лабу - уже забадался... Суть: сделать класс "матрица". В объекте "матрица" должны быть перегружены операторы +, -, *, /. Записать в файл. Реализовать метод "детерминант". Вот то, что вышло. Оно работает. #include <iostream.h> #include <conio.h> #include <math.h> class matrix { // клас матриця
C++ Команда выбора http://www.cyberforum.ru/cpp-beginners/thread117784.html
Заданы три действительных числа. Выберите из них те, которые принадлежат промежутке (-4,8).
C++ хэш-функция Здрасти. Почитал тут про хэш-ф-ии, и был приведен пример: hashVal=(hashVal*128+key)%tableSize; А Что означает величина 128? И почиму она именно 128? подробнее

Показать сообщение отдельно
Morfiy
 Аватар для Morfiy
5 / 5 / 0
Регистрация: 16.04.2010
Сообщений: 64
17.04.2010, 10:37  [ТС]     Проверка ввода
Вот самый простой пример:

C++
1
2
3
4
5
6
7
8
9
10
11
12
#include<iostream.h>
#include<conio.h>
main(){
int a[16383],r;
cout<<"vvedite rozmirnist";
cin>>r;
cout<<"vvedite vvedite masiv";
for(int i=1;i<=r;i++)
cin>>a[i];
getch();
return 0;
}
мне нужно зделать так чтоб когда пользователь введет в (r a[i]) какую нибудь чуж к примеру:Ё!"№;%:?*()_+\ ЙЦУКПРОЛОЛРkljnklnn и тд. Нада чтоб выбило сообщение про ошыбку ввода и попросило ввести снова.
но суть дела когда в переменною вводиш какое нибудь символ кроме числапрограма виснет.
Я думаю проверка должна ити по принцыпу гдето так:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include<iostream.h>
#include<conio.h>
main(){
int key,a[16383];
char ch;
A:
cout<<"-----";
cin>>ch;
key=(int)ch;//переводит в код,для от 0 до 9 ето 48-57
if((key==48)||(key==49)||(key==50)||(key==51)||(key==52)||(key==53)||(key==54)||(key==54)||(key==55)||(key==56)||(key==57))
{cout<<"vvod vernuy";
key=key-48;
cout<<key;
}
else {cout<<"oshubka"; goto A;
getch();
return 0;
}
ну вот такую проверку делал я но у нее оч много минусов:
1)розпознаетиса токо 1 символ тоитсть если веду 27 мне выведе в конце 2
2)когда идет присвоения к масиву в цыкле типа a[i]=key; и я перед етим ввел сh=111111
то оно присвоит так
а[i]=1;
а[i+1]=1;
а[i+2]=1;
а[i+3]=1;
а[i+4]=1;
а[i+5]=1;
Думаю суть моей проблемы тепер более ясна!!))
 
Текущее время: 00:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru