Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Exp 4: Use the code provided to answer sub-questions 1 to 5. ONLY USE THE CODE PROVIDED CODE IN TEXT: /* ************************************ */ /* Queues

Exp 4: Use the code provided to answer sub-questions 1 to 5. ONLY USE THE CODE PROVIDED

image text in transcribed

image text in transcribed

image text in transcribed

image text in transcribedimage text in transcribed

image text in transcribed

CODE IN TEXT:

/* ************************************ */ /* Queues main Operations */ /* Inserting & Deleting Integer values into/from */ /* a Circular queue */ /* Insertion(I) and Deletion(D) Operationions */ /* End Of operation(E) */ /* ************************************* */ #include #include #include #define MAXELEMENTS 5 #define TRUE 1 #define FALSE 0 // circular Queue insertion and deletion functions //created for person struct person { int empNo; char name[12]; int age; char gender[2];/* M=male, F=Female */ }; //the new queue, this queue takes "person" struct queue { struct person allperson[15]; int front , rear; }; //the prototypes will change, input to queue is struct person, output from queue is struct person

int main(void) { char operation; int x; struct queue q, male, female; q.front = q.rear = MAXELEMENTS - 1;

struct person tenPerson[10]={123,"Ahmet", 21, "M", 234,"Sevgi", 26, "F", 128,Osman,18,M, 432,Mert,27,M, 287,Ayse,34,F , 423,Kemal, 21, M,634,Lale, 16, F, 828,Sefer,15,M, 252,Meral,27,F, 887,Demet,34,F}; do { //loop to insert persons into the queue for(int i=0; i

int empty(struct queue *pq) { return((pq->front == pq->rear) ? TRUE : FALSE); }

//output from queue is struct person struct person cqdelete(struct queue *pq) { if (empty(pq)) { printf("Queue underflow "); exit(1); } if (pq->front == MAXELEMENTS - 1) pq->front = 0; else (pq->front)++; return(pq->items[pq->front]); }

//input to queue is struct person void cqinsert(struct queue *pq , int x) { /* make room for new element */ if (pq->rear == MAXELEMENTS - 1) pq->rear = 0; else (pq->rear)++; if (pq->rear == pq->front) { printf("Queue overflow"); getchar(); getchar(); exit(1); } printf(" %d is inserted ",x); pq->items[pq->rear] = x; }

Experiment 4 (PreLab task-to be prepared in advance by the student) (to write a COMPLETE C program) Prepare a menu driven C program for Inserting and deletion operation for a queue structure of employee information which has the following structure declaration. Structure of a queue will be defined as follows. struct person { int empNo; char name[12]; int age; char gender[2];/* M=male, F=Female */ }; struct queue { struct person allperson[15]; int front, rear; }; Define the following Initialized array of structure in your program. sruct person tenPerson[10]={123,"Ahmet", 21, "M", 234,"Sevgi", 26, "F", 128,"Osman", 18,"M", 432,"Mert",27,"M", 287,"Ayse", 34,"F" , 423,"Kemal", 21, "M",634,"Lale", 16, "F", 828,"Sefer",15,"M", 252,"Meral", 27,"F", 887,"Demet", 34,"F"}; Following steps of operations will take place in your menu driven program. 1. Create a Circular queue using tenPerson array structure(copy from array into queue will be done). 2. Delete all the elements of queue and list all the deleted from the monitor. 3. Using circular queue which is populated at step 1, Create two new circular queues, one for Male and one for Female employees. These new queues will be created during the deletion of circular queue and use gender fields for determining Male(M) and Female(F) queues. 4. List the content of Male queue and Female queue during delete operation of each queue. 5. End of operation 1 /* 2 /* Queues main Operations */ 3 /* Inserting & Deleting Integer values into/from */ 4. /* a Circular queue */ 5 /* Insertion(I) and Deletion(D) Operationions */ 6 /* End of operation (E) */ 7 /* *** 8 #include #include 10 #include 11 #define MAXELEMENTS 5 12 #define TRUE 1 13 #define FALSE O 14 // circular Queue insertion and deletion functions 15 //created for person 16 struct person 17 = { 18 int empNo; 19 char name[12]; 20 21 char gender[2]; /* M=male, F=Female */ 22 }; 23 24 //the new queue, this queue takes "person" 25 struct queue 26 = { 27 struct person allperson[15]; 28 int front, rear; 29 }; 30 int age; int x; > 31 //the prototypes will change, input to queue is struct person, output from queue is struct person 32 33 int main(void) 34 = { 35 char operation; 36 37 struct queue q, male, female; 38 q.front = q.rear = MAXELEMENTS - 1; 39 40 = struct person tenPerson[10]={123, "Ahmet", 21, "M". 41 234, "Sevgi", 26, "F", 128, "Osman", 18,"M", 432, "Mert", 27,'M", 42 287, "Ayse", 34, "F" 423, Kemal, 21, M,634, "Lale'', 16, F 43 828, Sefer'',15,"M", 252, Meral, 27,"F", 887, "Demet", 34, "F}; 44 do 45 = { 46 47 48 // loop to insert persons into the queue 49= for(int i=0; ifront == pq->rear) ? TRUE : FALSE); 93 } 94 = 95 //output from queue is struct person 96 struct person cqdelete(struct queue *pq) 97= { 98 = if (empty(pq)) { 99 printf("Queue underflow "); 100 exit(1); 101 } 102 if (pq->front == MAXELEMENTS - 1) 103 pq->front 0; 104 else 105 (pq->front)++; 106 return(pq->items[pq->front]); 107 108 109 //input to queue is struct person 110 void cqinsert(struct queue *pq , int x) 111 = { 112 /* make room for new element */ 113 if (pq->rear == MAXELEMENTS - 1) 114 pq->rear = 0; 115 else 116 (pq->rear)++; 117 = if (pq->rear pq->front) { printf("Queue overflow"); 119 getchar(); getchar(); == 118 120 exit(1); 121 } 122 printf(" %d is inserted ",x); 123 pq->items [pq->rear] = x; 124 } 125

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Introduction To Data Mining

Authors: Pang Ning Tan, Michael Steinbach, Vipin Kumar

1st Edition

321321367, 978-0321321367

More Books

Students also viewed these Databases questions