Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

C++- ułamek niewłaściwy, praca domowa na jutro

Ostatnio zmodyfikowano 2020-12-17 00:02
Autor Wiadomość
AndrzejOrnitolog
Temat założony przez niniejszego użytkownika
C++- ułamek niewłaściwy, praca domowa na jutro
» 2020-12-16 21:05:07
Witam,
Posiadam program, który teoretycznie dodaje 3 ułamki. Sprawa jest taka, że jak jest ułamek niewłaściwy, to musi wyciągać liczby całe. Potrzebuje to na dzisiaj lub jutro rano, jest to dosyć pilna sprawa, proszę pomóżcie mi :)
To jest to, co na razie mam..
C/C++
#include<iostream>
using namespace std;

int NWD( int a, int b, int c )
{
   
int i;
   
while( b != 0 )
   
{
       
i = b;
       
b = a % b;
       
a = i;
       
c = b % c;
       
c = i;
   
}
   
return a;
}

int NWW( int a, int b, int c )

{
   
return a / NWD( a, b, c ) * b;
}

int main()
{
   
int l1, l2, l3, m1, m2, m3, c1, c2, c3, licznik, mianownik, d;
   
   
cout << "Podaj cala liczbe przed pierwszym ulamkiem ( jezeli nie ma wpisz 0)  ";
   
cin >> c1;
   
cout << "Podaj licznik pierwszego ulamka: ";
   
cin >> l1;
   
cout << "Podaj mianownik pierwszego ulamka: ";
   
cin >> m1;
   
   
cout << "Podaj cala liczbe przed drugim ulamkiem (jezeli nie ma wpisz 0):  ";
   
cin >> c2;
   
cout << "Podaj licznik drugiego ulamka: ";
   
cin >> l2;
   
cout << "Podaj mianownik drugiego ulamka: ";
   
cin >> m2;
   
   
cout << "Podaj cala liczbe przed trzecim ulamkiem (jezeli nie ma wpisz 0)";
   
cin >> c3;
   
cout << "Podaj licznik trzeciego ulamka: ";
   
cin >> l3;
   
cout << "Podaj mianownik trzeciego ulamka: ";
   
cin >> m3;
   
   
   
mianownik = NWW( m1, m2, m3 );
   
licznik =( mianownik / m1 ) * l1 +( mianownik / m2 ) * l2 +( mianownik / m3 ) * l3;
   
d = c1 + c2 + c3;
   
cout << c1 << l1 << "/" << m1 << " + " << c2 << l2 << "/" << m2 << " + " << c3 << l3 << "/" << m3 << " = " << d << licznik << "/" << mianownik;
   
return 0;
}
.



P-177858
nanoant20
» 2020-12-17 00:02:42
//edit
dodałem literkę "i" pomiedzy całością a ułamkiem dla przejrzystości
dobrze by było zabezpieczyć przed podawaniem 0 w mianowniku
C/C++
d = c1 + c2 + c3;
cout << c1 << " i " << l1 << "/" << m1 << " + " << c2 << " i " << l2 << "/" << m2 << " + " << c3 << " i " << l3 << "/" << m3 << " = "
<< d << " i " << licznik << "/" << mianownik;
//dopisz
cout << " = ";
if( licznik > mianownik )
{
   
cout << d + licznik / mianownik;
   
if(( licznik % mianownik ) != 0 )
   
{
       
cout << " i " << licznik % mianownik << "/" << mianownik << endl;
   
} else cout << endl;
   
}
P-177859
« 1 »
  Strona 1 z 1