Написать программу, которая хранит значения двух дробей в виде числителя и знаменателя

Задача: Напишите программу, которая хранит значения двух дробей в виде числителя и знаменателя, а затем складывает эти дроби согласно арифметическому правилу. Значения дробей сохранить в структуре drob, состоящей из двух полей типа int, предназначенной для хранения числителя и знаменателя.

Листинг(исходник) программы:


#include <iostream>
#include <locale>
using namespace std;

void main()
{
setlocale(LC_ALL,"Russian");
struct DROB
{
int Chislitel;
int Znamenatel;
};
DROB *A = new DROB;
DROB *B = new DROB;
DROB *C = new DROB;
cout<<"Введите первую дробь в виде числителя и знаменателя через пробел: ";
cin>>A->Chislitel>>A->Znamenatel;
cout<<"\\nВведите вторую дробь в виде числителя и знаменателя через пробел: ";
cin>>B->Chislitel>>B->Znamenatel;

if(B->Znamenatel != A->Znamenatel)
{
C->Znamenatel = B->Znamenatel + A->Znamenatel;
int tempChisA = A->Chislitel * B->Znamenatel;
int tempChisB = B->Chislitel * A->Znamenatel;
C->Chislitel = tempChisA + tempChisB;
}
else if(B->Znamenatel == A->Znamenatel)
{
C->Chislitel = A->Chislitel + B->Chislitel;
C->Znamenatel = A->Znamenatel;
}
if( (C->Chislitel % C->Znamenatel) == 0)
{
C->Chislitel = C->Chislitel / C->Znamenatel;
C->Znamenatel /= C->Znamenatel;
}

cout<<"\\nОтвет: "<< C->Chislitel<<\'/\'<< C->Znamenatel<<endl; // Ответ

delete A;
delete B;
delete C;
system("pause");
}

Автор: Павел Кадыров

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *