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

перестала работать программа - C++

Восстановить пароль Регистрация
 
SJKE
0 / 0 / 0
Регистрация: 21.03.2011
Сообщений: 3
16.04.2011, 00:09     перестала работать программа #1
вот задание:
http://s009.***********/i307/1104/83/3ca134771e20.jpg

написал программу, все проверил со всеми возможными вариантами - работало.
Через неделю смотрю и с делением на 0 не работает, ошибки найти не могу.
Помогите пожалуйста.
Вот мой код:

#include <iostream>
#include <clocale>
#include <cmath>
#include <conio.h>
using namespace std;
double Function(double x, double a, double b, double c, bool &E, bool &J)
{
int A,B,C;
A=a;
B=b;
C=c; // приравниваем переменные для выделения целой части
if (((A^C)&(~(A|B)))!=0)
J=!J;
double F;
if ((x<3) && (b!=0))
F=a*(pow(x,2))-(b*x)+c; //pow - функция возведения в степень
else
if ((x>3) && (b==0))
if ((x-c)==0) //т.к. на 0 делить нельзя
E=!E;
else
F=(x-a)/(x-c);
else
{
if (c==0) //т.к. на 0 делить нельзя
E=!E;
else
F=x/c;
}
return F;
}
int main()
{
setlocale(LC_ALL, "rus");//подключение русского языка
double x_n, x_k, dx, x, F, a, b, c;
int f;
bool E, J;
do
{
system("cls");
cout << "Введите начальное значение: ";
cin >> x_n;
cout << "Введите конечное знаечение: ";
cin >> x_k;
cout << "Введите шаг: ";
cin >> dx;
cout << "Введите a: ";
cin >> a;
cout << "Введите b: ";
cin >> b;
cout << "Введите c: ";
cin >> c;
cout <<"________________________________________________________________________________\n\t\t\tТАБЛИЦА ЗНАЧЕНИЙ ФУНКЦИИ:\n\nAРГУМЕНТ:\tФУНКЦИЯ:\n";
} //создаем заголовок таблицы и шапки
while (x_n>x_k);
for (x=x_n;x<=x_k;x+=dx)
{
F=Function(x,a,b,c,E=true,J=true);
if (J==false)
if (E==false)
cout << x << " ОШИБКА! Деление на 0!" << endl;
else
cout << x << " " << F << endl; //вывод F
else
if (E==false)
cout << x << " ОШИБКА! Деление на 0!" << endl;
else
{
f=F; //получаем целую часть от F
cout << x << " " << f << endl; //вывод f
}
}
getch();
return 0;
}

Добавлено через 4 минуты
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#include <iostream>
#include <clocale>
#include <cmath>
#include <conio.h>
using namespace std;
double Function(double x, double a, double b, double c, bool &E, bool &J)
{
    int A,B,C;
    A=a;
    B=b;
    C=c; // приравниваем переменные для выделения целой части
    if (((A^C)&(~(A|B)))!=0)
        J=!J;
    double F;
    if ((x<3) && (b!=0))
            F=a*(pow(x,2))-(b*x)+c; //pow - функция возведения в степень
    else 
            if ((x>3) && (b==0))
                if ((x-c)==0) //т.к. на 0 делить нельзя
                    E=!E;
                else 
                    F=(x-a)/(x-c);
            else 
                {
                if (c==0) //т.к. на 0 делить нельзя
                    E=!E;   
                else                    
                    F=x/c;
                }
return F;
}
int main()
{
    setlocale(LC_ALL, "rus");//подключение русского языка
        double x_n, x_k, dx, x, F, a, b, c;
        int f;
        bool E, J;
    do
    {
    system("cls");
    cout << "Введите начальное значение: ";
    cin >> x_n;
    cout << "Введите конечное знаечение: ";
    cin >> x_k;
    cout << "Введите шаг: ";
    cin >> dx;
    cout << "Введите a: ";
    cin >> a;
    cout << "Введите b: ";
    cin >> b;
    cout << "Введите c: ";
    cin >> c;
    cout <<"________________________________________________________________________________\n\t\t\tТАБЛИЦА ЗНАЧЕНИЙ ФУНКЦИИ:\n\nAРГУМЕНТ:\tФУНКЦИЯ:\n";
    } //создаем заголовок таблицы и шапки
    while (x_n>x_k);
    for (x=x_n;x<=x_k;x+=dx)
    {
F=Function(x,a,b,c,E=true,J=true);
        if (J==false)
            if (E==false)
                cout << x << "               ОШИБКА! Деление на 0!" << endl;
            else
                cout << x << "               " << F << endl; //вывод F
        else
            if (E==false)
                cout << x << "               ОШИБКА! Деление на 0!" << endl;
            else
            {
                f=F; //получаем целую часть от F
                cout << x << "               " << f << endl; //вывод f
            }
    }
    getch();
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.04.2011, 00:09     перестала работать программа
Посмотрите здесь:

C++ программа с двумерным массивом не хочет работать
C++ Немного изменил код программы и она перестала работать. Не пойму почему.
Почему перестала работать запись в файл? C++
Программа для поиска седловых точек матрицы перестала работать после добавления функции ввода C++
В VS2010 перестала работать вкладка "Проект" C++
C++ Логические выражения - программа на следующий день просто перестала работать
Доходя до упорядочивания строк, программа перестает работать C++
C++ После вызова рекурсивной функции программа перестаёт работать

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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