Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 24.12.2012
Сообщений: 3
1

требуется сделать вывод ошибки если вместо чисел введен текст,

24.12.2012, 19:00. Показов 1537. Ответов 7
Метки нет (Все метки)

помогите бедному студенту завтра сдавать отчет, а я не могу сделать следующее, требуется сделать вывод ошибки если вместо чисел введен текст, это часть текста программы в котором и происходит запись.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//Создаём объекты
Room r1;
Apartment a1;
Storage s1;
AnsiString buff;
 
r1.setSquare(StrToInt(edtRSq->Text));
r1.setHight(StrToInt(edtRHight->Text));
 
a1.setFloor(StrToInt(edtAFloor->Text));
a1.setRoomsCount(StrToInt(edtARooms->Text));
a1.setSquare(StrToInt(edtASq->Text));
 
s1.setCapability(StrToInt(edtSCap->Text));
s1.setSquare(StrToInt(edtSSq->Text));
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.12.2012, 19:00
Ответы с готовыми решениями:

Как правильно сделать вывод 404 ошибки, если id в базе не существует
Здравствуйте. Никак не могу побороть свое незнание php.. Подскажите. Вот есть подобныестраницы:...

Как сделать тут если не верно введён пароль, то закрывает приложение?
Как сделать тут если не верно введён пароль то закрывает приложения ? string password = "1234",...

Задан текст величине s в нем кто-то сделал ошибки (вместо одного пробела вставил 2 пробелы) Приведите текст к порядку
Помогите! через pascal!

Как сделать при поиске в таблице (через AdoQuery) вывод ошибки, если элемент не был найден?
таблица подключена через ADOQuery1, а столбец поиска мы указываем через радиоруп.void __fastcall...

7
113 / 113 / 28
Регистрация: 05.07.2009
Сообщений: 225
24.12.2012, 20:04 2
Святок, попробуйте использовать TryStrToInt.
C++
1
2
3
int i;
if (!TryStrToInt(text,i))
   ShowMessage("Введённые данные не являются числом!");
0
0 / 0 / 0
Регистрация: 24.12.2012
Сообщений: 3
24.12.2012, 20:09  [ТС] 3
А можешь непосредственно в текст вставить, уже перерыл кучу лит-ры, и ни как, не понимаю в чем причина
0
250 / 232 / 46
Регистрация: 05.02.2010
Сообщений: 3,288
24.12.2012, 20:11 4
isalpha
0
113 / 113 / 28
Регистрация: 05.07.2009
Сообщений: 225
24.12.2012, 20:14 5
Самое простое решение "в лоб":
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Room r1;
Apartment a1;
Storage s1;
AnsiString buff;
 
int i;
if (!TryStrToInt(edtRSq->Text,i) || !TryStrToInt(edtRHight->Text,i) || !TryStrToInt(edtAFloor->Text,i)) //и т.д
   ShowMessage("Ошибка во входных данных!");
 
r1.setSquare(StrToInt(edtRSq->Text));
r1.setHight(StrToInt(edtRHight->Text));
 
a1.setFloor(StrToInt(edtAFloor->Text));
a1.setRoomsCount(StrToInt(edtARooms->Text));
a1.setSquare(StrToInt(edtASq->Text));
 
s1.setCapability(StrToInt(edtSCap->Text));
s1.setSquare(StrToInt(edtSSq->Text));
0
0 / 0 / 0
Регистрация: 24.12.2012
Сообщений: 3
24.12.2012, 20:20  [ТС] 6
Цитата Сообщение от Vladimir616 Посмотреть сообщение
Самое простое решение "в лоб":
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Room r1;
Apartment a1;
Storage s1;
AnsiString buff;
 
int i;
if (!TryStrToInt(edtRSq->Text,i) || !TryStrToInt(edtRHight->Text,i) || !TryStrToInt(edtAFloor->Text,i)) //и т.д
   ShowMessage("Ошибка во входных данных!");
 
r1.setSquare(StrToInt(edtRSq->Text));
r1.setHight(StrToInt(edtRHight->Text));
 
a1.setFloor(StrToInt(edtAFloor->Text));
a1.setRoomsCount(StrToInt(edtARooms->Text));
a1.setSquare(StrToInt(edtASq->Text));
 
s1.setCapability(StrToInt(edtSCap->Text));
s1.setSquare(StrToInt(edtSSq->Text));
можно ещё что бы работа программы не прекращалась?????
0
250 / 232 / 46
Регистрация: 05.02.2010
Сообщений: 3,288
24.12.2012, 20:21 7
Цитата Сообщение от Святок Посмотреть сообщение
edtRSq->Text
Получи строку во временную переменную.
Проверь в цикле её содержимое
C++
1
2
3
4
5
6
for(int i = 0; i < buff.size(); i++)
if(!isdigit(buff.at(i)))  {
//сообщаем об ошибке и входим из цикла
//ShowError();
break;
}
Добавлено через 35 секунд
Наверное не в ту степь я написал...
1
113 / 113 / 28
Регистрация: 05.07.2009
Сообщений: 225
24.12.2012, 20:23 8
Святок, заставьте пользователя заново ввести все данные.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.12.2012, 20:23

Как написать условие "Если текст введен в Searchbox"?
Есть общий обработчик FormKeyPress. При нажатии на клавише фокус переходит на DbGrid. Как изменить...

Если текст содержит символьный код вместо символа
Суть проблемы такова. Парсим текст из xml. Там он имеет вид &amp;quot;Full inventory&amp;quot; (тоесть...

Сделать чтобы выводилась надпись, если выбрали 2, 3, 4 пункт, не выполнив 1 пункт, "массив не введён!"
помогите сделать чтобы выводилась надпись, если выбрали 2,3,4 пункт, не выполнив 1 пункт, &quot;массив...

Как сделать вместо числа - текст?
Хотел создать свой трейнер-русификатор для игры но есть одна проблема, я не мастер на Delphi и мало...

как сделать так, чтобы вместо #ошибки выводило 0(ноль)?
Таблица1: 1)Klient - Клиент 2)ves_kond - кондициооный вес 3)ves_nett - вес нетто...

Если введен верный пароль, то открывается вторая форма с рисунком, если нет, то пароль запрашивается снова
2. Создайте форму со строкой для ввода пароля и кнопкой «Ок». Если введен верный пароль, то...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru