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

Исследовать работу системы обслуживания - C++

Восстановить пароль Регистрация
 
Kaiya
0 / 0 / 0
Регистрация: 14.02.2014
Сообщений: 5
04.03.2014, 12:35     Исследовать работу системы обслуживания #1
Помогите пожалуйста. Скопировала код из старой книги, с++ ругается что код устарел. Помогите сделать код рабочим пожалуйста.

Исследовать работу системы обслуживания
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
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define RND ((float)rand()/32768.0)
 
float lg(void)
{
    float x, ARG=1e-6;
    x=RND; if(x<ARG) x+=ARG;
    return log(x);
}
 
void main()
{
    int n[2], np[2], nm[2], nmax, i, j, pp;
    float ns[2], nss, TP[2], TW[2], TM, tp[2], tw, t, ts, dt;
    static float tqq, tqs[2], tss, tq[2], tqm, st[100] [2], sum[2];
    FILE *fp;
    fp=fopen("sistem.txt","w");
    
    for(i=0; i<2; i++)
        {
        printf(" Введите TP[%d] : ", i);
        scanf("%f", &TP[i]);
        printf(" Введите TW[%d] : ", i);
        scanf("%f", &TW[i]);
        }
        printf(" Введите время моделирования TM : ");
        scanf("%f", &TM);
        
    fprintf(fp,"\n\n\t\t Исходные данные");
    fprintf(fp,"\n Интервал времени между заявками: TP[0]=%4.2f"
                " TP[1]=%4.2f", TP[0], TP[1]);
    fprintf(fp,"\n Среднее время выполнения заявок: TW[0]=%4.2f"
                " TW[1]=%4.2f", TW[0], TW[1]);
    fprintf(fp,"\n Время моделирования: TM=%6.1f", TM);
    fprintf(fp,"\n\n\t\t Результаты моделрования ");
    
  for (pp=0; pp<2; pp++)
    { srand(2501);
      for(j=0; j<2; j++)
        {
         tp[j]=-TP[j]*lg();
         np[j]=n[j]=nm[j]=0;
         sum[j]=tq[j]=0.0;
        }
      t=0.0; tw=TM; nmax=0;
      
      while(t<TM)
       {
        if(tp[0]>tp[1]) j=1;
         else j=0;
        if(tp[j]>tw) ts=tw;
         else ts=tp[j];
        dt=ts-t; t=ts;
        for(i=0; i<2; i++)
          {
            sum[i]+=dt*n[i];
            if(n[i]>nm[i]) nm[i]=n[i];
          }
        if(n[0]+n[1]>nmax)
         nmax=n[0]+n[1];
        if(ts==tp[j])
         {
          tp[j]-=TP[j]*lg(); np[j]++;
          if(tw==TM) tw=t-TW[j]*lg();
           else
             {
               if(n[j]==99)
                {
                fprintf(fp,"\n Очередь переполнена! ");
                goto end;
                }
              st[n[j]++][j]=t;
             }
          continue;
         }
         else
         {
          if(n[0]==0&&n[1]==0)
            { tw=TM; continue; }
          if(n[0]==0) j=1;
           else if(n[1]==0) j=0;
                else if(pp) j=0;
                    else if (st[0][0]<st[0][1]) j=0;
                     else j=1;
          tqq=t-st[0][j];
          if(tqq>tq[j])
            tq[j]=tqq;
          tw=t-TW[j]*lg();
          for(i=1; i<n[j]; i++)
            st[i-1][j]=st[i][j];
          n[j]--;
         }
       }
     for(j=0; j<2; j++)
      {
       tqs[j]=sum[j]/np[j];
       ns[j]=sum[j]/TM;
      }
    tss=(sum[0]+sum[1])/(np[0]+np[1]);
    nss=(sum[0]+sum[1])/TM;
    tqm=tq[0]>tq[1]? tq[0] : tq[1];
    
    if(pp==0) fprintf(fp,"\n\t Простая очередь");
     else fprintf(fp,"\n\t Приоритетная очередь");
    fprintf(fp,"\n Время ожидания: ");
    fprintf(fp,"\n среднее[0]=%5.2f среднее[1]=%5.2f "
               "  среднее=%5.2f ", tqs[0], tqs[1], tss);
    fprintf(fp,"\n max[0]=%5.2f max[1]=%5.2f "
               "  max=%5.2f ", tq[0], tq[1], tqm);
    fprintf(fp,"\n Длина очереди:");           
    fprintf(fp,"\n средняя[0]=%5.2f средняя[1]=%5.2f "
               "  средняя=%5.2f ", ns[0], ns[1], nss);
    fprintf(fp,"\n max[0]=%2d max[1]=%2d "
               "    max=%2d ", nm[0], nm[1], nmax);        
        }
      end:
        fclose(fp);
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.03.2014, 12:35     Исследовать работу системы обслуживания
Посмотрите здесь:

Теория массового обслуживания C++
Стратегии обслуживания жесткого диска C++
Создайте класс, имитирующий работу биллинговой системы сотового оператора (Не могу разобраться с ошибкой) C++
C++ система масового обслуживания с отказами на обычном dev C++
C++ Система массового обслуживания
Нужно выявить ошибку (задача на систему массового обслуживания) C++
Переделать работу с текстовыми файлами под работу с двоичными файлами C++
Время обслуживания вводиться неправильно, как исправить? C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Amandosov
Знаток
156 / 156 / 65
Регистрация: 18.11.2012
Сообщений: 411
Записей в блоге: 2
04.03.2014, 15:14     Исследовать работу системы обслуживания #2
а как именно ругается?
Kaiya
0 / 0 / 0
Регистрация: 14.02.2014
Сообщений: 5
04.03.2014, 18:09  [ТС]     Исследовать работу системы обслуживания #3
Я вообще первый раз в глаза вижу с++

1>LINK : fatal error LNK1123: сбой при преобразовании в COFF: файл недопустим или поврежден
Yandex
Объявления
04.03.2014, 18:09     Исследовать работу системы обслуживания
Ответ Создать тему
Опции темы

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