Форум программистов, компьютерный форум CyberForum.ru

Не могу разобраться как работает программа(сложение дробей) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Чтение строк из файла http://www.cyberforum.ru/cpp-beginners/thread129711.html
Мне нужно читать строки из фалйа разной длинны аа вввввввввввввв аааав тоесть может быть вобще пустая строка. нужно именно c++ не c
C++ Последовательность слово симметричное Дана последовательность, имеющая от 2 до 50 слов, в каждом из которых от 1 до 8 рядковых латинских букв, между соседними словами не меньше одного пропуска, за последним словом - точка. Напечатать те слова последовательности, которые отличаються от последнего слова и включают способность: слово симетричное Можете пожалуйста к готовой программе добавить проверку на отличие от последнего слова... http://www.cyberforum.ru/cpp-beginners/thread129702.html
C++ Создание поля ввода даты
Надо создать поле ввода даты (меню) у меня несколько проблем-переключение(стрелками), выход и тп только по двойному нажатию клавиши, с экрана ничего не вводится.. + постоянно фиксирует ошибку в функции VvodD. не подскажете где ошибки и как их устранить? #include <process.h> #include <stdlib.h> #include <conio.h> #include <string.h>
где скачать turbo c++ ??? C++
где скачать turbo c++ ???
C++ Проги на двумерные массивы http://www.cyberforum.ru/cpp-beginners/thread129665.html
Здравствуйте Все! Если кто может, нужно решить две задачи или хотя бы подсказать принцип действия ,или часть проги.:):):) Задача№1: Известно,что в Москве самыми теплыми являются дни с 15 июля по 15 августа. Для проведения фестиваля были выбраны 7 следующих подряд дней, наиболее теплых по данным за последние 10 лет. Составить программу для выполнения этой работы на ЭВМ. Указания: Исходные...
C++ Структуры в С++ Здравствуйте! Помогите с решением пожалуйста...запись структурированной информации в файлы Структура "Автомобиль": - марка; - год выпуска; - цена; - цвет. Удалить все элементы, у которых год выпуска меньше заданного. Добавить элемент с номером К подробнее

Показать сообщение отдельно
Lotles
 Аватар для Lotles
1 / 1 / 0
Регистрация: 29.12.2009
Сообщений: 167
14.05.2010, 19:04     Не могу разобраться как работает программа(сложение дробей)
Допустим ввели :
Числитель первой дроби 1
Знаменатель первой дроби 2
Числитель второй дроби 3
Знаменатель второй дроби 4
Код
#include "stdafx.h"
#include <conio.h>
using namespace std;
class Fraction{
private:
	int num,den;
public:
	void  Fraction::set(int n, int d){
		num = n;
		den = d;
		normalize();
	}
	int Fraction::get_num(){
		return num;
	}
	int Fraction::get_den(){
		return den;
	}
	int Fraction::lcm(int a, int b){
		return(a/gcf(a,b))*b;
	}
	Fraction Fraction::add(Fraction other){
		Fraction fract;
		int lcd=lcm(den, other.den);
		cout << "den = " << den << endl; // Почему  здесь 2
		cout << "other den = " << other.den << endl; 
		int quot1=lcd/den;
		int quot2=lcd/other.den;
		fract.set(num*quot1+other.num*quot2,lcd);
		fract.normalize();
		return fract;
	}
	Fraction Fraction::mult(Fraction other){
		Fraction fract;
		fract.set(num*other.num,den*other.den);
		fract.normalize();
		return fract;
	}

private:
	void Fraction::normalize(){
		if (den==0 || num==0){
			num = 0;
			den = 1;
		}
		if (den < 0){
			num *= -1;
            den *= -1;
		}
		int n = gcf(num, den);
		num = num/n;
		den = den /n;
	}

	int Fraction::gcf(int a, int b){
		if (a%b==0)
			return abs(b);
		else
			return gcf(b, a%b);
	}
};
int main(){
	Fraction fract1,fract2,fract3;
	int a,a1,b,b1;
	cout << "Vvedite chislitel pervoy drobi: ";
	cin >> a;
	cout << "Vvedite znamenatel pervoy drobi: ";
	cin >> b;
	cout << "Vvedite chislitel vtoroy drobi: ";
	cin >>a1;
	cout << "Vvedite znamenatel vtoroy drobi: ";
	cin >>b1;

		fract1.set(a,b);
		fract2.set(a1,b1);
		fract3=fract1.add(fract2);
		cout << a << "/" << b << " plus " << a1 << "/" << b1 << " = ";
		cout << fract3.get_num() << "/" << fract3.get_den();
		cout << endl;
}

Тут вроде
fract1.set(a,b);// den=2
fract2.set(a1,b1);// Здесь вроде должна затираться den и равняться 4
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 21:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru