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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.12.2014, 11:05   #11
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

блин, ну оформление процедурами это рефакторинг.
суть в том что надо видеть как идет код.
Код:
#include <QCoreApplication>
#include "new_f.h"

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    int menu, returns=40;

    do
    {
        system("cls");
        printf("***** MENU *****\n");
        printf("1 - Exemple nomber 1\n");
        printf("2 - Exemple nomber 2\n");
        printf("0 - exit\n");
        scanf("%d",&menu);

        switch (menu)
        {
        case (1):
        {
            do
            {
                system("cls");
                float s_okr=0;
                printf("BBEDITE DLINU OKR:...");
                scanf("%f",&s_okr);
                printf("Pkvadr=%f",perkvadr(s_okr));
                printf("\nBEGINING NEW? 1-yes 0-return menu\n");
                scanf("%d",&returns);

            }

            while (returns!=0);
            break;

        }



        case (2):
        {

            do
            {
                system("cls");

                float pi,py,sphone,sdrob;
                int month=1,years=0;
                printf("Enter procent iznosa...Enter: ");
                scanf("%f",&pi);

                printf("Enter procent ystar....Enter: ");
                scanf("%f",&py);

                printf("Enter price phone...Enter: ");
                scanf("%f",&sphone);

                sdrob=sphone/20;


                printf("\n");

                do
                {sphone=sphone-(((sphone*pi)/100)+((sphone*py)/100));
                    printf("Month #%d: %f\n",month,sphone);

                    month++;
                }
                while (sdrob<=sphone);

                month--;

                while (month>11)
                {

                    month=month-12;
                      years++;
                }
                printf("\n");
                printf("Years: %d\nMonth: %d",years,month);
                printf("\nBEGINING NEW? 1-yes 0-return menu\n");
                scanf("%d",&returns);

            }

            while (returns!=0);
            break;

        }


        }
    }
    while(menu!=0);

    system("cls");
    printf("POKA!");
    return a.exec();
}
Так же, Виталий, в итоге вашего рефакторинга изменился смысл кода.(там два цикла было)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 22.12.2014, 11:19   #12
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
в итоге вашего рефакторинга изменился смысл кода.(там два цикла было)
Так я не оч. понял зачем там такое усложнение. Смысл?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.12.2014, 11:32   #13
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

в изначальном коде у нас что-то типа режима приложения, и пока не выйдем из режима находимся именно в нем. потому и два цикла(хотя я бы сделал три режима на самом деле, выбор и те два, что уберет внутренние циклы)

процедурами оформить это верно.
но все же я хотел именно показать ТС, что его goto он просто поставил вместо break(что затем начнет новую итерацию цикла).

кстати, ТС, в начальном коде от первого цикла не было смысла по сути.

я надеялся что все же он сможет сам это увидеть...но нет.
ну удачи в программировании тогда.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
6.1. Оператор перехода GOTO. Цикл. Метки Fryg Паскаль, Turbo Pascal, PascalABC.NET 5 01.07.2011 07:33
Оператор Goto Avvakymova Паскаль, Turbo Pascal, PascalABC.NET 0 09.05.2011 12:36
Оператор GoTo Dalokoshka Помощь студентам 6 10.10.2010 15:22
Pascal. решить задачу используя цикл for и оператор безусловного перехода goto Knubbe Помощь студентам 8 18.12.2009 03:08