1234

Cricket score sheet source code

Cricket score sheet source code
#include<stdlib.h>
#include<time.h>
#include<stdio.h>
#include<math.h>
#include<string.h>
int scoreboardI();
int scoreboardA();
int strikeI();
int strikeA();
int Australia();
int India();
int winner(int,int);
char teamI[11][20]={"Virat Kohli","Shikar Dawan","Rohith Sharma","Hardhik Pandya","Umesh Yadav","Ms.Dhoni(C,Wk)","Chandran Ashwin","Ravindra Jadeja","Suresh Raina","Ishant Sharma","Bhuvaneswar"};
char BBowlers[7][20]={"Steve Smith(C)","Shaun Marsh","Usman Khawaja","Josh Hazlewood","Bard Haddin(Wk)","James Faulkner","David Warner"};
char teamA[11][20]={"Steve Smith(c)","Shaun Marsh","Usman Khawaja","Josh Hazlewood","Bard Haddin(wk)","James Faulkner","David Warner","Mitchell Starc","Glen Maxwell","Shane Watson","Peter Handswmb"};
char ABowlers[7][20]={"Suresh Raina","Rohith Sharma","Hardhik Pandya","Chandan Ashwin","Ravindra Jadeja","Ishanth Sharma","Bhuvaneswar"};
int flag,i,j,over,ch,c,player,bowler,runs,temp,toss,p1=0,striker,scoreI=0,scoreA=0,p2=1,wkA=0,wkI=0,ai=2,bi=2;
int Iruns[11]={0},Aballs[7][2]={0};//Declaring Runs
int Aruns[11]={0},Iballs[7][2]={0};
void main()
{
    int min=0,max=1;
    striker=p1;
    printf("\t\tPress Enter for toss.\n");
    getch("\n");
    srand(time(NULL));
    toss=rand()%(max-min+1)+min;
    if(toss==1)
        printf("\t\t******Toss Won by Australia*****\n");
    else
        printf("\t\t*****Toss won by India******\n");
    printf("Enter number of overs:\n");
    scanf("%d",&over);
    if(toss==1)
    {
        printf("\n\t\tPress 0 to choose BATTING\n\n\t\tPress any key between 1 to 9 to Bowl\n:");
        scanf("%d",&c);
        printf("\n\t\t*****First Innings started*****\n");
        if(c==0)
            Australia();
        else
            India();
        printf("\t\t*****1st Innings completed.*****\n");
        //printf("\n\t\tPress any key to continue Second Innings\n");
        getch();
        //system("cls");
        printf("\n\t\t*****Second Innings Started*****\n");
        if(c!=0)
            Australia();
        else
            India();
    }
    else
    {
        printf("\n\t\tPress 0 to choose BATTING\n\n\t\tPress any key between 1 to 9 to Bowl\n:");
        scanf("%d",&c);
        printf("\n\t\t*****First Innings Started*****\n");
        if(c==0)
            India();
        else
            Australia();
        printf("\t\t*****1st Innings completed.*****\n");
        getch();
        printf("\n\t\t*****Second Innings Started*****\n");
        //system("cls");
        if(c!=0)
            India();
        else
            Australia();
    }
 }
int India()
{
    for(i=0;i<over;i++)
    {
        sbowler:printf("Select a Bowler to Bowl\n");
        printf("1.Steve Smith(c)\t2.Shaun Marsh\t3.Usman Khawaja\t4.Josh Hazlewood\t5.Bard Haddin\t6.James Faulkner\t7.David Warner\n");
        scanf("%d",&bowler);
        printf("\nPress 's'\n");
        if(bowler>7||bowler<1)
        {
            printf("Invalid Bowler");
            goto sbowler;
        }
        bowler=bowler-1;
        for(j=1;j<=6;j++)
        {
            printf("\nOver %d.%d\a\a\n\n",i,j);
            ch=getch();
            if(ch=='s')
                strikeI();
            if((toss==0&&c!=0)||(toss==1&&c==0))
            {
                flag=winner(i,j);
            }
            if(flag==1)
                break;
            if (wkI==10)
            {
                printf("\n\n @@@@@Total score@@@@@:%d\n",scoreI);
                return 0;
            }
        }
        if(flag==1)
            break;
        if(runs%2==0)
        {
            temp=p1;
            p1=p2;
            p2=temp;
        }
        printf("\n");
        scoreboardI();
        if((toss==0&&c!=0)||(toss==1&&c==0))
            {
                flag=winner(i,j);
            }
    }
    printf("\n\n Total Score:%d - %d\n",scoreI,wkI);
}

int strikeI()
{
    int min=0,max=13;
    srand(time(NULL));
    runs=rand()%(max-min+1)+min;//runs
    switch(runs)//score counting
    {
        case 0:
                printf("Dot ball\t");
                break;
        case 1:
        case 2:
        case 3:
        case 4:
        case 5:
        case 6:
                scoreI=scoreI+runs;
                Aballs[bowler][1]+=runs;
                printf("%d\t",runs);
                if(striker==p1)
                {
                    if(runs%2==0)
                    {
                        Iruns[striker]+=runs;
                    }
                    else
                    {
                        Iruns[striker]+=runs;
                        striker=p2;
                    }
                }
                else if(striker==p2)
                {
                    if(runs%2==0)
                    {
                        Iruns[striker]+=runs;
                    }
                    else
                    {
                        Iruns[striker]+=runs;
                        striker=p1;
                    }
                }
                break;
        case 7:
                printf("Bowled\t");
                Aballs[bowler][0]++;
                wkI++;
                if(striker==p1)
                {
                    p1=ai;
                    ai++;
                    striker=p1;
                }
                else
                {
                    p2=ai;
                    ai++;
                    striker=p2;
                }
                break;
        case 8:
                printf("lbw\t");
                Aballs[bowler][0]++;
                if(striker==p1)
                {
                    p1=ai;
                    ai++;
                    striker=p1;
                }
                else
                {
                    p2=ai;
                    ai++;
                    striker=p2;
                }
                wkI++;
                break;
        case 9:
                printf("Catch Out\t");
                Aballs[bowler][0]++;
                if(striker==p1)
                {
                    p1=ai;
                    ai++;
                    striker=p1;
                }
                else
                {
                    p2=ai;
                    ai++;
                    striker=p2;
                }
                wkI++;
                break;
        case 10:
                printf("Run Out\t");
                Aballs[bowler][0]++;
                if(striker==p1)
                {
                    p2=ai;
                    ai++;
                    striker=p2;
                }
                else
                {
                    p1=ai;
                    ai++;
                    striker=p1;
                }
                wkI++;
                break;
        case 11:
                j--;
                Aballs[bowler][1]++;
                printf("Nb\t");
                scoreI=scoreI+1;
                break;
        case 12:
                j--;
                Aballs[bowler][1]++;
                printf("Wd\t");
                scoreI=scoreI+1;
                break;
        case 13:
                printf("lb\t");
                Aballs[bowler][1]++;
                scoreI=scoreI+1;
                break;
    }
}
int scoreboardI()
{
    int i,j,k=0;
    printf("\n\nThe Indian team are:\t\tRuns:\n");
    for(i=0;i<11;i++)
    {
        if(k<ai-2)
            printf("\n%s\t\t\t%d\t\tOUT\n",teamI[i],Iruns[i]);//Printing Indian Team.
         else if(k<ai-1||k<ai)
            printf("\n%s\t\t\t%d\t\tNOT OUT\n",teamI[i],Iruns[i]);//Printing Indian Team.
        else
            printf("\n%s\t\t\t%d\t\tNOT YET BAT\n",teamI[i],Iruns[i]);//Printing Indian Team.
        k++;
    }
    printf("\nScore: %d - (%d)",scoreI,wkI);
    printf("\n\n\nThe Australian team:\twickets taken:\t\t\tRuns:\n");
    for(j=0;j<7;j++)
    {
        printf("\n%s\t\t\t%d\t\t\t%d\n",BBowlers[j],Aballs[j][0],Aballs[j][1]);//Printing Australian Bowling Team.
    }
    printf("\n");
    return 0;
}
int Australia()
{
    striker=p1;
    for(i=0;i<over;i++)
    {
        sbowler:printf("Select a bowler to bowl\n");
        printf("1.Virat Kohli\t2.Rohith Sharma\t3.Hardhik Pandya\t4.Chandan Ashwin\t5.Ravindra Jadeja\t6.Ishanth Sharma\t7.Bhuvaneswar\n");
        scanf("%d",&bowler);
        printf("\nPress 's'\n");
        if(bowler>7||bowler<1)
        {
            printf("Invalid Bowler");
            goto sbowler;
        }
        bowler=bowler-1;
        for(j=1;j<=6;j++)
        {
            printf("\n Over %d.%d\a\a\n\n",i,j);
            ch=getch();
            if(ch=='s')
                strikeA();
            if((toss==1&&c!=0)||(toss==0&&c==0))
            {
                flag=winner(i,j);
            }
            if(flag==1)
                break;
            if(wkA==10)
            {
                printf("\n\n Total Score:%d\n",scoreA);
                return 0;
            }
        }
        if(runs%2==0)
        {
            temp=p1;
            p1=p2;
            p2=temp;
        }
        printf("\n");
        scoreboardA();
         if((toss==1&&c!=0)||(toss==0&&c==0))
            {
                flag=winner(i,j);
            }
        if(flag==1)
            break;
    }
    printf("\n\n Total Score:%d - %d\n",scoreA,wkA);
}
int strikeA()
{
    int min=0,max=13;
    srand(time(NULL));
    runs=rand()%(max-min+1)+min;
    switch(runs)
    {
        case 0:
                printf("Dot Ball\t");
                break;
        case 1:
        case 2:
        case 3:
        case 4:
        case 5:
        case 6:
                scoreA=scoreA+runs;
                Iballs[bowler][1]+=runs;
                printf("%d\t",runs);
                if(striker==p1)
                {
                    if(runs%2==0)
                    {
                        Aruns[striker]+=runs;
                    }
                    else
                    {
                        Aruns[striker]+=runs;
                        striker=p2;
                    }
                }
                else if(striker==p2)
                {
                    if(runs%2==0)
                    {
                        Aruns[striker]+=runs;
                    }
                    else
                    {
                        Aruns[striker]+=runs;
                        striker=p1;
                    }
                }
                break;
        case 7:
                printf("Bowled\t");
                Iballs[bowler][0]++;
                wkA++;
                if(striker==p1)
                {
                    p1=bi;
                    bi++;
                    striker=p1;
                }
                else
                {
                    p2=bi;
                    bi++;
                    striker=p2;
                }
                break;
        case 8:
                printf("lbw\t");
                Iballs[bowler][0]++;
                if(striker==p1)
                {
                    p1=bi;
                    bi++;
                    striker=p1;
                }
                else
                {
                    p2=bi;
                    bi++;
                    striker=p2;
                }
                wkA++;
                break;
        case 9:
                printf("Catch Out\t");
                Iballs[bowler][0]++;
                if(striker==p1)
                {
                    p1=bi;
                    bi++;
                    striker=p1;
                }
                else
                {
                    p2=bi;
                    bi++;
                    striker=p2;
                }
                wkA++;
                break;
        case 10:
                printf("Run Out\t");
                Iballs[bowler][0]++;
                if(striker==p1)
                {
                    p2=bi;
                    bi++;
                    striker=p2;
                }
                else
                {
                    p1=bi;
                    bi++;
                    striker=p1;
                }
                wkA++;
                break;
        case 11:
                j--;
                Iballs[bowler][1]++;
                printf("Nb\t");
                scoreA=scoreA+1;
                break;
        case 12:
                j--;
                Iballs[bowler][1]++;
                printf("Wd\t");
                scoreA=scoreA+1;
                break;
        case 13:
                printf("lb\t");
                Iballs[bowler][1]++;
                scoreA=scoreA+1;
                break;
    }
}
int scoreboardA()
{
    int i,j,k=0;
    printf("\n\nThe Australia team are:\t\tRuns:\n");
    for(i=0;i<11;i++)
    {
        if(k<bi-2)
            printf("\n%s\t\t\t%d\t\tOUT\n",teamA[i],Aruns[i]);//Printing Indian Team.
        else if(k<bi-1||k<bi)
            printf("\n%s\t\t\t%d\t\tNOT OUT\n",teamA[i],Aruns[i]);//Printing Indian Team.
        else
            printf("\n%s\t\t\t%d\t\tNOT YET BAT\n",teamA[i],Aruns[i]);//Printing Indian Team.
        k++;
    }
    printf("\nScore: %d - (%d)",scoreA,wkA);
    printf("\n\n\nThe Indian team:\twickets taken:\t\t\tRuns:\n");
    for(j=0;j<7;j++)
    {
        printf("\n%s\t\t\t%d\t\t\t%d\n",ABowlers[j],Iballs[j][0],Iballs[j][1]);
    }
    printf("\n");
    return 0;
}
int winner(int overs,int bowls)
{
    if((toss==0&&c!=0)||(toss==1&&c==0))
    {
        if(scoreI>scoreA)
        {
            printf("*****INDIA WON THE MATCH*****");
            return 1;
        }
        else if(scoreI<scoreA&&wkI==10||overs==over-1&&bowls==6)
        {
            printf("*****Australia WON THE MATCH*****");
            return 1;
        }
        else if(scoreI==scoreA&&wkI==10||overs==over-1&&bowls==6)
        {
            printf("*****MATCH TIE*****");
            return 1;
        }
        else
            return 0;
    }
    if((toss==1&&c!=0)||(toss==0&&c==0))
    {
        if(scoreA>scoreI)
        {
            printf("*****Australia WON THE MATCH*****");
            return 1;
        }
        else if(scoreA<scoreI&&wkA==10||overs==over-1&&bowls==6)
        {
            printf("*****INDIA WON THE MATCH*****");
            return 1;
        }
        else if(scoreA==scoreI&&wkI==10||overs==over-1&&bowls==6)
        {
            printf("*****MATCH TIE*****");
            return 1;
        }
        else
            return 0;
    }
}

3 comments: