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

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

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

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

15.11.2012, 21:28. Просмотров 480. Ответов 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);
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.11.2012, 21:28     Проверка при помощи вложенных блоков try
Посмотрите здесь:

Организовать работу с файлом при помощи меню C++
Решите при помощи двумерного массива C++
Решение задачи коммивояжёра при помощи перебора C++
При помощи вложенных циклов for необходимо нарисовать звездочками фигуры C++
записать формулу при помощи библиотеки math.h C++
C++ Русификация при помощи класса.
C++ елка при помощи рекурсии
C++ Разбить число на цифры при помощи цикла
C++ Не производиться ввод при помощи функции gets(s)
C++ Обработка массивов при помощи процедур
Отсортировать массив по возрастанию при помощи указателей C++
C++ Найти сумму ряда (при помощи цикла while)

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

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

Добавлено через 24 секунды
а если будет вводится символ типа char?
David Sylva
1285 / 947 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
15.11.2012, 22:49     Проверка при помощи вложенных блоков try #6
Цитата Сообщение от zhurbikk Посмотреть сообщение
а если будет вводится символ типа char?
ты у тебя же вводится тип float. В целом пересмотри программу, очень много неточностей, например почему вводится тип float, а передается тип double в функцию?
Yandex
Объявления
15.11.2012, 22:49     Проверка при помощи вложенных блоков try
Ответ Создать тему
Опции темы

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