Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cmath>
- #include <conio.h>
- #include <iomanip>
- #include <windows.h>
- //program rozwiazujący równanie kwadratowe a×+bx2+c=0
- using namespace std;
- //funkcja która kończy program, lub restartuje
- void zakoncz()
- {
- cout<<endl<<endl<<"Aby zakończyć kliknij ESC, aby zrestartować kliknij dowolny klawisz."<<endl<<endl;
- }
- //funkcja licząca delte
- float oblicz_delte(float a, float b, float c)
- {
- float del = 0;
- del = (b * b) - 4 * a * c;
- return del;
- }
- //funkcja licząca pierwiatki równania
- void oblicz_pierwiastki(float delta, float a, float b)
- {
- float x1, x2;
- char z = 'z';
- x1 = x2 = 0;
- cout << endl <<"Delta = "<< delta << endl;
- if (delta < 0)
- {
- cout << "Równanie nie ma rozwiązań w zbiorze liczb rzeczywistych" << endl;
- zakoncz();
- }
- else if (delta == 0)
- {
- cout << "x1 = " << setw(10) << showpos << internal << -b / 2 * a << noshowpos;
- zakoncz();
- }
- else
- {
- x1 = (-b - sqrt(delta)) / (2 * a);
- x2 = (-b + sqrt(delta)) / (2 * a) ;
- cout << fixed << setprecision(3);
- cout << "x1(dec) = " << setw(16) << right << x1 << endl;
- cout << "x2(dec) = " << setw(16) << left << x2 << endl;
- //zamiana delty na system ósemkowy i szesnastkowy
- cout << "Chcesz zobaczyć delte w systemie oct/hex (y/n)"<<endl;
- cin >> z;
- switch(z)
- {
- case 'y':
- {
- cout << showbase;
- cout << hex << "(hex)" << int (delta) << endl;
- cout << oct << "(oct)" <<int (delta) << endl << endl;
- cout << dec << noshowbase;
- zakoncz();
- }break;
- default:
- {
- zakoncz();
- }break;
- }
- }
- }
- int main(int argc, char* argv[])
- {
- do
- {
- float a, b, c;
- float delta = 0;
- a = b = c = 0;
- //ustawienie koloru
- HANDLE hOut;
- hOut = GetStdHandle( STD_OUTPUT_HANDLE );
- SetConsoleTextAttribute( hOut, FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_INTENSITY );
- cout << setw(70) << internal << "********KWADRACIAK*******" << endl;
- cout << setw(78) << internal << "Daj mi równanie, a rozwiąże je za Ciebie!" << endl << endl;
- cout << "Podaj a: ";
- cin >> a;
- cout << "Podaj b: ";
- cin >> b;
- cout << "Podaj c: ";
- cin >> c;
- if(a == 0 && b == 0 && c == 0)
- {
- cout<<"Równanie jest tożsamościowe!"<<endl;
- zakoncz();
- }
- else if(a == 0 && b == 0 && c != 0)
- {
- cout<<"Równanie jest sprzeczne!"<<endl;
- zakoncz();
- }
- else if( a == 0 && b != 0)
- {
- cout << "Podałeś równanie liniowe!" << endl;
- cout << "Wynik to: x = " << -c / b;
- zakoncz();
- }else
- {
- delta = oblicz_delte(a, b, c);
- oblicz_pierwiastki(delta, a, b);;
- }
- } while (getch() != 27);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment