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

Исправить ошибки в классе Fraction - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вычислить сумму и произведение для указанного кол-ва её аргументов http://www.cyberforum.ru/cpp-beginners/thread838334.html
Срочно помогите представить программу иллюстрирующую косвенный вызов функции и позволяющую вычислить сумму и произведение для указанного кол-ва её аргументов Добавлено через 9 минут хотя бы часть программы
C++ Матрицы. Указать индексы элемента с найденным значением. Отсортировать матрицу по убыванию Дана действительная матрица размера n*m, все элементы которой различны. В каждой строке выбирается элемент с наименьшим значением. Затем среди этих чисел выбирается наибольшее, указать индексы элемента с найденным значением. Отсортировать матрицу по убыванию. Проблема в том, что я понятия не имею как вот это вот написать.. Если кому будет не трудно, помогите пожалуйста.. http://www.cyberforum.ru/cpp-beginners/thread838332.html
разработать собственный алгоритм шифрования и его реализацию C++
разработать собственный алгоритм шифрования и его реализацию
найдите ошибку в сортировке по возрастанию) C++
#include "stdafx.h" // подключение файла перекомпилированного заголовка #include "iostream" // подключение библиотеки ввод/вывод #include "math.h" // подключение библиотеки тригонометрических функций using namespace std; void main(void) // головная программа { setlocale (0, "Rus"); // русский язык abc: // метка для повтора
C++ Решение уравнений типа f(x) =0 методом простых итераций с точностью до 10 в -6 степени http://www.cyberforum.ru/cpp-beginners/thread838295.html
Ребят помогите написать программу на С++ для решения уравнений:x+ lgx = 0,5 и x^3 + 0,4*x^2 + 0,6*x – 1,6 = 0 Нужно найти действительные корни уравнения с точность до 10^-6. Буду очень благодарен!!!
C++ Чтение из файла Всем привет! чёт я не могу разобраться! есть файл 1.txt с содержимым: 1 0 0 1 0 0 1 1 0 0 1 0 0 1 1 0 0 1 0 0 1 1 0 0 1 0 0 1 1 0 0 1 0 0 1 1 0 0 1 0 0 1 1 0 0 1 0 0 1 подробнее

Показать сообщение отдельно
SleeperHD
0 / 0 / 0
Регистрация: 21.12.2012
Сообщений: 5

Исправить ошибки в классе Fraction - C++

15.04.2013, 12:57. Просмотров 417. Ответов 2
Метки (Все метки)

Требуется создать класс Fraction с двумя закрытыми переменными: числитель и знаменатель дроби (целые числа). Написать методы:
1. Конструктор без параметров
2. Перегрузите оператор =.
3. Перегрузите операторы - и / для сложения и умножения дробей.
4. Организуйте ввод и вывод дроби, перегрузив операторы << и >> для потокового ввода/вывода.
Используя класс Fraction написать программу, которая запрашивает у пользователя две обыкновенные дроби, вычисляет их разность и частное и выводит результаты на консоль.

В общем то все это я сделал, но при делении программа делит результат разности на вторую дробь, в чем проблема - никак не разберусь. Также требуется содержать это все в трех файлах: функция main, сам класс с прототипами методов, файл с описанием методов и операторов.

1) main
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include "Fraction.h"
int main()
{
    setlocale (LC_ALL, "Russian");
    Fraction a,b;
    cout << "Введите дробь 1:"; 
    cin>>a;
    cout << "Введите дробь 2:";
    cin>>b;
    cout<<"Разность: "<<a-b<<endl;
    cout<<"Частное: " <<a/b<<endl;
}
2) класс
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#pragma once
#include <iostream>
using namespace std;
class Fraction
{
private: int n,d;
public:
    
    Fraction();
    Fraction& operator=(Fraction& x);
    Fraction& operator-(Fraction& v);
    Fraction& operator/(Fraction& u);
    friend ostream& operator << (ostream& out, Fraction &f);
    friend istream& operator >> (istream& in, Fraction &f);
};
3) методы и операторы
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include "Fraction.h"
 
 
Fraction::Fraction(): n(0),d(0) {}
Fraction& Fraction::operator=(Fraction& x)
{
n = x.n;
d = x.d;
return *this;
}
Fraction& Fraction::operator-(Fraction& v)
 {
    
n= n*v.d-d*v.n;
d= d*v.d;
return *this;
 
}
 Fraction operator-(Fraction& n,Fraction& d)
{
    return Fraction(n) - d; 
};
 Fraction& Fraction::operator/(Fraction& u)
  {
      n=n*u.d;
      d=d*u.n;
      return *this;
  }
  Fraction operator/(Fraction& n,Fraction& d)
{
    return Fraction(n) / d; 
};
    ostream& operator << (ostream& out, Fraction &f)
{
out<<f.n<<'/'<<f.d;
return out;
}
    istream& operator >> (istream& in, Fraction &f)
{
char ch;
in>>f.n>>ch>>f.d;
return in;
 
}
Помогите пожалуйста, завтра сдавать
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 11:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru