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

Моделирование очереди банка - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Программирование рекурсий. Преобразование числа в двоичное http://www.cyberforum.ru/cpp-beginners/thread522368.html
Дано целое неотрицательное число n. Преобразовать его в двоичное число.
C++ Выключение компьютера Как выключить программно комп, если у юзера нет админки, а ExitWindows() и ExitWindowsEx() не работают? http://www.cyberforum.ru/cpp-beginners/thread522354.html
Написать программу, которая считывает с клавиатуры текст и выводит на экран толь¬ко предложения, состоящие из заданного количества слов. C++
помогите написать прогу на С++ 1) Написать программу, которая считывает с клавиатуры текст и выводит на экран только предложения, состоящие из заданного количества слов. 2) Ввести с клавиатуры слово и символ «А». Удалить в слове первый по порядку символ «А» и присоединить символ «А» к началу полученного слова. Если в слове нет символа «А», то выдать соответствующее текстовое сообщение и ...
Определитель матрицы. C++
Всем привет..прошу помощи в программе. сам код есть...в нее нужно включить определитель матрицы, я с ним запуталась, вот код программы: // t1.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" #include<iostream> #include<math.h>
C++ Массив струкур http://www.cyberforum.ru/cpp-beginners/thread522296.html
Здравствуйте! В универе задали написать лабу, такое вот задание: Определить структурированный тип и набор функций для работы с таблицей записей, реализованной в массиве структур. В перечень функций входят: · ввод записи таблицы с клавиатуры; · загрузка и сохранение таблицы в текстовом файле; · просмотр таблицы; · сортировка таблицы в порядке возрастания...
C++ поиск в глубину Дали задание реализовать поиск в глубину.Пробую релизовать по e-maxx http://e-maxx.ru/algo/dfsно не получается. vector<char> used; int n; vector <vector <int> > g; void dfs (int v) { used = true; for (vector<int>::iterator i=g.begin(); i!=g.end(); ++i) if (!used) dfs (*i); подробнее

Показать сообщение отдельно
Zheka91
4 / 4 / 1
Регистрация: 22.11.2010
Сообщений: 101

Моделирование очереди банка - C++

19.03.2012, 16:56. Просмотров 821. Ответов 5
Метки (Все метки)

мошь кто делал задачку в книге Каррано в разделе очереди, моделирование очереди банка, поделитесь пожалуйста... если нет помогите пожалуйсто...
я вроде пишу по книжке ну что то не так..
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
#include <iostream>
#include <deque>
#include <list>
using namespace std;
 
struct ListItem
{
  int прибытие;
  int обслуживание;
  int отбытие;
  ListItem() : прибытие(0),обслуживание(0),отбытие(0) {}
  ListItem(int пр,int об) : прибытие(пр),обслуживание(об),отбытие(пр+об) {}
};
 
class Queue
{
 private:
  deque<ListItem> bankQueue; 
  list<ListItem> eventList;
  static int currentTime;
 public:
     void simulate()
     {
        int e,r;
        FILE* f=fopen("in.txt","r");
        fscanf(f,"%d %d",&e,&r);
        eventList.push_back(ListItem(e,r));
        while(!eventList.empty())
        {
            ListItem newEvent;
            newEvent=eventList.front();
            if(newEvent.прибытие)
            {
                processArrival(newEvent,f);
            }
            else
            {
                processDeparture(newEvent);
            }
        }
     }
     void processArrival(ListItem newEvent,FILE* f)
     {
         bool atFront = bankQueue.empty();
         bankQueue.push_back(newEvent);
         eventList.pop_back();
         if(atFront)
         {
             int e,r;
            fscanf(f,"%d %d",&e,&r);
            eventList.push_back(ListItem(e,r));
            currentTime+=eventList.front().обслуживание;
         }
         if(!feof(f))
         {
             int e,r;
            fscanf(f,"%d %d",&e,&r);
            eventList.push_back(ListItem(e,r));
         }
     }
    void processDeparture(ListItem newEvent)
    {
        bankQueue.pop_back();
        eventList.pop_back();
        if(!bankQueue.empty())
            currentTime+=bankQueue.front().обслуживание;
    }
 
};
 
 
int main(int argc, char *argv[])
{
  Queue queue;
  return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru