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

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

Войти
Регистрация
Восстановить пароль
 
zhurbikk
4 / 4 / 0
Регистрация: 14.11.2012
Сообщений: 38
#1

Проверка при помощи вложенных блоков try - C++

15.11.2012, 21:28. Просмотров 501. Ответов 5
Метки нет (Все метки)

Посчитать уравнение ( у=log4(x2-4)+1/x)при вводе х с клавиатуры, но должны выполнятся условия:
1. выражение считается в отдельной функции;
2. корректность ввода должна проверятся при помощи механизма перехвата исключений;
3. при выполнении обеспечить двухуровневую проверку двумя способами:
-при помощи вложенных блоков try ;
-путем перехвата исключений в основной программе и в функции что вызывается.

Добавлено через 20 часов 37 минут
вот накидал
проверьте правильно ли ввполнены все задания
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
#include <iostream>
#include <math.h>
 
using namespace std;
 
double func(double x);
 
int main()
{
    float x;
    cout<<"Input x"<<endl;
    cin>>x;
    cout<<x;
 
 
    try
    {
                cin>>x;
        cout<<"Function="<<func(x)<<endl;
    }
    catch(const char *s)
    {
        cout<<"Exception catched: "<<s<<endl;
    }
    return 0;
}
 
double func(double x)
{
    if (x==0) throw "X=0";
    if (x*x<=4) throw "X^2<=4";
    return (log( pow(x,2) - 4) / log(4)) + (1 / x);
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.11.2012, 21:28
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Проверка при помощи вложенных блоков try (C++):

При помощи вложенных циклов for необходимо нарисовать звездочками фигуры - C++
Доброго времени суток! Уважаемые знатоки, помогите пожалуйста решить задачку: при помощи вложенных циклов for необходимо нарисовать фигуры:...

Русификация при помощи класса. - C++
Всем привет! Требуется Ваша помощь в создании файла описания класса для русификации консольной программы. Например есть код (Взято из...

Решите при помощи двумерного массива - C++
Дан массив целых чисел.Выяснить: 1) верно ли, что максимальный элемент превышает минимальный не более чем на 25; 2) верно ли, что...

Нарисовать елку при помощи рекурсии - C++
помогите пожалуйста нарисовать елочку при помощи рекурсии...

Обработка массивов при помощи процедур - C++
Не знаю как написать код к программе. Написать программу для вычисления T=(Q_1-Q_2)+e^{Q_1-Q_2} , где Q-количество элементов вектора...

Синхронизация процессов при помощи мьютексов - C++
начал разбираться с мбютексами, а точнее как синхронизировать 2 рпоцесса с их помощью. #include &lt;stdlib.h&gt; #include &lt;semaphore.h&gt; ...

5
David Sylva
1288 / 950 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
15.11.2012, 22:02 #2
Цитата Сообщение от zhurbikk Посмотреть сообщение
вот накидал
проверьте правильно ли ввполнены все задания
нет не правильно, тип исключения должен совпадать с типом, заданным в catch-инструкции.
0
zhurbikk
4 / 4 / 0
Регистрация: 14.11.2012
Сообщений: 38
15.11.2012, 22:34  [ТС] #3
а что тогда заменить чтоб ловило все не правильные вводы?
0
David Sylva
1288 / 950 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
15.11.2012, 22:39 #4
Я так понимаю у тебя должны ловиться исключения типа int, а в catch параметр типа const char* s. Улавливаешь, что надо поменять?
0
zhurbikk
4 / 4 / 0
Регистрация: 14.11.2012
Сообщений: 38
15.11.2012, 22:46  [ТС] #5
catch(const char *s) на catch(int x)?

Добавлено через 24 секунды
а если будет вводится символ типа char?
0
David Sylva
1288 / 950 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
15.11.2012, 22:49 #6
Цитата Сообщение от zhurbikk Посмотреть сообщение
а если будет вводится символ типа char?
ты у тебя же вводится тип float. В целом пересмотри программу, очень много неточностей, например почему вводится тип float, а передается тип double в функцию?
0
15.11.2012, 22:49
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.11.2012, 22:49
Привет! Вот еще темы с ответами:

Не производиться ввод при помощи функции gets(s) - C++
По непонятной мне причине не производиться ввод при помощи функции gets(s) или getline(cin, s). Если использовать просто cin, то проблем...

как усовершенствовать студ.актив при помощи С++ - C++
Учусь на первом курсе, если честно, не особо смыслю в программировании :) Веду активную жизнь, состою в студенческом активе, по этому...

Решение задачи коммивояжёра при помощи перебора - C++
#include &lt;iostream&gt; using namespace std; int main() { setlocale (LC_ALL, &quot;Russian&quot;); int mass, n, k=1; cout&lt;&lt;&quot;Введите...

записать формулу при помощи библиотеки math.h - C++
Помогите пожалуйста , для примера записать формулу при помощи math.h желательно обе , можно даже просто строку как она записывается в с++


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

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

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