Cricketer's database
cricket match players record 2-D linked List struct Player
{
int player_id;
char player_name[30];
char player_type[15]; // batsman,bowler or all rounder
int runs;
int wkts;
struct Player *next;
struct Player *prev;
} Functions
insertion( ) deletion( ) updation( ) search( ) dispose( ) show_all( ) calculate_total_runs( ) calculate_total_wkts( )
calculate_runrate( ) // calculate the run rate
#include
#include
#include
#include
void total_runs(void);
void total_wkts(void);
void run_rate(void);
void new_player(void);
void listall(void);
void update(void);
void search(void);
void delete_player(void);
void dispose(void);
typedef struct player
{
int id,runs,wkts;
char name[30],fname[30],p_type[20];
struct player *next,*prev;
};
struct player *header,*current,*preve,*temp;
int tep;
char ch,tap[30];
int sum=0,sum1=0;
float runrate;
void main(void)
{
int gm=0,gd=0;
initgraph(&gd,&gm,"g:/tc/bgi");
header=(player *)NULL;
while(1)
{
cleardevice();
settextstyle(1,0,4);
outtextxy(160,10,"\nCricketer's Database\n");
moveto(230, 100);
settextstyle(0,0,1);
outtext("\n1.New player.");
moveto(230, 110);
outtext("\n2.List all players.");
moveto(230, 120);
outtext("\n3.Update Information.");
moveto(230, 130);
outtext("\n4.Search player.");
moveto(230, 140);
outtext("\n5.Delete a player.");
moveto(230, 150);
outtext("\n6.Total Runs.");
moveto(230, 160);
outtext("\n7.Total Wickets.");
moveto(230, 170);
outtext("\n8.Run Rate.");
moveto(230, 180);
outtext("\n9.Exit.");
ch=getch();
switch(ch)
{
case '1':
cleardevice();
new_player();
break;
case '2':
cleardevice();
listall();
break;
case '3':
cleardevice();
update();
break;
case '4':
cleardevice();
search();
break;
case '5':
cleardevice();
delete_player();
break;
case '6':
cleardevice();
total_runs();
break;
case '7':
cleardevice();
total_wkts();
break;
case '8':
cleardevice();
run_rate();
break;
case '9':
cleardevice();
dispose();
exit(1);
break;
default:
moveto(180,260);
outtext("\nEnter the choice given above.");
getch();
}
}
}
void new_player(void)
{
current=(player *)malloc(sizeof(player));
printf("\nEnter your ID:");
gets(tap);
current->id=atoi(tap);
printf("\nEnter your name:");
gets(current->name);
printf("\nEnter your father's name:");
gets(current->fname);
printf("\nEnter your total runs:");
gets(tap);
current->runs=atoi(tap);
printf("\nEnter your type(Batsman,Baller,or Allrounder):");
gets(current->p_type);
printf("\nEnter your total wickets taken:");
gets(tap);
current->wkts=atoi(tap);
current->next=(player *)NULL;
if ( header == NULL )
{
header = current;
header -> next = NULL;
header -> prev = NULL;
}
else
{
temp = header;
while ( temp -> id != current -> id && temp != NULL )
temp = temp -> next;
if ( temp -> id == current -> id )
{
printf("The Record id Already exist...\n\n");
}
if ( header -> id > current -> id )
{
current -> next = header;
current -> prev = NULL;
header -> prev = current;
header = current;
}
else
{
temp = header;
while ( temp != NULL && current -> id > temp -> id )
{
preve = temp;
temp = temp -> next;
}
if ( temp != NULL )
{
current -> next = temp;
current -> prev = preve;
preve -> next = current;
temp -> prev = current;
}
else
{
preve -> next = current;
current -> prev = preve;
current -> next = NULL;
}
}
}
printf("\n");
printf("\n\nPress any key to continue...");
getch();
}
void listall(void)
{
temp=header;
while(temp!=NULL)
{
printf("\nID:%d",temp->id);
printf("\nName:%s",temp->name);
printf("\nFather's Name:%s",temp->fname);
printf("\nPlayer Type:%s",temp->p_type);
printf("\nTotal Runs:%d",temp->runs);
printf("\nTotal Wickets:%d",temp->wkts);
temp=temp->next;
}
printf("\nPress any key to continue...");
getch();
}
void dispose(void)
{
temp=header;
while(temp!=NULL)
{
current=temp->next;
free(temp);
temp=current;
}
}
void delete_player(void)
{
int id1;
printf("\nEnter ID of the data to be deleted:");
scanf("%d",&id1);
if(header->id==id1)
{
temp=header->next;
free(header);
header=temp;
}
else
{
temp=header;
while(temp->id!=id1&&temp!=NULL)
{
preve=temp;
temp=temp->next;
}
if(temp==NULL)
{
printf("\nWrong Input.");
}
else
{
preve->next=temp->next;
free(temp);
}
}
printf("\n\nPress any key to continue...");
getch();
}
void search(void)
{
int id2;
temp=header;
printf("\nEnter the ID to search:");
scanf("%d",&id2);
while(temp->id!=id2&&temp!=NULL)
{
temp=temp->next;
}
printf("\nID:%d",temp->id);
printf("\nName:%s",temp->name);
printf("\nFather's Name:%s",temp->fname);
printf("\nPlayer Type:%s",temp->p_type);
printf("\nTotal Runs:%d",temp->runs);
printf("\nTotal Wickets:%d",temp->wkts);
printf("\n\nPress any key to continue...");
getch();
}
void update(void)
{
unsigned char ch;
char array[50];
int id2, action = 0;
printf("Enter ID, which Details You Want to Update ");
scanf("%d", &id2);
printf("\n");
temp = header;
while ( temp != NULL && temp -> id != id2 )
temp = temp -> next;
if ( temp != NULL )
{
printf("ID Found!!!\n\n");
printf("In which field do you want to make changes\n\n");
printf("1.Name of player\n");
printf("2.Father's Name\n");
printf("3.Player type\n");
printf("4.Runs\n");
printf("5.Wickets taken\n");
ch = getch ();
while ( action == 0 )
switch (ch)
{
case '1' :
printf("Enter Name ");
gets ( temp -> name );
gets ( temp -> name );
action++;
break;
case '2' :
printf("Enter Father's Name ");
gets ( temp -> fname );
gets ( temp -> fname );
action++;
break;
case '3' :
printf("Enter Player type ");
gets ( temp -> p_type );
gets ( temp -> p_type );
action++;
break;
case '4' :
printf("Enter new runs");
gets ( array );
gets ( array );
temp -> runs = atoi ( array );
action++;
break;
case '5' :
printf("Enter Wickets");
gets ( array );
gets ( array );
temp -> wkts = atoi ( array );
action++;
break;
default :
printf("Invalid Selection\n");
ch = getch();
break;
}
}
else
printf("Record Does not Exist...\n");
printf("\n");
printf("\n\nPress any key to continue...");
getch();
}
void total_runs(void)
{
temp=header;
while(temp!=NULL)
{
sum+=temp->runs;
temp=temp->next;
}
printf("The total score is %d",sum);
printf("\n\nPress any key to continue...");
getch();
}
void total_wkts(void)
{
temp=header;
while(temp!=NULL)
{
sum1+=temp->wkts;
temp=temp->next;
}
printf("The total wickets taken are %d",sum1);
printf("\n\nPress any key to continue...");
getch();
}
void run_rate(void)
{
float over;
printf("Enter the number of over played:");
scanf("%f",&over);
runrate=sum/over;
printf("\n%d\n",sum);
printf("The run rate is %f",runrate);
printf("\n\nPress any key to continue...");
getch();
} // calculate total wickets // calculate total runs of all ther players// in sorted order
{
int player_id;
char player_name[30];
char player_type[15]; // batsman,bowler or all rounder
int runs;
int wkts;
struct Player *next;
struct Player *prev;
} Functions
calculate_runrate( ) // calculate the run rate
#include
#include
#include
#include
void total_runs(void);
void total_wkts(void);
void run_rate(void);
void new_player(void);
void listall(void);
void update(void);
void search(void);
void delete_player(void);
void dispose(void);
typedef struct player
{
int id,runs,wkts;
char name[30],fname[30],p_type[20];
struct player *next,*prev;
};
struct player *header,*current,*preve,*temp;
int tep;
char ch,tap[30];
int sum=0,sum1=0;
float runrate;
void main(void)
{
int gm=0,gd=0;
initgraph(&gd,&gm,"g:/tc/bgi");
header=(player *)NULL;
while(1)
{
cleardevice();
settextstyle(1,0,4);
outtextxy(160,10,"\nCricketer's Database\n");
moveto(230, 100);
settextstyle(0,0,1);
outtext("\n1.New player.");
moveto(230, 110);
outtext("\n2.List all players.");
moveto(230, 120);
outtext("\n3.Update Information.");
moveto(230, 130);
outtext("\n4.Search player.");
moveto(230, 140);
outtext("\n5.Delete a player.");
moveto(230, 150);
outtext("\n6.Total Runs.");
moveto(230, 160);
outtext("\n7.Total Wickets.");
moveto(230, 170);
outtext("\n8.Run Rate.");
moveto(230, 180);
outtext("\n9.Exit.");
ch=getch();
switch(ch)
{
case '1':
cleardevice();
new_player();
break;
case '2':
cleardevice();
listall();
break;
case '3':
cleardevice();
update();
break;
case '4':
cleardevice();
search();
break;
case '5':
cleardevice();
delete_player();
break;
case '6':
cleardevice();
total_runs();
break;
case '7':
cleardevice();
total_wkts();
break;
case '8':
cleardevice();
run_rate();
break;
case '9':
cleardevice();
dispose();
exit(1);
break;
default:
moveto(180,260);
outtext("\nEnter the choice given above.");
getch();
}
}
}
void new_player(void)
{
current=(player *)malloc(sizeof(player));
printf("\nEnter your ID:");
gets(tap);
current->id=atoi(tap);
printf("\nEnter your name:");
gets(current->name);
printf("\nEnter your father's name:");
gets(current->fname);
printf("\nEnter your total runs:");
gets(tap);
current->runs=atoi(tap);
printf("\nEnter your type(Batsman,Baller,or Allrounder):");
gets(current->p_type);
printf("\nEnter your total wickets taken:");
gets(tap);
current->wkts=atoi(tap);
current->next=(player *)NULL;
if ( header == NULL )
{
header = current;
header -> next = NULL;
header -> prev = NULL;
}
else
{
temp = header;
while ( temp -> id != current -> id && temp != NULL )
temp = temp -> next;
if ( temp -> id == current -> id )
{
printf("The Record id Already exist...\n\n");
}
if ( header -> id > current -> id )
{
current -> next = header;
current -> prev = NULL;
header -> prev = current;
header = current;
}
else
{
temp = header;
while ( temp != NULL && current -> id > temp -> id )
{
preve = temp;
temp = temp -> next;
}
if ( temp != NULL )
{
current -> next = temp;
current -> prev = preve;
preve -> next = current;
temp -> prev = current;
}
else
{
preve -> next = current;
current -> prev = preve;
current -> next = NULL;
}
}
}
printf("\n");
printf("\n\nPress any key to continue...");
getch();
}
void listall(void)
{
temp=header;
while(temp!=NULL)
{
printf("\nID:%d",temp->id);
printf("\nName:%s",temp->name);
printf("\nFather's Name:%s",temp->fname);
printf("\nPlayer Type:%s",temp->p_type);
printf("\nTotal Runs:%d",temp->runs);
printf("\nTotal Wickets:%d",temp->wkts);
temp=temp->next;
}
printf("\nPress any key to continue...");
getch();
}
void dispose(void)
{
temp=header;
while(temp!=NULL)
{
current=temp->next;
free(temp);
temp=current;
}
}
void delete_player(void)
{
int id1;
printf("\nEnter ID of the data to be deleted:");
scanf("%d",&id1);
if(header->id==id1)
{
temp=header->next;
free(header);
header=temp;
}
else
{
temp=header;
while(temp->id!=id1&&temp!=NULL)
{
preve=temp;
temp=temp->next;
}
if(temp==NULL)
{
printf("\nWrong Input.");
}
else
{
preve->next=temp->next;
free(temp);
}
}
printf("\n\nPress any key to continue...");
getch();
}
void search(void)
{
int id2;
temp=header;
printf("\nEnter the ID to search:");
scanf("%d",&id2);
while(temp->id!=id2&&temp!=NULL)
{
temp=temp->next;
}
printf("\nID:%d",temp->id);
printf("\nName:%s",temp->name);
printf("\nFather's Name:%s",temp->fname);
printf("\nPlayer Type:%s",temp->p_type);
printf("\nTotal Runs:%d",temp->runs);
printf("\nTotal Wickets:%d",temp->wkts);
printf("\n\nPress any key to continue...");
getch();
}
void update(void)
{
unsigned char ch;
char array[50];
int id2, action = 0;
printf("Enter ID, which Details You Want to Update ");
scanf("%d", &id2);
printf("\n");
temp = header;
while ( temp != NULL && temp -> id != id2 )
temp = temp -> next;
if ( temp != NULL )
{
printf("ID Found!!!\n\n");
printf("In which field do you want to make changes\n\n");
printf("1.Name of player\n");
printf("2.Father's Name\n");
printf("3.Player type\n");
printf("4.Runs\n");
printf("5.Wickets taken\n");
ch = getch ();
while ( action == 0 )
switch (ch)
{
case '1' :
printf("Enter Name ");
gets ( temp -> name );
gets ( temp -> name );
action++;
break;
case '2' :
printf("Enter Father's Name ");
gets ( temp -> fname );
gets ( temp -> fname );
action++;
break;
case '3' :
printf("Enter Player type ");
gets ( temp -> p_type );
gets ( temp -> p_type );
action++;
break;
case '4' :
printf("Enter new runs");
gets ( array );
gets ( array );
temp -> runs = atoi ( array );
action++;
break;
case '5' :
printf("Enter Wickets");
gets ( array );
gets ( array );
temp -> wkts = atoi ( array );
action++;
break;
default :
printf("Invalid Selection\n");
ch = getch();
break;
}
}
else
printf("Record Does not Exist...\n");
printf("\n");
printf("\n\nPress any key to continue...");
getch();
}
void total_runs(void)
{
temp=header;
while(temp!=NULL)
{
sum+=temp->runs;
temp=temp->next;
}
printf("The total score is %d",sum);
printf("\n\nPress any key to continue...");
getch();
}
void total_wkts(void)
{
temp=header;
while(temp!=NULL)
{
sum1+=temp->wkts;
temp=temp->next;
}
printf("The total wickets taken are %d",sum1);
printf("\n\nPress any key to continue...");
getch();
}
void run_rate(void)
{
float over;
printf("Enter the number of over played:");
scanf("%f",&over);
runrate=sum/over;
printf("\n%d\n",sum);
printf("The run rate is %f",runrate);
printf("\n\nPress any key to continue...");
getch();
}
Comments
Post a Comment