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

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

Войти
Регистрация
Восстановить пароль
 
Andy90
1 / 1 / 0
Регистрация: 13.05.2009
Сообщений: 6
#1

Предотвращение ошибок - C++

13.05.2009, 14:57. Просмотров 436. Ответов 4
Метки нет (Все метки)

Есть такая программа в С++:

#include<iostream.h>
#include<stdio.h>

int main(void)
{
char c[10];
float f;
cout<<"Input char"<<endl;
gets(c);
cout<<"Input float"<<endl;
cin>>f;
cout<<"char: "<<c<<endl;
cout<<"float: "<<f<<endl;
return 0;
}

Как можно предотвратить ошибку, если при выполнении программы ввести не 9 символов, а больше, и вместо вещественного числа - символы (или запятую вместо точки)? Может как-то при помощи try throw catch? У меня не получилось.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.05.2009, 14:57     Предотвращение ошибок
Посмотрите здесь:

Обработка ошибок C++
Поиск ошибок C++
C++ Исправлеие ошибок
Описание ошибок. C++
Обработка ошибок C++
разбор ошибок C++
C++ Обработка ошибок
C++ исправление ошибок
C++ Исправление ошибок
Исправление ошибок C++
Предотвращение продолжения работы потока после выхода из функции C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
CheshireCat
Эксперт С++
2890 / 1239 / 78
Регистрация: 27.05.2008
Сообщений: 3,325
13.05.2009, 15:23     Предотвращение ошибок #2
Вводи символы в строку (string) - хоть миллион. А потом уже анализируй полученную строку.
Rififi
2335 / 1050 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
13.05.2009, 15:25     Предотвращение ошибок #3
Andy90,
Как можно предотвратить ошибку, если при выполнении программы ввести не 9 символов, а больше,
функция fgets - контролирует размер переданного буфера

вместо вещественного числа - символы
парсить через std::stringstream
Andy90
1 / 1 / 0
Регистрация: 13.05.2009
Сообщений: 6
13.05.2009, 16:36  [ТС]     Предотвращение ошибок #4
Спасибо! Ща буду пробовать!

Добавлено через 29 минут 15 секунд
А как можно при помощи fgets обойтись без файла (файловой переменной)?
Gravity
557 / 551 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
13.05.2009, 16:42     Предотвращение ошибок #5
Укажи stdin в качестве файлового указателя и она будет читать из стандартного ввода.
Yandex
Объявления
13.05.2009, 16:42     Предотвращение ошибок
Ответ Создать тему
Опции темы

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