ďťż

Ładny brzuch

Napisałem taki oto program:

// Program liczący miejsca
// zerowe funkcji kwadratowej
// pisane w Borland C++ Builder 6.0. Personal
// kompilacja nieudana
// błąd w liniach 42. i 43.
// treść błędów
// [C++ Error] Unit1.cpp(42): E2451 Undefined symbol 'a'
// [C++ Error] Unit1.cpp(43): E2451 Undefined symbol 'a'

#include <iostream> // cout, cin
#include <conio> // getch
#include <math> // sqrt

using namespace std;

float Delta(float a, float b, float c);
void X1_X2(float, float, float, float&, float&);
float X0(float a, float B);
void P_Q(float, float, float, float&, float&);

int main()
{
float a, b, c;
float delta, x1, x2, x0, p, q;

cout << "Witaj w programie liczacym miejsca zerowe n";
cout << "p i q funkcji kwadratowej n";
cout << "Autor: Jacek S., 2004 nn";

cout << "Podaj a: ";
cin >> a;
cout << "Podaj b: ";
cin >> b;
cout << "Podaj c: ";
cin >> c;
cout << "n";

delta = Delta(a,b,c);

if(delta>0)
{
void X1_X2(a,b,delta,x1,x2); // pierwszy błąd
void P_Q(a,b,delta,p,q); // drugi błąd

cout << "Delta jest wieksza od zeran";
cout << "Delta : " << delta << "n";
cout << "Funkcja ta posiada dwa miejsca zerowen";
cout << "x1: " << x1 << " x2: " << x2 << "n";
cout << "p: " << p << " q: " << q << "n";
cout << "n";
}
else if(delta==0)
{
x0 = X0(a,B);

cout << "Delta jest rowna zeron";
cout << "Funkcja ta posiada jedno miejsce zerowen";
cout << "x0: " << x0 << "n";
cout << "n";
}
else
{
cout << "Delta jest mniejsza od zeran";
cout << "Delta : " << delta << "n";
cout << "Funkcja ta nie podiada miejsc zerowychn";
cout << "n";
}

getch();
return 0;
}

float Delta(float a, float b, float c)
{
float delta;
delta = (b*B)-(4*a*c);
return delta;
}

void X1_X2(float a, float b, float delta, float &rX1, float &rX2)
{
float pierDelta;
pierDelta = sqrt(delta);
rX1 = (-b-pierDelta)/(2*a);
rX2 = (-b+pierDelta)/(2*a);
}

float X0(float a, float B)
{
float x0;
x0 = (-B)/(2*a);
return x0;
}

void P_Q(float a, float b, float delta, float &rP, float &rQ)
{
rP = (-B)/(2*a);
rQ = (-delta)/(4*a);
}

Nie chce się skompilować, występują błędy w liniach 42. i 43.
Dlaczego !!!
Pomóżcie

Hej Hej Hej Ho Ho Ho z moim kompem jest kiepsko :):):)



Na pierwszy rzut oka wszystko wygląda OK, ale wkleiłem Twój program do Dev C++, zmieniłem dwie funkcje tak, żeby zwracały int, a nie void, wyrzuciłem to cholerne using namespace std (bo Dev C++ tego nie obsługuje) i program działa :)

#include <iostream.h> // cout, cin
#include <conio.h> // getch
#include <math.h> // sqrt

//using namespace std;

float Delta(float a, float b, float c);
int X1_X2(float, float, float, float&, float&);
float X0(float a, float B);
int P_Q(float, float, float, float&, float&);

int main()
{
float a, b, c;
float delta, x1, x2, x0, p, q;

cout << "Witaj w programie liczacym miejsca zerowe n";
cout << "p i q funkcji kwadratowej n";
cout << "Autor: Jacek S., 2004 nn";

cout << "Podaj a: ";
cin >> a;
cout << "Podaj b: ";
cin >> b;
cout << "Podaj c: ";
cin >> c;
cout << "n";

delta = Delta(a,b,c);

if(delta>0)
{
// w tych dwóch linijkach usunąłem void
X1_X2(a,b,delta,x1,x2); // pierwszy błąd
P_Q(a,b,delta,p,q); // drugi błąd

cout << "Delta jest wieksza od zeran";
cout << "Delta : " << delta << "n";
cout << "Funkcja ta posiada dwa miejsca zerowen";
cout << "x1: " << x1 << " x2: " << x2 << "n";
cout << "p: " << p << " q: " << q << "n";
cout << "n";
}
else if(delta==0)
{
x0 = X0(a,B);

cout << "Delta jest rowna zeron";
cout << "Funkcja ta posiada jedno miejsce zerowen";
cout << "x0: " << x0 << "n";
cout << "n";
}
else
{
cout << "Delta jest mniejsza od zeran";
cout << "Delta : " << delta << "n";
cout << "Funkcja ta nie podiada miejsc zerowychn";
cout << "n";
}

getch();
return 0;
}

float Delta(float a, float b, float c)
{
float delta;
delta = (b*B)-(4*a*c);
return delta;
}

int X1_X2(float a, float b, float delta, float &rX1, float &rX2)
{
float pierDelta;
pierDelta = sqrt(delta);
rX1 = (-b-pierDelta)/(2*a);
rX2 = (-b+pierDelta)/(2*a);
return 0;
}

float X0(float a, float B)
{
float x0;
x0 = (-B)/(2*a);
return x0;
}

int P_Q(float a, float b, float delta, float &rP, float &rQ)
{
rP = (-B)/(2*a);
rQ = (-delta)/(4*a);
return 0;
}

Tak w ogóle jeżeli to ma rozwiązywać równanie kwadratowe, ta da się to napisać o wiele prościej :)

Pozdrawiam i zapraszam na *** www.windowsik.prv.pl ***

elo :]
nie musisz od razu zmieniac includow jak poradzil Favex ;] bo nowsze naglowki lepsze dzialanie ;]
ja zmienilem sobie na:
#include <iostream> // cout, cin
#include <conio.h> // getch
#include <cmath> // sqrt
using namespace std;
rowniez getch jest odradzane jesli juz uzywasz streamy. zamiast getch() mozesz uzyc cin.get(); no ale to jest szczegol.
Dwi linie:
void X1_X2(a,b,delta,x1,x2); // pierwszy błąd
void P_Q(a,b,delta,p,q); // drugi błąd
sa slusznie wylapywane przez kompilator, bo traktowane sa jako ponowne deklaracje funkcji [swiadczy o tym void], a nie wywolania. trza usunac void i powinno dzialac.

pozdrawiam
pepsi^no1

Dzięki za rady

Hej Hej Hej Ho Ho Ho z moim kompem jest kiepsko :):):)

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •