Co zrobić żeby program skracał ułamki? np. po wykonaniu działania 2/10 + 4/10 = 6/10 program skróci ten ułamek do jak najprostszej formy, czyli 3/5
#include <iostream>
using namespace std;
int nwd_odejmowanie (int a, int b)
{
while (a!=b)
if (a>b) a-=b;
else b-=a;
return a;
}
void dodawanie (int l1, int m1, int l2, int m2)
{
int nww;
nww=m1*m2/nwd_odejmowanie(m1, m2);
cout<<endl;
cout<<l1<<"/"<<m1<<" + "<<l2<<"/"<<m2<<" = "<<nww/m1*l1<<"/"<<nww<<" + "<<nww/m2*l2<<"/"<<nww<<" = "<<(nww/m1*l1)
+(nww/m2*l2)<<"/"<<nww;
cout<<endl;
return;
}
void odejmowanie (int l1, int m1, int l2, int m2)
{
int nww;
nww=m1*m2/nwd_odejmowanie(m1, m2);
cout<<endl;
cout<<l1<<"/"<<m1<<" - "<<l2<<"/"<<m2<<" = "<<nww/m1*l1<<"/"<<nww<<" - "<<nww/m2*l2<<"/"<<nww<<" = "<<(nww/m1*l1)
-(nww/m2*l2)<<"/"<<nww;
cout<<endl;
return;
}
void mnozenie (int l1, int m1, int l2, int m2)
{
cout<<l1<<"/"<<m1<<" x "<<l2<<"/"<<m2<<" = "<<(l1*l2)<<"/"<<(m1*m2);
cout<<endl;
return;
}
void dzielenie (int l1, int m1, int l2, int m2)
{
cout<<l1<<"/"<<m1<<" : "<<l2<<"/"<<m2<<" = "<<(l1*m2)<<"/"<<(m1*l2);
cout<<endl;
return;
}
int main()
{
int l1; int l2; int m1; int m2;
int dzialanie;
int kontynuacja;
do
{
cout<<"Podaj licznik ";
cin>>l1;
cout<<"Podaj mianownik ";
cin>>m1;
cout<<"Podaj liczik ";
cin>>l2;
cout<<"Podaj mianownik ";
cin>>m2;
cout<<"Wybierz jakie dzialanie chcesz wykonac: 1-dodawanie, 2-odejmowanie, 3-mnozenie, 4-dzielenie"<<endl;
cin>>dzialanie;
if (dzialanie==1)
{
dodawanie(l1,m1,l2,m2);
cout<<"Czy chcesz kontunuowac? 1-tak 2-nie";
cin>>kontynuacja;
cout<<endl;
}
else
if (dzialanie==2)
{
odejmowanie(l1,m1,l2,m2);
cout<<"Czy chcesz kontunuowac? 1-tak 2-nie";
cin>>kontynuacja;
cout<<endl;
}
else
if (dzialanie==3)
{
mnozenie(l1,m1,l2,m2);
cout<<"Czy chcesz kontunuowac? 1-tak 2-nie";
cin>>kontynuacja;
cout<<endl;
}
else
if (dzialanie==4)
{
dzielenie(l1,m1,l2,m2);
cout<<"Czy chcesz kontunuowac? 1-tak 2-nie";
cin>>kontynuacja;
cout<<endl;
}
else
{
cout<<endl<<"Wprowadziles zle dzialanie"<<endl;
cout<<"Czy chcesz kontynuowac? 1-tak 2-nie";
cin>>kontynuacja;
cout<<endl;
}
}
while (kontynuacja==1);
}