Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 21.03.2011
Сообщений: 3
1

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

16.04.2011, 00:09. Показов 670. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
вот задание:


написал программу, все проверил со всеми возможными вариантами - работало.
Через неделю смотрю и с делением на 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;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.04.2011, 00:09
Ответы с готовыми решениями:

перестала работать программа
#include &lt;stdio.h&gt; #include &lt;math.h&gt; int main() { float a, b, c; printf(&quot;\n a=&quot;);...

Перестала работать программа после добавления перегрузки
Доброго времени суток ,пожалуйста помогите разобраться добавил в программу перегрузку после чего...

Логические выражения - программа на следующий день просто перестала работать
Помогите пожалуйста разобраться. Такая ситуация: вначале написал не полную программу( не все...

Программа для поиска седловых точек матрицы перестала работать после добавления функции ввода
есть программа для на поиска седловых точек матрицы (Максимальный элемент в рядке и максимальный в...

0
16.04.2011, 00:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.04.2011, 00:09
Помогаю со студенческими работами здесь

Перестала работать дозапись в файл
Написал программу. Открыл ее через 3 недели и обнаружил,что не работает дозапись в файл. В чем...

Почему перестала работать запись в файл?
Почему перестала работать запись в файл? #include &lt;cstdio&gt; #include &lt;cstring&gt; #include...

Немного изменил код программы и она перестала работать. Не пойму почему.
Программа работала, но нужно было вынести вывод суммы в main( до этого выводилась в sum). Для этого...

Программа перестала работать
Вот скрин этого инвалида, каким буем это случилось, большой вопрос


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru