/index.html">Home
  • About
  • Services
  • Contact
  • Login/Register
  • Assignment title: Management


    Assessed Learning Outcomes: LO1. Synthesise and implement stacks, linked lists, sorting and queues. LO2. Compile and use abstract data types within programs. LO3. Evaluate algorithms in terms of efficiency and justify the selection of the most appropriate data structure or algorithm for a given problem. Dear Writer At the end I have provided the partial code how much I have done for this task, so I want you to finish the rest of it and the writing as well as referencing. Task 2 A bank has a call centre set up for customers and requires a piece of software to count and track waiting calls. The telephone system can only keep 20 calls on hold at any time. Once a call is made to the bank the following information is logged on a computer and put into a queue. • Call number • Time called • Queue ID number The program will initially have no calls in memory. A basic menu screen will allow the user to perform the following operations: - 1. Add data to the queue. 2. Put call through to operator. 3. Remove call from the queue (customer disconnect). 4. Update queue. • When a call comes in the data is added to the queue. • If a call is at the top of the queue then it will be the next one to get a free operator. • Some calls will be disconnected by the customer before they reach the top of the queue, your program should allow for this. On the menu screen you should also display the calls waiting and the time each call has been waiting. This information is then to be used to calculate an average number of calls waiting and also the average wait time for a call to be sent to an operator. This should also be shown on the screen. You may add additional functionality to the program if you consider it necessary. Task 2.1 Discuss the use and implementation of various methods to store data and also discuss the method you will use to create a working program which is best suited for this problem. Task 2.2 You must produce a specification for the data structure used. Fully explain how you will implement the data structure. Task 2.3 Produce a working program in c++ which creates and uses your chosen algorithm for this scenario. Each call is to be created as a new memory object using object orientated techniques Document and test the program and provide screenshots and a full code listing of your program. Include any additional information necessary. Task 2.4 Evaluate your program and suggest areas for improvement. Marking Criteria: Marks will be awarded on the basis of: Requirements Marks available Marks awarded Feedback Task 2 Task 2.1 Description of Algorithms for sorting searching and queuing Task 2.2 Explanation of data structure used. Task 2.3 Program functionality, code and development paperwork Object Orientated techniques used and explained Task 2.4 Evaluation of program and possible improvements Additional features, GUI design, menu items and displayed data 15 15 10 10 10 5 10 10 10 5 100 Task 2: Note: So far I have done this bit, I would like you to complete the rest the task coding and the writing. // complete running code for Call centre// #include #include #include using namespace std; #define MAX 20 // We set the Max hold 20 calls class queue { char q[MAX]; int rpos,spos; public: void queue_init(void); void qstore(char ob); char qretrieve(void); void qshow(void); }; queue a; void gotoxy(int,int); //declare a function called gotoxy void clrscr(void); //declare clear screen function void textcolor(int); //declare text colour function void main (void)//main program start { char c; cout << "Queues with C++...\n"; a.queue_init(); //initialise the queue a.qshow(); for(;;) { c=getche(); if(c=='1') { cout << "-->" << a.qretrieve() << " \n"; } else if(c=='2') break; else { a.qstore(c); cout << endl; } a.qshow(); } }//end of the main code //put functions here //store a character void queue::qstore(char ob) // push { if((rpos==MAX-1 && spos==0) || (rpos==spos-1))//check if full { cout << "3Queue full \n"; return; } if(spos==-1 && rpos==-1)//special case if no data in queue { spos++; rpos++; q[spos]=ob; } else { rpos++; if(rpos==MAX) rpos=0; q[rpos]=ob; } } //retrieve a character char queue::qretrieve(void) // pop { char temp; if (rpos==-1 && spos==-1)//no data to retrieve { cout << "Queue empty \n"; return (char)0; } if(rpos==spos && rpos!=-1)//if there is only one piece of data in the queue { temp=q[spos]; q[spos]=' '; spos=-1; rpos=-1; } else { temp=q[spos]; q[spos]=' '; spos++; if (spos==MAX) spos=0; } return temp; } //initialise the queue void queue::queue_init(void) { spos=-1; rpos=-1; } void queue::qshow(void) { int i; for(i=0;i
  • Home
  • About
  • Services
  • Contact
  • Privacy Policy
  • Terms of Use
  • All Rights Reserved. 2016. CookMyProject ©

    Disclaimer: CookMyProject provides assignment and homework help for guidance and reference purpose only. These papers are not to be submitted as it is. These papers are intended to be used for research and reference purposes only.