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

Обработка исключения - C++

Восстановить пароль Регистрация
 
Spender163
0 / 0 / 0
Регистрация: 04.03.2012
Сообщений: 7
06.12.2013, 14:27     Обработка исключения #1
Доброго времени суток, ув. программисты С++.
Суть моей проблемы в том, что мне надо сделать некую обработку исключения. Задание следующее: Мне нужно считать данные из файла,выполнить с ними некоторые манипуляции (нахождение НОД) и записать результат в другой файл. Мне осталось сделать исключение,что бы если в файле находятся символы либо буквы, программка ругнулась, выдала сообщение мол "данные не соответствуют типу int, введите в файл числа" . В Delphi знаю как сделать,в С++ нет. Буду признателен за помощь. Вот код:
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
32
33
34
35
36
37
38
39
40
41
42
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
setlocale(LC_ALL, "RUS");
int a, b;
fstream F;
F.open("out.txt");
while (!F.eof()) F>>a>>b;
F.close();
int c=8;
while(c<10)
{
if(a>b)
{
a=a-b;
}
else if(a<b)
{
b=b-a;
}
else if(a=b)
{
cout<<"НОД введенных чисел равен "<<a<<endl;
c=12;
}
else if(a<=0)
{
cout<<"НОД введенных чисел равен "<<b<<endl;
c=12;
}
else if(b<=0)
{
cout<<"НОД введенных чисел равен "<<a<<endl;
c=12;
}
}
F.open("in.txt", ios::out);
F<<a<<"\t"<<b<<"\t";
F.close();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.12.2013, 14:27     Обработка исключения
Посмотрите здесь:

C++ исключения
исключения C++
C++ Выход за пределы массива, обработка исключения
Исключения С++ C++
Обработка сиситемного исключения C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
RamonN
 Аватар для RamonN
32 / 32 / 11
Регистрация: 13.07.2011
Сообщений: 136
06.12.2013, 14:33     Обработка исключения #2
Используйте функции isalpha или isdigit
Spender163
0 / 0 / 0
Регистрация: 04.03.2012
Сообщений: 7
06.12.2013, 14:41  [ТС]     Обработка исключения #3
Спасибо,но хотелось бы посмотреть полный вариант с использованием try и catch
Spender163
0 / 0 / 0
Регистрация: 04.03.2012
Сообщений: 7
07.12.2013, 22:43  [ТС]     Обработка исключения #4
Ап теме!
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11830 / 6809 / 769
Регистрация: 27.09.2012
Сообщений: 16,882
Записей в блоге: 2
Завершенные тесты: 1
07.12.2013, 22:50     Обработка исключения #5
Цитата Сообщение от Spender163 Посмотреть сообщение
Мне осталось сделать исключение,что бы если в файле находятся символы либо буквы,
можно обработать без исключений и будет даже лучше.
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
07.12.2013, 23:12     Обработка исключения #6
Наверно что-то типа этого
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
#include <iostream>
#include <fstream>
#include <stdexcept>
 
int main()
{
    try
    {
        std::ifstream ifs("in.txt");
        if(!ifs.is_open())
            throw std::runtime_error("Unable to open input file");
        int num1, num2;
        if(!(ifs >> num1 >> num2))
            throw std::runtime_error("operator>> failed");
        else
            std::cout << num1 << '\n' << num2 << std::endl;
        ifs.close();
    }
    catch(std::exception const& e)
    {
        std::cerr << e.what() << std::endl;
    }
    return 0;
}
Yandex
Объявления
07.12.2013, 23:12     Обработка исключения
Ответ Создать тему
Опции темы

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