-
Notifications
You must be signed in to change notification settings - Fork 0
/
cricket sheet
146 lines (146 loc) · 1.95 KB
/
cricket sheet
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
#include<stdio.h>
#include<conio.h>
#define max 100
typedef struct QFS
{
int R,F;
int data[max];
}QFS;
typedef struct QFN
{
int R2,F2;
char data2[max];
}QFN;
void initialise(QFS *p , QFN *p2);
int empty(QFS *p, QFN *p2);
int full(QFN *p2,QFS *p);
void enqueue(QFS *p,int x);
int dequeue(QFS *p);
void print(QFS *p,QFN *p2);
void getScore(QFN *p2,QFS *p);
void enqueue2(QFN *p2,char y);
int dequeue2(QFN *p2);
int main()
{
QFS q;
QFN q2;
int x,i,j,ch;
char y[90];
initialise(&q,&q2);
printf("\n\n\n");
printf("\t\t");
printf("-------------Cricket Score Sheet----------------");
do
{
printf("\n \t\t\t 1 : Enter names of players \t \n \t\t\t 2 : Enter score of each player \t \n \t\t\t 3 : Display final score sheet \t \n ");
printf("\t\t\t Enter 4 to exit\t\n\t");
printf("\t\t Enter choice ");
scanf("%d",&ch);
switch(ch)
{
case 1: printf("\t\t enter 10 names \n");
for(i=0;i<10;i++)
{
scanf("%s",y[i]);
}
break;
case 2: getScore(&q2,&q);
break;
case 3: for(i=0;i<10;i++)
{
printf("%s \t",y[i]);
}
print(&q,&q2);
break;
default : printf("Program terminated");
}
}while(ch!=4);
return 0;
}
void getScore(QFN *p2,QFS *p)
{
int i,x;
for(i=1;i<=10;i++)
{
scanf("%d",&x);
if(!full(p2,p))
enqueue(p,x);
else
{
printf("queue is full");
}
}
}
void initialise( QFS *p, QFN *p2)
{
p->R=-1;
p->F=-1;
p2->R2=-1;
p2->F2=-1;
}
int empty(QFS *p ,QFN *p2)
{
if(p->R==-1 && p2->R2==-1)
return(1);
return(0);
}
int full(QFN *p2 , QFS *p)
{
if(p->R==max-1 && p2->R2==max-1 )
return(1);
return(0);
}
void enqueue(QFS *p,int x)
{
if(p->R==-1)
{
p->R=p->F=0;
p->data[p->R]=x;
}
else
{
p->R=p->R+1;
p->data[p->R]=x;
}
}
int dequeue(QFS *p)
{
int x;
x=p->data[p->F];
if(p->R==p->F)
{
p->R=-1;
p->F=-1;
}
else
{
p->F=p->F+1;
}
return(x);
}
void print(QFS *p , QFN *p2)
{
int i,j;
if(!empty(p,p2))
{
printf("\n");
for(i=p->F;i<=p->R;i++)
{
printf("\t %d ",p->data[i]);
}
printf("\n");
}
}
void enqueue2(QFN *p2,char y)
{
if(p2->R2==-1)
{
p2->R2=p2->F2=0;
p2->data2[p2->R2]=y;
}
else
{
p2->R2=p2->R2+1;
p2->data2[p2->R2]=y;
}
}