/ Published in: C++
zadak a i b
Expand |
Embed | Plain Text
Copy this code and paste it in your HTML
#include <iostream> #include <cstdlib> #include <ctime> #include "biblioteka_vrijeme.cpp" using namespace std; struct tpodaci{ int broj_pacijenta; int vrijeme_cekanja; int vrijeme_pregleda; int hitnost_intervencije; int pregledan; }polje[10000] , tmp; typedef tpodaci elementtype; //#include "red_polje.h" #include "red_pokazivac.h" int main(){ vrijeme_pocetak(); srand((unsigned)time(NULL)); int n; int i; int br = 0; int br2 = 0; int k = 1; int j; red *red1; red1 = new red; InitQ(red1); cout << "\n Simulacija rada lijecnicke ordinacije\n " << endl; cout << "\nUnesite broj pacijenata za posjetu lijecniku: "; cin >> n; cout << "\nBr. pacijenta\tVrijeme cekanja\tVrijeme pregleda\tHitnost intervencije"<< endl; int a; for (a = 0 ; a < n ; a++){ polje[a].vrijeme_cekanja = rand()%1000 +1; polje[a].vrijeme_pregleda = rand()%1000 +1; polje[a].hitnost_intervencije = rand()%4 + 1; polje[a].broj_pacijenta = a + 1; polje[a].pregledan = 0; cout << polje[a].broj_pacijenta << "\t\t" << polje[a].vrijeme_cekanja << " \t\t" << polje[a].vrijeme_pregleda << "\t\t\t" << polje[a].hitnost_intervencije << endl; } cout<<" \nSlijedno primanje pacijenata u lijecnicku ordinaciju:\n "<<endl; for(i=0; i<n; i++){ if (polje[i].pregledan == 0){ if(IsEmptyQ(red1)){ while(br < polje[i].vrijeme_cekanja){ br++; br2++; } br=0; EnQueueQ(polje[i] , red1); cout << polje[i].broj_pacijenta << ". pacijent ulazi u red " << endl; } } cout << "Proteklo je " << br2 << " vremena." << endl; if (k > 1) k--; tmp = FrontQ(red1); DeQueueQ(red1); cout << tmp.broj_pacijenta << ". pacijent ulazi u ordinaciju." << endl; if (IsEmptyQ(red1)) cout<<"Red je prazan."<<endl; else cout << "Na celu reda je " << FrontQ(red1).broj_pacijenta <<". pacijent " << endl; tmp.pregledan = 1; for(j = 0 ; j < tmp.vrijeme_pregleda ; j++){ br++; br2++; if((i + k < n) && (br == polje[i+k].vrijeme_cekanja)){ EnQueueQ(polje[i+k] , red1); polje[i+k].pregledan=1; cout << "Nakon " << j+1 << ". vremena, "<<i+k+1 << ". pacijent ulazi u red." <<endl; br = 0; k++; } } cout << tmp.broj_pacijenta << ". pacijent izlazi iz ordinacije" << endl; cout << "Proteklo vremena: " << br2 << endl<< endl; } vrijeme_kraj(); cout<<"Stvarno vrijeme trajanja programa je: "<<vrijeme_proteklo()<<endl; system ("pause"); return 0; }