Pomożecie? Błąd w linijce 30 i 36 - kompilator sugeruje "="

0

Ma ktoś pomysł ? Microsoft Visual C++ 2010 Express wyswietla blad w 30 i 36 linijce. Sugeruje "=".

#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <math.h>
#define USE_MATH_DEFINES
using namespace::std;
int main()
{
    int a,b,c;
    float x0,x1,x2,delta;
    char operacja;
    cout << "Naciśnij 1 - czytaj , 2 - przetworz , 3 - podaj wynik ";
    cin >> operacja;
    switch (operacja)
    {
    case 1:
        cout <<"Czytanie danych do komputera : ";
        cout <<"Podaj a : ";
        cin >> a;
        cout <<"Podaj b : ";
        cin >> b;
        cout <<"Podaj c : ";
        cin >> c;
        break;
    case 2:
        cout <<"Przetwarzanie danych : ";
        delta=(b*b)-4*a*c;
        if (delta>0)
        {
            x1 = (-b-sqrt(delta))/(2*a);
                x2 = (-b+sqrt(delta))/(2*a);
        }
        if (delta==0) x0=(-b)/(2*a);
        if (delta<0) cout << "Brak pierwiastków równania ";
        break;
    case 3:
        cout <<"Podanie wyniku : ";
        if (delta>0)
            cout << x1;
        cout << x2;
        if (delta=0)
        {
            cout << x0;
        if (delta<0) cout << "Brak pierwiastków równania ";
        break;
        }
    getch();
    return 0;   
}
0

Kompiluje się, ale na pewno przemyślałeś to co piszesz ?

#include <iostream>
#include <conio.h>
#include <math.h>
#define USE_MATH_DEFINES

using namespace::std;
int main()
{
    int a,b,c;
    float x0,x1,x2,delta;
    int operacja;
    cout << "Nacisnij 1 - czytaj , 2 - przetworz , 3 - podaj wynik ";
    cin >> operacja;
    switch (operacja)
    {
    case 1:
        cout <<"Czytanie danych do komputera : ";
        cout <<"Podaj a : ";
        cin >> a;
        cout <<"Podaj b : ";
        cin >> b;
        cout <<"Podaj c : ";
        cin >> c;
        break;
    case 2:
        cout <<"Przetwarzanie danych : ";
        delta=(b*b)-4*a*c;
        if (delta>0)
        {
            x1 = (-b-sqrt(delta))/(2*a);
            x2 = (-b+sqrt(delta))/(2*a);
        }
        if (delta==0) x0=(-b)/(2*a);
        if (delta<0) cout << "Brak pierwiastków równania ";
        break;
    case 3:
        cout <<"Podanie wyniku : ";
        if (delta>0)
            cout << x1;
        cout << x2;
        if (delta=0)
        {
            cout << x0;
            if (delta<0) cout << "Brak pierwiastków równania ";
            break;
        }
    default:
        cout << "Zle dane" << endl;    
    }
    getch();
    return 0;
} 
0

chodzi o fragment
if(delta = 0)
powinno być
if(delta == 0)

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0