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

Что-то не так? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Выбор типа переменной-члена класса в зависимости от параметров передаваемых конструктору http://www.cyberforum.ru/cpp-beginners/thread830514.html
Здравствуйте форумчане! Ответьте пожалуйста на вопрос - возможно ли такое на С++ и если да, то как это реализовать? Имеется класс, в нём нужна переменная-член класса. Это нужно для быстрого и...
C++ Как связать работу двух исполняемых файлов? Мне нужно, что бы главный файл запускал второй файл 4 раза.... но я даже 1 раз не могу запустить. Вот такой код: Файл L2F_1: #include <windows.h> #include <stdio.h> #include <conio.h> #include... http://www.cyberforum.ru/cpp-beginners/thread830493.html
Программирование графики C++
Я студент-программист С++. У меня есть небольшой опыт разработки в средах win API, BUILDER. Сейчас хочу понять как работает графический интерфейс. И вряд ли нужно говорить, что тупое чтение...
Сортировка по дате рождения данных в классе C++
В классе хочу отсортировать людей по дням, месяцам и годам рождения сразу, но получается только что-то одно. Т.е. вот данные: Oleg Scorpion 07 11 1994 Pety Telez 13 10 1995 Katy Lev 27 05 1994...
C++ Кодирование http://www.cyberforum.ru/cpp-beginners/thread830480.html
В какой тип данных можно записывать по одному биту 0 или 1, чтобы потом можно было считать целиком последовательность. Например, 010 или 1.
C++ координаты Подскажите, пожалуйста, как реализовать: 1) поиск точек отрезков прямых линий на плоскости XY, которые имеют обе целочисленные координаты. 2) компонентный метод перечисления всех целочисленных... подробнее

Показать сообщение отдельно
DeZRo
3 / 3 / 0
Регистрация: 05.11.2012
Сообщений: 49
07.04.2013, 15:35  [ТС]
Цитата Сообщение от Ternsip Посмотреть сообщение
DeZRo, вы не понимаете, если double d = 0, то (d == 0) = false, т.е. в условие не зайдёт.
А вот если if (abs(d) < 1e-20) тогда зайдёт

Добавлено через 3 минуты
DeZRo, D у вас объявлена в другом блоке, когда вы хотите его вызывать в строчке 52 у вас происходит краш. И т.к. вы не соблюдаете даже форматирования кода, вы запутались.
Да, вы правы, я запутался, попытался исправить и опять провал:
C++
1
Ошибка  1   error C2086: double D: переопределение  c:\users\igor\desktop\дискриминант\дискриминант\дискриминант.cpp    52
вот код....опять...:
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
#include <iostream>
#include <math.h>
#include <cstdio>
#include <Windows.h>
#include "process.h"
 
using namespace std;
int main()
{ 
    setlocale(LC_ALL,"Russian");
    int a, b, c, n;
    cout <<"1 - Дискриминант"<<endl;
    cout <<"2 - Теорема Виета"<< endl;
    cin >> n;
    if (n=1)
    {
    
    double x1 , x2 ;
    
    cout <<"Введите число a" << endl; 
    cin >> a;
    cout <<"Введите число b" << endl;
    cin >> b;
    cout <<"Введите число c" << endl;
    cin >> c;
    double D = b*b - 4*a*c ;
    cout << "По формуле находения дискриминанта b^2-4ac, дискриминант равен " << D << endl;
    
    if (D > 0) 
        {
        cout <<"D>0, тогда"<<endl;
        double x1 = (-b + sqrt(D)) / (2*a);
        double x2 = (-b - sqrt(D)) / (2*a);
        cout << " x1 = " << x1 << endl;
        cout << " x2 = " << x2 << endl;
    }
    if (D == 0)
    {
        cout <<"D=0 , тогда"<<endl;
        double x = -b / (2*a);
        cout << "x = " << x << endl;
    }
    if (D < 0)
    {
        cout <<"D<0 , тогда"<<endl;
        cout << "Нет корней" << endl;
    }
}
    if(n=2)
    {
        double D = b*b - 4*a*c ;
        double x1 , x2 , x3 , x4 , D;
        
        if (D > 0) 
        {
            
        double x1 = (-b + sqrt(D)) / (2*a);
        double x2 = (-b - sqrt(D)) / (2*a);
        if (x1<0 && x2<0)
        {
            double x3= x1*(-1);
            double x4=x2*(-1);
                cout<< "По теореме Виета множители равны:"<<endl;
            cout<< a << "(x+"<< x3 << ")(x+"<< x4 <<")"<<endl;
        }
        if (x1<0 && x2>0)
        {
            double x3= x1*(-1);
            double x4=x2*(-1);
            cout<< "По теореме Виета множители равны:"<<endl;
            cout<< a << "(x+"<< x3 << ")(x"<<x4<<")"<<endl;
            
        }
        if (x1>0 && x2<0)
        {
            double x3= x1*(-1);
            double x4=x2*(-1);
            cout<< "По теореме Виета множители равны:"<<endl;
            cout<< a << "(x"<< x3 << ")(x+"<<x4<<")"<<endl;
            
        }
        if (x1>0 && x2>0)
        {
            double x3= x1*(-1);
            double x4=x2*(-1);
            cout<< "По теореме Виета множители равны:"<<endl;
            cout<< a << "(x"<< x3 << ")(x"<<x4<<")"<<endl;
            
        }
        }
        
        
 
    }
    int r;
    cout << " Для перезапуска программы введите 1"<< endl;
    cout << " Для выхода введите 2" << endl;
    cin >> r;
    if (r==1)
    {
        LPCWSTR open = L"open";
        LPCWSTR file = L"Дискриминант.exe";
        ShellExecute (NULL, open, file ,0,0, SW_SHOWNORMAL);
        return 0;
 
    }
    else (r==2);
    {
        return 0;
    }
 
    system("pause");
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru