Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stdafx.h"
- #include <fstream>
- #include <iostream>
- #include <cstdlib>
- #include <cmath>
- using namespace std;
- class ulamek
- {
- public:
- int licznik;
- int mianownik;
- public:
- ulamek(int licz, int mian);
- };
- ulamek::ulamek(int licz, int mian)
- {
- licznik = licz;
- mianownik = mian;
- }
- //funkcja wyswietla ulamek w formie mieszanej
- int mieszany(int l, int m)
- {
- int wyn, reszt;
- wyn = (l/m);
- reszt = l%m;
- cout << wyn << "+" << reszt << "/" << m << endl;
- return 0;
- }
- //funkcja wyswietla ulamek w formie dziesietnej
- int dziesietny(int l, int m)
- {
- double wyn = (double)l / (double) m;
- cout << wyn << endl;
- return 0;
- }
- //funkcja, która powinna skracac ulamek
- int skroc(int licz1, int mian1)
- {
- if(licz1 >0 && mian1 >0)
- {
- int l=licz1;
- int m=mian1;
- while (l != m)
- {
- if (l > m)
- l = l-m;
- else
- m = m-l;
- }
- licz1 = licz1 / l;
- mian1 = mian1 / l;
- }
- if ( licz1 <0 && mian1 >0)
- {
- int l = -1* licz1;
- int m=mian1;
- while (l != m)
- {
- if (l > m)
- l = l-m;
- else
- m = m-l;
- }
- licz1 = licz1 / l;
- mian1 = mian1 / l;
- }
- if (licz1 <0 && mian1 <0)
- {
- int l=-1*licz1;
- int m=-1*mian1;
- while (l != m)
- {
- if (l > m)
- l = l-m;
- else
- m = m-l;
- }
- licz1 = licz1 / l;
- mian1 = mian1 / l;
- }
- if (licz1 >0 && mian1 <0)
- {
- int l=licz1;
- int m=-1 *mian1;
- while (l != m)
- {
- if (l > m)
- l = l-m;
- else
- m = m-l;
- }
- licz1 = licz1 / l;
- mian1 = mian1 / l;
- cout << licz1 << "/" << mian1 << endl;
- return 0;
- }
- }
- int main(int argc, char* argv[])
- {
- int a,b,z;
- a=0;
- b=0;
- char c;
- //wczytywanie danych z pliku
- fstream plik("ulamki.txt", fstream::in);
- plik >> a >> c >> b;
- plik.close();
- ulamek pierwszy(a,b);
- cout << pierwszy.licznik;
- cout << "/";
- cout << pierwszy.mianownik;
- cout << endl;
- //wczytywanie danych do pliku
- fstream plik2("ulamki2.txt", fstream::out);
- plik2 << a << c << b;
- plik2.close();
- ulamek drugi(a,b);
- //mieszany wywolanie
- mieszany(pierwszy.licznik,pierwszy.mianownik);
- //dziesietny wywolanie
- dziesietny(pierwszy.licznik,pierwszy.mianownik);
- //kalkulator
- cout << "Wybierz jakie dzialanie chcesz wykonac:\n[1]Dodawanie\n[2]Odejmowanie\n[3]Mnozenie\n[4]Dzielenie\n[5]Potegowanie\n[6]Pierwiastkowanie\n";
- cin >> z;
- cout << "\n";
- switch(z)
- {
- case 1 :{ cout << "\nWynik: " << (pierwszy.licznik / pierwszy.mianownik) + (drugi.licznik / drugi.mianownik)<< "\n" ; break;}
- case 2 :{ cout << "\nWynik: " << (pierwszy.licznik / pierwszy.mianownik) - (drugi.licznik / drugi.mianownik) << "\n" ; break;}
- case 3 :{ cout << "\nWynik: " << (pierwszy.licznik / pierwszy.mianownik) * (drugi.licznik / drugi.mianownik) << "\n" ; break; }
- case 4 :{
- if((drugi.licznik / drugi.mianownik)==0)
- cout << "NIE DZIEL PRZEZ 0!";
- else
- cout << "\nWynik: " << (pierwszy.licznik / pierwszy.mianownik) / (drugi.licznik / drugi.mianownik) << "\n" ; break;}
- case 5 : { cout << "\nWynik: " << (pierwszy.licznik / pierwszy.mianownik) * (pierwszy.licznik / pierwszy.mianownik) << "\n" ; break;}
- case 6 : { cout << "\nWynik: " << sqrt((double)(pierwszy.licznik / pierwszy.mianownik)) << "\n" ; break;}
- default : {cout << "PODAJ POPRAWNA WARTOSC!\n"; break;}
- }
- skroc(pierwszy.licznik, pierwszy.mianownik);
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement