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

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

Войти
Регистрация
Восстановить пароль
 
Angellord
0 / 0 / 0
Регистрация: 01.06.2010
Сообщений: 5
#1

Описать работу ателье - C++

01.06.2010, 15:19. Просмотров 483. Ответов 4
Метки нет (Все метки)

Уважаемые господа програмисты, просто зачыпаюсь, хоть и год учил с++ всёравно ноль.
Мне нужен код к очереди, а желательно всю прогу если можно.)))

Смысл в очереди в том, что у нас есть ателье, в нем есть мастер и клиенты
мастер принмает заказы в таком порядке :
сначало обычные впринципе до 20 заказов в день
если появляются срочные заказы их ставят в очередь 1, и тоже самое с очень срочными.
Но если срочных набирается 4 заказа, то мастер сделав 4 срочных делает 2 обычных заказа.

Вот такая очередь.
Очено прошу помогите, надо сегодня очень срочтно, если завтро не покажу, то выгонят из института...
Пожалуйста очень прошу
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.06.2010, 15:19     Описать работу ателье
Посмотрите здесь:

Описать класс, реализующий стек и работу с ним - C++
Добрый день. Написал программу, суть которой в том, что нужно описать класс, реализующий стек. Класс содержит сведения о студентах,...

Описать класс, реализующий стек и работу с ним - C++
Вот вроде понял и что такое стек, и что такое классы и как их реализовать в отдельности. Но как их объеденить в одну программу...

Описать работу междугородной телефонной станции - картотека абонентов - C++
На междугородной телефонной станции картотека абонентов, содержащая сведения о телефонах и их владельцах, организована как линейный список....

Описать класс, реализующий тип данных «вещественная матрица» и работу с ними - C++
Доброго времени суток, необходима помощь в написании программы. Описать класс, реализующий тип данных «вещественная матрица» и работу...

Классы (Описать класс, реализующий тип данных «вещественная матрица» и работу с ними) - C++
само задание звучит так:Описать класс, реализующий тип данных «вещественная матрица» и работу с ними. Класс должен реализовывать следующие...

Придумать и описать создание списка или стека или очереди. И работу с ними. - C++
Помогите пожалуйста. Придумать и описать структуру некоторого сюжета (не менее пяти полей) и составить программу для создания массива...

Это не по работу - C++
Здраствуйте! я хотел знать всего лишь то что нормально ли знать пока основу c++ в 16 лет? Я начал изучать год назад, еще не могу создать...

Попроавить работу - C++
Есть программа нужно поправить сортировку только по телефонным номерам по возрастанию. Спасибо! int r = StrICmp(Name, right.Name); ...

описать работу программы: - Assembler
Помогите описать работу программы: .model small .data M asyv DB 50,48,49,13,’$’ .code start: mov ax, @data mov ds,ax ...

Описать работу протокола STP - Сети
Всем привет! В общем такая тема: задали лабораторную по одному предмету, которая относится к другому, который мы вообще не изучали,...

Описать работу холодильной камеры - PascalABC.NET
Есть описание работы холодильника к ней нарисовал свич технологию. Теперь надо реализовать это все на паскале через кейс.Всего 3...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Эксперт С++
9458 / 5471 / 927
Регистрация: 25.07.2009
Сообщений: 10,495
01.06.2010, 15:53     Описать работу ателье #2
Цитата Сообщение от Angellord Посмотреть сообщение
надо сегодня очень срочтно, если завтро не покажу, то выгонят из института...
При таком подходе только во фриланс. Тут помогают тем, кто сам что-то делает. Да и програмка у Вас не в пару десятков строчек получится...
Angellord
0 / 0 / 0
Регистрация: 01.06.2010
Сообщений: 5
01.06.2010, 15:56  [ТС]     Описать работу ателье #3
Да то что у меня сделано, это лудше никому не показывать вообще))) там такое, да и ошибок 30+
Mr.X
Эксперт С++
3048 / 1693 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
02.06.2010, 00:06     Описать работу ателье #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
//Смысл в очереди в том, что у нас есть ателье, в нем есть мастер и клиенты
//мастер принмает заказы в таком порядке :
//сначало обычные впринципе до 20 заказов в день
//если появляются срочные заказы их ставят в очередь 1, и тоже самое с очень срочными.
//Но если срочных набирается 4 заказа, то мастер сделав 4 срочных делает 2 обычных заказа.
//Вот такая очередь.
#include <queue>
#include <iostream>
 
enum T_prior_val
{
    EMPTY,
    OCHEN_SROCHN,
    SROCHN,
    OBYCHN
};
 
struct T_order
{
    int  ind_;
    int  prioritet_;
    T_order(int ind = 0, int prioritet = 0) : ind_(ind), prioritet_(prioritet)
    {}
};
 
typedef std::queue<T_order>  T_orders;
 
void input_orders
    (
        T_orders&  OCHEN_SROCHN_orders,
        T_orders&  SROCHN_orders,
        T_orders&  OBYCHN_orders
    )
{
    std::cout << "Введите приоритеты заказов:"       << std::endl
              << OCHEN_SROCHN << " - очень срочный;" << std::endl
              << SROCHN       << " - срочный;"       << std::endl
              << OBYCHN       << " - обычный;"       << std::endl
              << EMPTY        << " - конец ввода;"   << std::endl;
 
    int  cur_order_ind  = 1;
    int  cur_prioritet  = EMPTY;
    for(;;)
    {
        std::cout << "Заказ #" << cur_order_ind << ": ";
        std::cin >> cur_prioritet;
        switch(cur_prioritet)
        {
        case OCHEN_SROCHN:
            OCHEN_SROCHN_orders.push(T_order(cur_order_ind++, cur_prioritet));
            break;
        case SROCHN:
            SROCHN_orders.push(T_order(cur_order_ind++, cur_prioritet));
            break;
        case OBYCHN:
            OBYCHN_orders.push(T_order(cur_order_ind++, cur_prioritet));
            break;
        case EMPTY:
            return;
        default:
            return;           
        }//switch(cur_prioritet)
    }//for(;;)
}
 
void print_order(const T_order&  order)
{
    std::cout << "Заказ # " << order.ind_;
    switch(order.prioritet_)
    {
    case OCHEN_SROCHN:
        std::cout << " (очень срочный)";
        break;
    case SROCHN:
        std::cout << " (срочный)";
        break;
    case OBYCHN:
        std::cout << " (обычный)";
        break;
    case EMPTY:
        return;
    default:
        return;           
    }//switch(order.prioritet_)
    std::cout << std::endl;
}
 
void  orders_processing
    (
        T_orders&  OCHEN_SROCHN_orders,
        T_orders&  SROCHN_orders,
        T_orders&  OBYCHN_orders
    )
{
    std::cout << std::endl
              << "Очередность обработки заказов: " << std::endl;
    const int  MAX_SROCHN_PODRYAD  = 4;
    const int  MAX_OBYCHN_PODRYAD  = 2;
    const int  MAX_ORDER_COUNT    = 20;        
    int        order_count = 0;
    while(!OCHEN_SROCHN_orders.empty())
    {
        print_order(OCHEN_SROCHN_orders.front());
        OCHEN_SROCHN_orders.pop();
        if(++order_count == MAX_ORDER_COUNT) return;
    }
 
    while(!SROCHN_orders.empty() || !OBYCHN_orders.empty())
    {
        for(int srochn_order_count = 0; 
            srochn_order_count < MAX_SROCHN_PODRYAD; ++srochn_order_count)
        {
            if(!SROCHN_orders.empty())
            {
                print_order(SROCHN_orders.front());
                SROCHN_orders.pop();
                if(++order_count == MAX_ORDER_COUNT) return;           
            }
        }//for(int srochn_order_count = 0; srochn_order_count < MAX_SROCHN_PODRYAD;...
 
        for(int obychn_order_count = 0; 
            obychn_order_count < MAX_OBYCHN_PODRYAD; ++obychn_order_count)
        {
            if(!OBYCHN_orders.empty())
            {
                print_order(OBYCHN_orders.front());
                OBYCHN_orders.pop();
                if(++order_count == MAX_ORDER_COUNT) return;           
            }
        }//for(int obychn_order_count = 0; obychn_order_count < MAX_OBYCHN_PODRYAD;...
    }//while(!SROCHN_orders.empty())  
}
 
int main()
{
    std::locale::global(std::locale("rus"));
    T_orders  OCHEN_SROCHN_orders;
    T_orders  SROCHN_orders;
    T_orders  OBYCHN_orders;
 
    input_orders
        (
            OCHEN_SROCHN_orders,
            SROCHN_orders,
            OBYCHN_orders
        );
 
    orders_processing
        (
            OCHEN_SROCHN_orders,
            SROCHN_orders,
            OBYCHN_orders
        );
 
    return 0;
}
Angellord
0 / 0 / 0
Регистрация: 01.06.2010
Сообщений: 5
02.06.2010, 09:48  [ТС]     Описать работу ателье #5
Mr.X,
Огромнейшое тебе спасибо!!!!! выручил.....О_о
Я так рад, просто не описать!!!

Добавлено через 18 минут
И ещё если не сложно, туда надо добавить in.txt для автоматич ввода данных
и out.txt где будут все результаты......
я как понял всё надо в main но что-то неполучается((((
Yandex
Объявления
02.06.2010, 09:48     Описать работу ателье
Ответ Создать тему
Опции темы

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