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

Рефакторинг кода задачки - C++

Восстановить пароль Регистрация
 
TBIKC
web dev
 Аватар для TBIKC
104 / 91 / 1
Регистрация: 23.09.2010
Сообщений: 738
22.09.2013, 20:44     Рефакторинг кода задачки #1
Здравствуйте! Скажите пожалуйста, как можно отрефакторить следующую программу ? (без STL и ООП)

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
#include <iostream>
 
using namespace std;
 
int main()
{
    int number_passes = 0; // количество проходов
    int on_emission = 29; // количество копеек, выбрасываемое в озеро
    int ruble, penny, add_variables;
    cout << "Введите произвольную сумму денег: " << endl << "Рублей : ";
    cin >> ruble;
    cout << "Копейки: ";
    cin >> penny;
    int max_ruble = ruble; // наибольшее количество рублей
    int max_penny = penny; // наибольшее количество копеек
    int passe = number_passes;
    while (ruble != 0 or penny > 29) {
        number_passes += 1;
        if(penny < on_emission) {
            penny += 100;
            ruble -= 1;
        }
        penny -= on_emission;
        add_variables = penny;
        penny = ruble;
        ruble = add_variables;
 
        if((max_ruble < ruble) or ((max_ruble < ruble) and (max_penny < penny))) {
          max_ruble = ruble;
          max_penny = penny;
          passe = number_passes;
        }
    }
    cout << "___________Решение:_____________" << endl;
    cout << "Макс. рублей: " << max_ruble << endl;
    cout << "Макс. копеек: " << max_penny << endl;
    cout << "Проход: " << passe << endl;
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.09.2013, 20:44     Рефакторинг кода задачки
Посмотрите здесь:

C++ 3 задачки по с++
C++ Необходимо провести рефакторинг
C++ Оптимизация, рефакторинг кода
рефакторинг -> переименование C++
C++ Задачки
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,919
Записей в блоге: 2
Завершенные тесты: 1
22.09.2013, 20:47     Рефакторинг кода задачки #2
Использовать Си'шный ввод-вывод или, например, API системы
TBIKC
web dev
 Аватар для TBIKC
104 / 91 / 1
Регистрация: 23.09.2010
Сообщений: 738
22.09.2013, 20:48  [ТС]     Рефакторинг кода задачки #3
Хм, код не мой, я на c++ не программирую, друг попросил опубликовать, можно сразу с примером ?
OhMyGodSoLong
~ Эврика! ~
 Аватар для OhMyGodSoLong
1234 / 983 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
22.09.2013, 21:38     Рефакторинг кода задачки #4
Цитата Сообщение от TBIKC Посмотреть сообщение
Хм, код не мой, я на c++ не программирую, друг попросил опубликовать, можно сразу с примером ?
Вы на Си++ не программируете, для вас пример бесполезен.
Цитата Сообщение от TBIKC Посмотреть сообщение
Здравствуйте! Скажите пожалуйста, как можно отрефакторить следующую программу ? (без STL и ООП]
1. Переименовать переменные на каком-то одном языке, не транслитом.
2. И назвать их так, чтобы комментарии были не нужны.
3. Если комментарии нужны, то раскидать комментируемое по функциям.
4. Заменить альтернативные токены (and, or) обычными && и ||, так как для большинства они привычнее.
5. Использовать в вычислениях повсеместно копейки, чтобы избавиться от геморроя с пересчётом.
TBIKC
web dev
 Аватар для TBIKC
104 / 91 / 1
Регистрация: 23.09.2010
Сообщений: 738
22.09.2013, 21:53  [ТС]     Рефакторинг кода задачки #5
если использовать одни копейки, как их местами менять ? ( копейки с рублями )

Цитата Сообщение от OhMyGodSoLong Посмотреть сообщение
Вы на Си++ не программируете, для вас пример бесполезен.1. Переименовать переменные на каком-то одном языке, не транслитом.
2. И назвать их так, чтобы комментарии были не нужны.
3. Если комментарии нужны, то раскидать комментируемое по функциям.
4. Заменить альтернативные токены (and, or) обычными && и ||, так как для большинства они привычнее.
5. Использовать в вычислениях повсеместно копейки, чтобы избавиться от геморроя с пересчётом.
Yandex
Объявления
22.09.2013, 21:53     Рефакторинг кода задачки
Ответ Создать тему
Опции темы

Текущее время: 11:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru