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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
TBIKC
web dev
104 / 91 / 1
Регистрация: 23.09.2010
Сообщений: 738
#1

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

22.09.2013, 20:44. Просмотров 373. Ответов 4
Метки нет (Все метки)

Здравствуйте! Скажите пожалуйста, как можно отрефакторить следующую программу ? (без 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++):

Рефакторинг кода - C++
Нужно сделать рефакторинг большого корпоративного проекта (а лучше для нескольких сразу). Для начала хотелось бы посмотреть наличие...

Оптимизация, рефакторинг кода - C++
Программа написанная для лаб.работы по предмету &quot;Теория Графов&quot;. Программа с задачей перейти из одного способа задания(мб другое слово)...

Рефакторинг кода вывода простых чисел - C++
#include &lt;iostream&gt; #include &lt;ctime&gt; int main() { clock_t t = clock(); { std::size_t size = 1000; ...

Повысить читаемость и сократить объём кода (рефакторинг) - C++
Привет, у меня тут небольшая проблема. Я писал код, который в меню, при нажатии пользователем буквы &quot;s&quot; или &quot;w&quot;, двигает стрелочки,...

рефакторинг -> переименование - C++
Добрый день. Вопрос: в C# (IDE Visual Studio 2012) по нажатию F2 можно было мгновенно переименовать любую переменную под курсором. В...

Необходимо провести рефакторинг - C++
Существует прогамма: #include &lt;iostream&gt; using namespace std; //Structure for a bank certificate of deposit: struct...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Croessmah
Модератор
Эксперт CЭксперт С++
13134 / 7397 / 828
Регистрация: 27.09.2012
Сообщений: 18,231
Записей в блоге: 3
Завершенные тесты: 1
22.09.2013, 20:47 #2
Использовать Си'шный ввод-вывод или, например, API системы
TBIKC
web dev
104 / 91 / 1
Регистрация: 23.09.2010
Сообщений: 738
22.09.2013, 20:48  [ТС] #3
Хм, код не мой, я на c++ не программирую, друг попросил опубликовать, можно сразу с примером ?
OhMyGodSoLong
~ Эврика! ~
1243 / 992 / 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
104 / 91 / 1
Регистрация: 23.09.2010
Сообщений: 738
22.09.2013, 21:53  [ТС] #5
если использовать одни копейки, как их местами менять ? ( копейки с рублями )

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

Архитектура и рефакторинг: построение системы ECS - C++
Доброго времени суток, Господа. Тема, я думаю, будет обширная, так как она больше не о том, как решить ту или иную проблему/задачу, а о...

Калькулятор: Рефакторинг, принцип единой ответственности - C++
Дали задание сделать калькулятор с помощью паттерна команда,сам калькулятор сделал,паттерн осуществил, но проблема в классах патттерна не...

Рефакторинг: функция с большим количеством параметров - C++
День добрый. Скажите плз, гуру рефакторинга. Вот есть функция и в нее передаётся туча параметров. Как лучше исправить ситуацию? На ум...

Предложить рефакторинг с учетом, что количество языков будет расширяться - C++
Предложите ваши варианты решения заданий 2. Есть класс CodeGenerator, который умеет генерить код на разных языках. Предложите...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
22.09.2013, 21:53
Ответ Создать тему
Опции темы

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