Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "std_lib_facilities_pl.h";
- double mnozenie(double a, double b) //funkcje zwyklego kalk
- {
- return a * b;
- }
- double dzielenie(double a, double b)
- {
- return a / b;
- }
- double dodawanie(double a, double b)
- {
- return a + b;
- }
- double odejmowanie(double a, double b)
- {
- return a - b;
- }
- double potegowanie(double a, int b)
- {
- double x = a;
- while (b > 1)
- {
- a = a*x;
- b--;
- }
- return a;
- }
- double pierwiastkowanie(double a)
- {
- a = sqrt(a);
- return a;
- } //funkcje zwyklego kalk
- vector<double> pierwiastkikwadrat(double a, double b, double c) //pierwiastki rownania kwadratowego
- {
- double delta = b*b - 4 * (a*c);
- double pierwdelta = 0;
- if (delta >= 0)
- {
- pierwdelta = sqrt(delta);
- }
- else
- {
- pierwdelta = -1;
- }
- vector<double> pierwiastki(3);
- if (pierwdelta < 0)
- {
- pierwiastki[0] = 0;
- }
- else if (pierwdelta == 0)
- {
- pierwiastki[0] = 1;
- pierwiastki[1] = -b / (2 * a);
- }
- else
- {
- pierwiastki[0] = 2;
- pierwiastki[1] = (-b - pierwdelta) / (2 * a);
- pierwiastki[2] = (-b + pierwdelta) / (2 * a);
- }
- return pierwiastki;
- } //pierwiastki rownania kwadratowego
- void inforamcje() //wypisanie inforamcji
- {
- cout << endl << "Informacje o Programie:" << endl << "Kalkulator wielozadaniowy" << endl << "Wersja 1.0" << endl << endl << "Inforamcje o Autorze:" << endl << "Szczepan Rdest" << endl << "Student Informatyki 1 roku WSB Dąbrowa Górnicza" << endl;
- }
- int main()
- {
- char modul, x;
- vector<double> pierwiastki(3);
- double a, b, c, wynik, pom1;
- cout << "xxx Kalkulator xxx" << endl;
- cout << "ktory modul mam uruchomic? :" << endl;
- cout << "modul '1': pierwiastki rownania kwadratowego" << endl;
- cout << "modul '2': kalkulator 6-dzialaniowy" << endl;
- cout << "modul '3': informacje o programie i autorze" << endl;
- cout << "modul 't': wyjscie z programu" << endl;
- cin >> modul;
- while (modul != 't')
- {
- switch (modul)
- {
- case '1': //pierwiastki rownania kwadratowego
- cout << "wybrano modul: 'pierwiastki rownania kwadratowego'" << endl;
- cout << "podaj kolejne wspolczynniki rownania kwadratowego: (a, b, c)" << endl;
- cin >> a;
- cin >> b;
- cin >> c;
- pierwiastki = pierwiastkikwadrat(a, b, c);
- if (pierwiastki[0] == 0)
- {
- cout << "liczba pierwiastkow: " << pierwiastki[0];
- }
- else if (pierwiastki[0] == 1)
- {
- cout << "liczba pierwiastkow: " << pierwiastki[0] << endl;
- cout << "pierwiastek nr 1: " << pierwiastki[1];
- }
- else
- {
- cout << "liczba pierwiastkow: " << pierwiastki[0] << endl;
- cout << "pierwiastek nr 1: " << pierwiastki[1] << endl;
- cout << "pierwiastek nr 2: " << pierwiastki[2];
- }
- break;
- case '2': //kalkulator 6-dzialaniowy
- cout << "podaj dzialanie:" << endl;
- cin >> a >> x;
- wynik = a;
- while (x != '=')
- {
- switch (x)
- {
- case '+':
- cin >> b >> x;
- if (x == '*') //dodawanie wyniku mnozenia
- {
- pom1 = b;
- while (x == '*')
- {
- cin >> a;
- pom1 = mnozenie(pom1, a);
- cin >> x;
- }
- wynik = dodawanie(wynik, pom1);
- }
- else if (x == '/') //dodawanie wyniku dzielenia
- {
- pom1 = b;
- while (x == '/')
- {
- cin >> a;
- pom1 = dzielenie(pom1, a);
- cin >> x;
- }
- wynik = dodawanie(wynik, pom1);
- }
- else if (x == '^') //dodawanie wyniku potegowania
- {
- pom1 = b;
- while (x == '^')
- {
- cin >> a;
- pom1 = potegowanie(pom1, a);
- cin >> x;
- }
- wynik = dodawanie(wynik, pom1);
- }
- else if (x == 'p') //dodawanie pierwiastka
- {
- pom1 = pierwiastkowanie(b);
- wynik = dodawanie(wynik, pom1);
- cin >> x;
- }
- else //dodawanie
- {
- wynik = dodawanie(wynik, b);
- }
- break;
- case '-':
- cin >> b >> x;
- if (x == '*') //odejmowanie wyniku mnozenia
- {
- pom1 = b;
- while (x == '*')
- {
- cin >> a;
- pom1 = mnozenie(pom1, a);
- cin >> x;
- }
- wynik = odejmowanie(wynik, pom1);
- }
- else if (x == '/') //odejmowanie wyniku dzielenia
- {
- pom1 = b;
- while (x == '/')
- {
- cin >> a;
- pom1 = dzielenie(pom1, a);
- cin >> x;
- }
- wynik = odejmowanie(wynik, pom1);
- }
- else if (x == '^') //odejmowanie wyniku potegowania
- {
- pom1 = b;
- while (x == '^')
- {
- cin >> a;
- pom1 = potegowanie(pom1, a);
- cin >> x;
- }
- wynik = odejmowanie(wynik, pom1);
- }
- else if (x == 'p') //odejmowanie pierwiastka
- {
- pom1 = pierwiastkowanie(b);
- wynik = odejmowanie(wynik, pom1);
- cin >> x;
- }
- else //odejmowanie
- {
- wynik = odejmowanie(wynik, b);
- }
- break;
- case '*': //mnozenie
- cin >> b >> x;
- wynik = mnozenie(wynik, b);
- break;
- case '/': //dzielenie
- cin >> b >> x;
- wynik = dzielenie(wynik, b);
- break;
- case '^': //potegowanie
- cin >> b >> x;
- wynik = potegowanie(wynik, b);
- break;
- case 'p': //pierwiastek kwadratowy
- cin >> x;
- wynik = pierwiastkowanie(wynik);
- break;
- case '=': //koniec dzialan
- break;
- default: //podanie zlego znaku
- cout << "podano zly znak" << endl;
- cout << "dotychczasowy wynik = " << wynik << endl;
- break;
- }
- }
- cout << "wynik koncowy: " << wynik << endl;
- break;
- case '3': //wypis informacji
- inforamcje();
- break;
- case 't': //wyjscie z programu
- cout << "koniec programu" << endl;
- break;
- case 'n': //odmowa wyjscia z programu
- break;
- default: //podanie zlego znaku
- cout << "podano zly znak. wyjsc z programu? t/n" << endl;
- break;
- }
- cout << endl << "wybierz modul: ";
- cin >> modul;
- }
- keep_window_open();
- }
Add Comment
Please, Sign In to add comment