You are on page 1of 8

Name: Zunaira Rashid

DATA STRUCTURES AND ALGORITHMS

ROLL N: 020

SEMESTER: 3rd

BATCH: BSCS

Date: 27/11/20 02:47

Submitted to Miss Sehrish Munawar


Description:

Q1. Implement an event calendar using circular queue in such a way that it displays a choices list for all
months of a year.

e.g. “1” for January and so on.

When user enters his/her selected month the program will display the names of all events marked in
that specific month.

e.g., if user enters a choice “12” for the month ‘Dec’; program will display Quaid-e-Azam’s Birthday and
all other events that would occur in December.
#include <iostream>
#include<stdlib.h>
using namespace std;
#define n 10
struct queue {
int front;
int rear;
int noE;
string data[n];
};
void init(queue &q){
q.front=q.rear=0;
q.noE=0;
}
void display(queue &q){
system("cls");
do{
cout<<q.data[q.front];
q.front=(q.front+1)%n;
q.noE--;
}while(q.noE!=0);
}
void january(queue &q){
init(q);
q.data[q.rear]="***1st Jan*** ";
q.rear=(q.rear+1)%n;
q.noE++;
q.data[q.rear]=" New Year\n\n";
q.rear=(q.rear+1)%n;
q.noE++;
}
void feb(queue &q){
init(q);
q.data[q.rear]="\n ***5 feb*** kashmir day ";
q.rear=(q.rear+1)%n;
q.noE++;
q.data[q.rear]="\n***16 feb*** basant\n\n";
q.rear=(q.rear+1)%n;
q.noE++;
}
void Mar(queue &q){
init(q);
q.data[q.rear]="***23 march*** Pakistan day\n";
q.rear=(q.rear+1)%n;
q.noE++;
q.data[q.rear]="";
q.rear=(q.rear+1)%n;
q.noE++;
q.data[q.rear]="";
q.rear=(q.rear+1)%n;
q.noE++;
}
void Apr(queue &q){
init(q);
q.data[q.rear]="o_O no event yet\n";
q.rear=(q.rear+1)%n;
q.noE++;
q.data[q.rear]="";
q.rear=(q.rear+1)%n;
q.noE++;
q.data[q.rear]="";
q.rear=(q.rear+1)%n;
q.noE++;
q.data[q.rear]="";
q.rear=(q.rear+1)%n;
q.noE++;
}
void May(queue &q){
init(q);
q.data[q.rear]="***1st May*** labour day\n";
q.rear=(q.rear+1)%n;
q.noE++;
q.data[q.rear]="";
q.rear=(q.rear+1)%n;
q.noE++;
}
void June(queue &q){
init(q);
q.data[q.rear]="o_O no new event yet \n";
q.rear=(q.rear+1)%n;
q.noE++;
}
void July(queue &q){
init(q);
q.data[q.rear]="***1st july*** bank holiday\n ";
q.rear=(q.rear+1)%n;
q.noE++;
}
void Aug(queue &q){
init(q);
q.data[q.rear]="***14 August*** independance day\n";
q.rear=(q.rear+1)%n;
q.noE++;
q.data[q.rear]="";
q.rear=(q.rear+1)%n;
q.noE++;
}
void Sept(queue &q){
init(q);
q.data[q.rear]="***6 september** defence day\n";
q.rear=(q.rear+1)%n;
q.noE++;
}
void Oct(queue &q){
init(q);
q.data[q.rear]="*NO New Event*\n";
q.rear=(q.rear+1)%n;
q.noE++;
}
void Nov(queue &q){
init(q);
q.data[q.rear]="***9 november*** iqbal day\n";
q.rear=(q.rear+1)%n;
q.noE++;
}
void Dec(queue &q){
init(q);
q.data[q.rear]="***25 december*** quaid day\n ";
q.rear=(q.rear+1)%n;
q.noE++;
q.data[q.rear]="***And 24 december chrismas***\n";
q.rear=(q.rear+1)%n;
q.noE++;
q.data[q.rear]="";
q.rear=(q.rear+1)%n;
q.noE++;

}
int main(){
cout<<"\n\n ****START MY PROGRAM****
"<<endl;
cout<<"\n\n ****Program by Zunaira****
"<<endl;
char ch[2];
int c;
queue a;
init(a);
do{
cout<<"What you wanna
do?\n1=January\n2=February\n3=March\n4=April\n5=May\n6=June\n7=
July\n8= August\n9= September\n10= October\n11=
Novemer\n12=December\n13 exit"<<endl;
cout<<"Enter your choice"<<endl;
cin>>c;
if(c==1){
january(a);
display(a);
}
else if(c==2){
feb(a);
display(a);
}
else if(c==3){
Mar(a);
display(a);
}
else if(c==4){
Apr(a);
display(a);
}
else if(c==5){
May(a);
display(a);
}
else if(c==6){
June(a);
display(a);
}
else if(c==7){
July(a);
display(a);
}
else if(c==8){
Aug(a);
display(a);
}
else if(c==9){
Sept(a);
display(a);
}
else if(c==10){
Oct(a);
display(a);
}
else if(c==11){
Nov(a);
display(a);
}
else if(c==12){
Dec(a);
display(a);
}
else if(c==13)
exit(0);
else
cout<<"wrong choice try again\n";
}
while(c!=3);
cout<<"\n\n\n ****END OF PROGRAM****
"<<endl;
cout<<"\n\n ****THANK YOU FOR YOUR TIMe****
"<<endl;
}
OUTPUT:

****START MY PROGRAM****

****Program by Zunaira****
What you wanna do?
1=January
2=February
3=March
4=April
5=May
6=June
7= July
8= August
9= September
10= October
11= Novemer
12=December
13 exit
Enter your choice
1

***1st Jan*** New Year

What you wanna do?


1=January
2=February
3=March
4=April
5=May
6=June
7= July
8= August
9= September
10= October
11= Novemer
12=December
13 exit
Enter your choice
2

***5 feb*** kashmir day


***16 feb*** basant
What you wanna do?
1=January
2=February
3=March
4=April
5=May
6=June
7= July
8= August
9= September
10= October
11= Novemer
12=December
13 exit
Enter your choice
3
***23 march*** Pakistan day

****END OF PROGRAM****

****THANK YOU FOR YOUR TIMe****

You might also like