Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.11.2017, 12:00   #1
ILUXA 19
 
Регистрация: 12.11.2017
Сообщений: 5
По умолчанию [C++] Перегрузка функций

Написать перегруженные функции и основную программу, которая их вызывает.

а) для умножения десятичных дробей;

б) для умножения обыкновенных дробей.

Вот мой код(писал все сам), выдает ошибки е могу понять что исправить

#include <iostream>
Код:
#include <math.h>
using namespace std;
struct ratio{
    int m , n;
}
ratio add( point a, point b)
{
    point c;
    c.m = a.m * b. m;
    c.n = a.n * b.n;
    return c;
}
float add ( float a, float b)
{
float c;
c= a * b;
return c;
}
 int main()
 {
   setlocale (LC_ALL , ("Rus"));
   ratio a, ratio b;
   float f, float l;
   cout<<"Введите числитель и знаменатель первой дроби"<<a.m<<a.n<<endl;
   cout<<"Введите числитель и знаменатель второй дроби"<<b.m<<b.n<<endl;
   cout <<" Результат умножения обыкновенной дроби"<< add( a ,b)<<endl;
   cout<<" Введите первую и вторую десятичную дробь" << f << l<<endl;
   cout<< "Результат"<<add ( f, l)<<endl;   
cin.get():
return 0;
}
Подскажите пожалуйста, что нужно сделать!

Последний раз редактировалось Вадим Мошев; 19.11.2017 в 21:36.
ILUXA 19 вне форума Ответить с цитированием
Старый 19.11.2017, 12:14   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Начните по порядку:
Код:
ratio add( point a, point b)
{
point c;
c.m = a.m * b. m;
c.n = a.n * b.n;
return c;
}
Кто такой point? Почему возвращаете point, когда функция должна возвращать ratio? Они приводятся?
p51x вне форума Ответить с цитированием
Старый 19.11.2017, 12:58   #3
ILUXA 19
 
Регистрация: 12.11.2017
Сообщений: 5
По умолчанию

Я и не прошу решить за меня, я прошу указать на ошибки. point на ratio я исправил, но программа не работает.
ILUXA 19 вне форума Ответить с цитированием
Старый 19.11.2017, 13:00   #4
СтудПом
Форумчанин
 
Регистрация: 08.11.2017
Сообщений: 347
По умолчанию

Цитата:
Сообщение от ILUXA 19 Посмотреть сообщение
выдает ошибки е могу понять что исправить

Подскажите пожалуйста, что нужно сделать!
-показать текст или скриншот этой ошибки
Ваш КО!
СтудПом вне форума Ответить с цитированием
Старый 19.11.2017, 13:07   #5
ILUXA 19
 
Регистрация: 12.11.2017
Сообщений: 5
По умолчанию

Цитата:
Сообщение от СтудПом Посмотреть сообщение
-показать текст или скриншот этой ошибки
Ваш КО!
Вот такая ошибка:
Изображения
Тип файла: jpg Безымянный.jpg (82.9 Кб, 134 просмотров)
ILUXA 19 вне форума Ответить с цитированием
Старый 19.11.2017, 13:43   #6
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Вам же прямым текстом написали, что << не знает как выводить ваш ратио
Код:
<< add( a ,b)
p51x вне форума Ответить с цитированием
Старый 19.11.2017, 14:09   #7
ILUXA 19
 
Регистрация: 12.11.2017
Сообщений: 5
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Вам же прямым текстом написали, что << не знает как выводить ваш ратио
Код:
<< add( a ,b)
А что нужно сделать, чтобы он выводил его?
ILUXA 19 вне форума Ответить с цитированием
Старый 19.11.2017, 14:35   #8
СтудПом
Форумчанин
 
Регистрация: 08.11.2017
Сообщений: 347
По умолчанию

Цитата:
Сообщение от ILUXA 19 Посмотреть сообщение
А что нужно сделать, чтобы он выводил его?
-перегрузить оператор потока << для выводимого типа или, проще - выводить отдельные поля, они вроде у вас нативные.
СтудПом вне форума Ответить с цитированием
Старый 19.11.2017, 14:55   #9
ILUXA 19
 
Регистрация: 12.11.2017
Сообщений: 5
По умолчанию

Цитата:
Сообщение от СтудПом Посмотреть сообщение
-перегрузить оператор потока << для выводимого типа или, проще - выводить отдельные поля, они вроде у вас нативные.
А можно в виде кода? я просто не совсем понимаю, что значит выводить отдельные поля, и что значит нативные?
ILUXA 19 вне форума Ответить с цитированием
Старый 19.11.2017, 15:04   #10
СтудПом
Форумчанин
 
Регистрация: 08.11.2017
Сообщений: 347
По умолчанию

Код:
cout << переменная.первое_поле_переменной << переменная.второе_поле_переменной
Нативный - то, что предопределено языком или системными библиотеками.
Если вы создаёте тип (запись, массив) то стандартный поток не понимает как их печатать, он "знает" только целые, вещественные типы, массивы символов и т.п., т.е. то, что уже заложено разработчиками компилятора и IDE.
СтудПом вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перегрузка функций RAFA91 Общие вопросы C/C++ 2 22.08.2015 16:35
Перегрузка функций. MrRuslanBB Помощь студентам 1 14.03.2013 16:45
c++ перегрузка функций pdesyatnyk Помощь студентам 2 13.12.2012 17:55
Си++ перегрузка функций гость* Помощь студентам 1 28.10.2012 18:39
перегрузка функций Snake_ua Общие вопросы Delphi 3 26.11.2007 10:54