Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Дано 2-ух-значное число. Сделать так, чтоб программа преобразовала это число в новое число кол-во десятков https://www.cyberforum.ru/ cpp-beginners/ thread728113.html
Тоесть, для примера, мы вводим число 23, а программа выводит нам 32 (числа наоборот).
структуры (Вывести информацию о самой молодой команде) C++
Информация об участниках спортивных соревнований содержит наименование страны, название команды, ФИО игрока, игровой номер, возраст, рост и вес. Вывести информацию о самой молодой команде. Visual...
C++ Дано n чисел, найти наибольшее положительное. (С++) Задача, связана с циклами. https://www.cyberforum.ru/ cpp-beginners/ thread728102.html C++ Выделить подстроку, которая соответствует записи вещественного числа с фиксированной точкой https://www.cyberforum.ru/ cpp-beginners/ thread728101.html
Дана строка символов, состоящая из букв, цифр, запятых, точек, знаков + и -. Выделить подстроку, которая соответствует записи вещественного числа с фиксированной точкойй. VIsual studio
C++ Подсчет количества файлов
Составить программу, которая посчитает количество файлов и выведет их список на экран в папке, где она лежит, и всех подпапках. google поиск: 1. рекурсии. 2 работа с файловой системой. 3 winAPI.
C++ Даны длины сторон треугольника, определить тип этого треугольника Даны длины сторон треугольника, определить тип этого треугольника https://www.cyberforum.ru/ cpp-beginners/ thread728096.html
C++ Вычислить количество элементов массива, не меньших элемента с заданным номером, значение номера вводить с клавиатуры. Вычислить количество элементов массива, не меньших элемента с заданным номером, значение номера вводить с клавиатуры. Данная программа не корректно считает количествоэлементов,помогите исправить... https://www.cyberforum.ru/ cpp-beginners/ thread728090.html C++ Составить программу подсчета числа всех натуральных чисел, меньших M
Составить программу подсчета числа всех натуральных чисел, меньших M, квадрат суммы цифр которых равен X.
C++ Мономорфный класс https://www.cyberforum.ru/ cpp-beginners/ thread728077.html
Кто-нибудь может объяснить значение термина мономорфный класс? Весь интернет целиком молчит по жанному поводу, не давая каких либо вразумительных ответов. Я знаком с основными концепциями ООП такими...
C++ Если первое из введенных с клавиатуры чисел А и В равно 5, то вычислить А+В, в противном случае получить А/В. Ребят спасайте срочно,завтра зачёт автоматом должен получить,а тут мне подкинули задание на С++,в то время как я изучал Паскаль.Вот задание: . Если первое из введенных с клавиатуры чисел А и В... https://www.cyberforum.ru/ cpp-beginners/ thread728074.html
Как с текстовой строкой сделать следующее ? C++
С клавиатуры вводится текстовая строка, нужно посчитать количество цифр в ней, вывести на экран слова начинающиеся с согласных букв, и уничтожить слова которые начинаются и заканчиваются на одну и ту...
C++ из четырех числа а1,а2,а3, и а4 одно отличается от трех других, равных между собой; присвоить номер этого числа переменной n https://www.cyberforum.ru/ cpp-beginners/ thread728069.html
Известно, что из четырех числа а1,а2,а3, и а4 одно отличается от трех других, равных между собой; присвоить номер этого числа переменной n Добавлено через 14 часов 28 минут народ(((
0 / 0 / 0
Регистрация: 15.10.2012
Сообщений: 100
0

Использование остатка от деления Оо - C++ - Ответ 3841197

11.12.2012, 21:19. Показов 353. Ответов 0
Метки (Все метки)

Ребят, у меня задание. Написать программу, которая будет обладать классом для перевода фунтов стоуны, который будет иметь функции перегруженных операторов сложения, вычитания и умножения, а также вывода информации на экран в двух режимах. Вот код:
Сам класс:
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
#ifndef _STONEWT_H_
#define _STONEWT_H_
class Stonewt
{
private:
    enum    {Lbs_per_stn=14};
    int stone;
    double pds_left;
    double pounds;
    char mode;
public:
    Stonewt(double lbs,char form='p');
    Stonewt(int stn,double lbs,char form='p');
    Stonewt();
    ~Stonewt();
    void pounds_mode();
    void stone_mode();
    operator int() const;
    operator double() const;
    Stonewt operator+(const Stonewt &st) const;
    Stonewt operator-(const Stonewt &st) const;
    Stonewt operator*(double n) const;
    friend ostream & operator<<(ostream& os,const Stonewt & st);
};
#endif
Описание его методов:
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#include <iostream>
using namespace std;
#include "Stonewt.h"
Stonewt::Stonewt(double lbs,char form)
{
    stone=int(lbs)/Lbs_per_stn;
    pds_left=int(lbs)%Lbs_per_stn+lbs-int(lbs);
    pounds=lbs;
}
Stonewt::Stonewt(int stn, double lbs,char form)
{
    stone=stn;
    pds_left=lbs;
    pounds=stn*Lbs_per_stn+lbs;
}
Stonewt::Stonewt()
{
    stone=0;
    pounds=0;
    pds_left=0;
}
Stonewt::~Stonewt()
{
}
void Stonewt::pounds_mode()
{
    mode='p';
}
void Stonewt::stone_mode()
{
    mode='s';
}
Stonewt::operator int() const
{
    return int(pounds+0.5);
}
Stonewt::operator double() const
{
    return pounds;
}
Stonewt Stonewt::operator+(const Stonewt &st) const
{
    Stonewt sum;
    sum.pounds=pounds+sum.pounds;
    sum.stone=stone+st.stone+sum.pounds/Lbs_per_stn;
    sum.pounds%=Lbs_per_stn;
}
Stonewt Stonewt::operator -(const Stonewt &st) const
{
    Stonewt diff;
    int tot1,tot2;
    tot1=pounds+stone*Lbs_per_stn;
    tot2=st.pounds+st.stone*Lbs_per_stn;
    diff.pounds=(tot1-tot2)%Lbs_per_stn;
    diff.stone=(tot1-tot2)/Lbs_per_stn;
    return diff;
}
Stonewt Stonewt::operator *(double n) const
{
    Stonewt multip;
    double totalpounds=stone*Lbs_per_stn*n+pounds*n;
    multip.stone=totalpounds/Lbs_per_stn;
    multip.pounds=totalpounds%Lbs_per_stn;
    return multip;
}
ostream & operator <<(ostream & os,const Stonewt &t)
{
    if(t.mode=='s')
        os<<t.stone<<" stones, "<<t.pounds<<" pounds.\n";
    else if(t.mode=='p')
        os<<t.pounds<<" pounds.\n";
    return os;
}
И небольшая программка для тестирования возможностей класса:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
using namespace std;
#include "Stonewt.h"
int main()
{
    Stonewt jackie=Stonewt(250.6);
    Stonewt dave=Stonewt(13,5,'s');
    cout<<jackie;
    jackie.stone_mode();
    cout<<jackie;
    jackie.pounds_mode();
    Stonewt catie;
    cout<<catie;
    catie=jackie-dave;
    cout<<catie;
    catie=jackie+dave;
    cout<<catie;
    system("pause");
    return 0;
}
Прога выбивает ошибку и жалуется на использование операции остатка от деления. Че за фигня? и что самое странное, я использую эту операцию три раза, а она жалуется только два как это исправить вообще? и у меня кстати какая-то проблема с функцией перегрузки оператора умножения, так как она тоже не работает. Но на данный момент это не так важно, и меня волнует именно то, что прога не работает вообще Помогите, люди добрые!

Вернуться к обсуждению:
Использование остатка от деления Оо C++
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.12.2012, 21:19
Готовые ответы и решения:

С помощью операций деления нацело и взятия остатка от деления определить, имеется ли в записи числа N цифра 2
//Дано целое число N(&gt; 0).С помощью операций деления нацело и взятия остатка от деления определить,...

Используя операции деления нацело и взятия остатка от деления, определить, имеется ли в записи числа цифра k
Полное условие: Дано натуральное число n. Используя операции деления нацело и взятия остатка от...

Дано целое число N(>0).используя операции деления нацело и взятия остатка от деления, найти количество и сумму его цифр
Дано целое число N(&gt;0).используя операции деления нацело и взятия остатка от деления, найти ...

Используя одну операцию деления нацело и одну операция взятия остатка от деления найти цифру. соответствующую разряду ты
Дано целое число, большое 999. Используя одну операцию деления нацело и одну операция взятия...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.12.2012, 21:19
Помогаю со студенческими работами здесь

Как определить, делится ли число на «3» без остатка, не используя деления и определения остатка от деления
Написать подпрограмму, которая определяет, делится ли число на «3» без остатка, не используя...

Операцией деления нацело и взятия остатка от деления определить есть ли в числе цифра 0
Дано целое число N (&gt; 0).С помощью операцией деления нацело и взятия остатка от деления определить,...

Используя операции деления нацело и взятия остатка от деления, вывести все цифры числа
Дано целое число N (&gt; 0). Используя операции деления нацело и взятия остатка от деления, вывести...

Используя операции деления нацело и взятия остатка от деления, вывести все цифры числа
Дано целое число N (&gt; 0). Используя операции деления нацело и взятия остатка от деления, вывести...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru