Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Yuri Matveichuk
0 / 0 / 0
Регистрация: 25.04.2014
Сообщений: 13
#1

Пошаговый алгоритм выполнения программы

30.04.2014, 14:13. Просмотров 451. Ответов 8
Метки нет (Все метки)

Составьте пожалуйста пошаговый алгоритм выполнения( тема : Перегрузка операций - тут бинарное сложение)

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
#include <iostream>
using namespace std;
///////////////////////////////////////////////////////////
class Distance // класс английских мер длины
{
private:
    int feet;
    float inches;
public:
    // конструктор без параметров
    Distance ( ) : feet ( 0 ), inches ( 0.0 )
    { }
    // конструктор с двумя параметрами
    Distance ( int ft, float in ) : feet ( ft ), inches ( in )
    { }
    // получение информации or пользователя
    void getdist ( )
    {
        cout << "\nVvedite futbl: "; cin >> feet;
        cout << "Vvedite duimbl: "; cin >> inches;
    }
    // показ информации
    void showdist ( )
    {
        cout << feet << "'-" << inches << "''"; }
    // сложение двух длин
    Distance operator+ ( Distance );
};
///////////////////////////////////////////////////////////
// сложение двух длин
Distance Distance::operator+ ( Distance d2 )
{
    int f = feet + d2.feet; // складываем футы
    float i = inches + d2.inches; // складываем дюймы
    if ( i >= 12.0 ) // если дюймов стало больше 12
    {
        i -= 12.0; // то уменьшаем дюймы на 12
        f++; // и увеличиваем футы на 1
    }
    return Distance (f, i); // создаем и возвращаем временную переменную
}
///////////////////////////////////////////////////////////
int main ( )
{
    Distance dist1, dist3, dist4; // определяем переменные
    dist1.getdist ( ); // получаем информацию
    Distance dist2 ( 11, 6.25 ); // определяем переменную со значением
    dist3 = dist1 + dist2; // складываем две переменные
    dist4 = dist1 + dist2 + dist3; // складываем несколько переменных
    // показываем, что же у нас получилось
    cout << "dist1 = "; dist1.showdist ( ); cout << endl;
    cout << "dist2 = "; dist2.showdist ( ); cout << endl;
    cout << "dist3= "; dist3.showdist ( ); cout << endl;
    cout << "dist4 = "; dist4.showdist ( ); cout << endl;
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.04.2014, 14:13
Ответы с готовыми решениями:

Алгоритм выполнения команды описаный в XML
Программа выполняет команды введенные пользователем. Необходимо сделать так что...

Алгоритм Евклида, показать время выполнения алгоритма
Есть такой код: #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;time.h&gt; ...

Приостановка выполнения программы
Подскажите пожалуйста, можно ли в си как-нибудь реализовать приостановку...

Очерёдность выполнения программы
Опишу проблему в общих чертах: Пишу на C++ Есть программа, которая должна...

Последовательность выполнения программы
Добрый день, форумчане. Я бы хотел спросить такую вещь, код выполняется...

8
Kuzia domovenok
Нарушитель
2243 / 2012 / 457
Регистрация: 25.03.2012
Сообщений: 7,083
Записей в блоге: 1
30.04.2014, 14:17 #2
а вопрос то в чём состоит? есть две переменных, хранящих расстояния. Их считывают с клавиатуры или задают готовыми параметрами. Затем складывают по всякому, сохраняют результаты в другой паре переменных. Затем все четыре переменных выводятся на экран!
0
Yuri Matveichuk
0 / 0 / 0
Регистрация: 25.04.2014
Сообщений: 13
30.04.2014, 14:23  [ТС] #3
по шагам расписать как работает программа, к курсачу нужно
0
TenGen
30.04.2014, 14:25
  #4

Не по теме:

Yuri Matveichuk, а вы не пробовали сами понять припцип работы программы? Неужели настолько сложно, что бы ради курсача не разобрать программу?

0
Yuri Matveichuk
0 / 0 / 0
Регистрация: 25.04.2014
Сообщений: 13
30.04.2014, 14:49  [ТС] #5
только недавно учить прогу начал,писал прогу на другой основе, хочу чтобы толковый программист описал алгоритм
0
TenGen
Будущее рядом
99 / 97 / 48
Регистрация: 06.03.2014
Сообщений: 342
30.04.2014, 14:52 #6
Yuri Matveichuk, ну хорошо, но ведь у вас уже кем то толковым написаны комментарии почти к каждой строке
0
Yuri Matveichuk
0 / 0 / 0
Регистрация: 25.04.2014
Сообщений: 13
30.04.2014, 15:11  [ТС] #7
считаете можно по сноскам алгоритм составить?
0
TenGen
Будущее рядом
99 / 97 / 48
Регистрация: 06.03.2014
Сообщений: 342
30.04.2014, 15:18 #8
Yuri Matveichuk, да. пример:

C++
1
2
3
4
5
6
7
8
9
10
11
12
// сложение двух длин
Distance Distance::operator+ ( Distance d2 )
{
    int f = feet + d2.feet; // складываем футы
    float i = inches + d2.inches; // складываем дюймы
    if ( i >= 12.0 ) // если дюймов стало больше 12
    {
        i -= 12.0; // то уменьшаем дюймы на 12
        f++; // и увеличиваем футы на 1
    }
    return Distance (f, i); // создаем и возвращаем временную переменную
}
создаем переменную f и заносим туда результат сложения текущего кол-ва футов.
создаем i и инициализируем ее значением суммы дюймов
если i >= 12 то:
вычитаем из i 12
прибавляем к текущему значению f единицу
создаем экземпляр класса Distance с нужными значениями
возвращаем созданный экзепляр класса.

В чем проблемы то? Как мой алгоритм расходится с комментами в коде?
0
Kuzia domovenok
Нарушитель
2243 / 2012 / 457
Регистрация: 25.03.2012
Сообщений: 7,083
Записей в блоге: 1
30.04.2014, 15:35 #9
Yuri Matveichuk, не следует начинать учить язык C++ с перегрузки операторов. Начни с более простой, но в то же время важной темы.
0
30.04.2014, 15:35
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.04.2014, 15:35

Скорость выполнения программы
Здравствуйте, уважаемые форумчане. Решил задаться таким вопросом. Какой из...

Завершение выполнения программы
Добрый вечер. Пишу рогалик. Нужно сделать, что бы когда герой умирал (при...

Время выполнения программы
Здравствуйте.Я до сих пор новичок в программировании,сразу скажу,и тонкостей не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru