/ Published in: C++
Simulacija reda u liječničkoj ordinaciji - Glavni program
Expand |
Embed | Plain Text
#include <iostream> //#include"red_polje.h" #include"red_pokazivaci.h" using namespace std; tlist *Q = InitQ(Q); void generiraj(){ system("cls"); int n; tdata data; cout << "Koliko zapisa: "; cin >> n; srand(time(0)); for(int i=0; i<n; i++){ data.x = rand()%10000+1; data.y = rand()%10000+1; data.prioritet = rand()%4+1; data.rb = i+1; cout << data.rb << ": " << data.x << ", " << data.y << "\t-> " << data.prioritet << endl; EnQueueQ(data,Q); } system("pause"); } void ispis(tdata data, int izbor=0){ cout << "Pacijent: " << data.rb << "." << endl; if(izbor) cout << "\tPrioritet: " << data.prioritet << endl; cout << "\tVrijeme od dolaska: " << data.x << " jedinica vremena i odlazi." << endl; cout << "\tVrijeme zadrzavanja: " << data.y << " jedinica vremena i odlazi." << endl; } void simulacija(){ system("cls"); time_t start, end; time(&start); while(!IsEmptyQ(Q)){ tdata data = FronQ(Q); ispis(data); DeQueueQ(Q); } time(&end); cout<<endl<<"Vrijeme izvodjena programa: "<<difftime(end,start)<<endl; system("pause"); } void prioritetno(int p){ tlist *temp = InitQ(temp); while(!(IsEmptyQ(Q))){ tdata data = FronQ(Q); if(data.prioritet == p) ispis(data,1); else EnQueueQ(data,temp); DeQueueQ(Q); } memcpy(Q,temp,sizeof(tlist)); } void simulacija_prioriteta(){ system("cls"); time_t start, end; time(&start); for(int i=1; i<5; i++) prioritetno(i); time(&end); cout<<endl<<"Vrijeme izvodjena programa: "<<difftime(end,start)<<endl; system("pause"); } int main(){ int izbor; do{ system("cls"); cout << "Izbornik" << endl; cout << "1. Generiraj niz" << endl; cout << "2. Simulacija" << endl; cout << "3. Prioritetno ulazenje" << endl; cout << "0. Kraj" << endl; cout << endl; cin >> izbor; switch(izbor){ case 1: generiraj(); break; case 2: simulacija(); break; case 3: simulacija_prioriteta(); break; case 0: cout << "Kraj" << endl; break; default: cout << "Krivi izbor!" << endl; system("pause"); } }while(izbor); system("pause"); return 0; }
You need to login to post a comment.
