我的编程空间,编程开发者的网络收藏夹
学习永远不晚

c语言实现足球比赛积分统计系统

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

c语言实现足球比赛积分统计系统

本文实例为大家分享了c语言实现足球比赛积分统计系统的具体代码,供大家参考,具体内容如下

 
 //为简单化,这里没有加上文件的操作 
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include<windows.h>
#include<conio.h>
#define LEN sizeof(match)
typedef struct football
{
    char name[20];//[足球]队名
    int num[4];//num[0]为单支球队需比赛场数, num[1]为赢场数,num[2]为平场数,num[3]为负场数
    int goal;//进球数
    int lose;//失球数
    int integral;//积分
    int pure;//净胜球
    struct football *next; 
}match;
void menu();//声明菜单函数 
match *creat();//输入球队信息 
void print(match *head);//排序 
match *Add(match *head);//增加球队信息
match *Amend(match *head);//修改球队信息 
match *Del(match *head);//删除球队信息 
void End();//退出该软件 
 
int n=0;//记录节点长度 
match *p2;
 
void toxy(int x, int y)//将光标移动到X,Y坐标处
{
  COORD pos = { x , y };
  HANDLE Out = GetStdHandle(STD_OUTPUT_HANDLE);
  SetConsoleCursorPosition(Out, pos);
}
 
 
void menu()
{
    system("cls");//清屏 
    system("color 72");//颜色 
    toxy(30,6);
    printf("--------------------MENU-----------------------\n");
    toxy(30,8);
    printf("|  1.   Record the information of this match  |\n");
    toxy(30,10);
    printf("|  2.   Add the information of this match     |\n");
    toxy(30,12);
    printf("|  3.   Check the information of this match   |\n");
    toxy(30,14);
    printf("|  4.   delete the information of the match   |\n");
    toxy(30,16);
    printf("|  5.   Amend the information of the match    |\n");
    toxy(30,18);
    printf("|  6.   End this operation                    |\n");
    toxy(30,20);
    printf("-----------------------------------------------\n");
    toxy(30,22);
    printf("What are you want to do ? Input please:");
}
 
match *creat()
{
    system("cls");//清屏 
    system("color 74");//颜色 
    int t,n=0;
    match *head,*p1;
    p2=p1=(match *)malloc(LEN);
    head=NULL;
    
     
    
    
 
    printf("Enter the total number of the football teams:");//参赛的球队数量 
    scanf("%d",&t);
    
    
    
    while(n!=t)
    {
        n++; 
        printf("the name of team %d :",n);//球队名 
        scanf("%s",p1->name);
    
        printf("team %d win round(s):",n);//该球队赢局场数 
        scanf("%d",&p1->num[1]);
    
        printf("team %d draw round(s):",n);//该球队平局场数 
        scanf("%d",&p1->num[2]);
        printf("team %d goal:",n);
        scanf("%d",&p1->goal);
        printf("team %d lose:",n);
        scanf("%d",&p1->lose);
        p1->integral=p1->num[1]*2+p1->num[2];
        p1->pure=p1->goal-p1->lose;
        if(n==1)
        {
            head=p1;
        }
        else
        {
            p2->next=p1;
            p2=p1;
        }
        p1=(match *)malloc(LEN);
    }
    p2->next=NULL;
    return head;
}
 
match *Add(match *head)//增加球队 
{
    system("cls");//清屏 
    system("color 72");//颜色 
    match *p,*q,*newhead;
    int x,y=0;
    newhead=NULL;
    p=q=(match *)malloc(LEN);
    printf("How many teams you want to add?Input please:");
    scanf("%d",&x);
    while(y!=x)
    {
        y++;
        printf("the name of team %d :",y);//球队名 
        scanf("%s",p->name);
    
        printf("team %d win round(s):",y);//该球队赢局场数 
        scanf("%d",&p->num[1]);
    
        printf("team %d draw round(s):",y);//该球队平局场数 
        scanf("%d",&p->num[2]);
        printf("the number of team %d goal:",y);
        scanf("%d",&p->goal);
        printf("the number of team %d lose:",y);
        scanf("%d",&p->lose);
        p->integral=p->num[1]*2+p->num[2];
        p->pure=p->goal-p->lose;
        if(y==1)
        {
            newhead=p;
        }
        else
        {
            q->next=p;
            q=p;
        }
        p=(match *)malloc(LEN);
    }
    q->next=NULL;
    p2->next=newhead;//让新增加的信息接入原有链表的后面 
    return head;
} 
 
 
match *Amend(match *head)//修改信息 
{
    system("cls");
    system("color 72");
    do{
        match *p=head;
        char name[10];
        printf("Please input the team's name which you want to modify:");
        gets(name);
        while(p!=NULL&&strcmp(p->name,name)!=0)
        {
            p=p->next;
        }
        if(p!=NULL)
        {
            toxy(25,4); 
            printf("team_name    win      draw      goal     lose     integral\n");
            toxy(25,6);
            printf("|%3s%10d%10d%10d%10d%10d|\n",p->name,p->num[1],p->num[2],p->goal,p->lose,p->integral);
            printf("Enter the new information please;\n");
            printf("the name of new team :");//球队名 
            scanf("%s",p->name);
        
            printf("team win round(s):");//该球队赢局场数 
            scanf("%d",&p->num[1]);
        
            printf("team  draw round(s):");//该球队平局场数 
            scanf("%d",&p->num[2]);
            printf("the number of new team's goal:");
            scanf("%d",&p->goal);
            printf("the number of  new team's lose:");
            scanf("%d",&p->lose);
            p->integral=p->num[1]*2+p->num[2];
            p->pure=p->goal-p->lose;
            break;
        }
        else
        {
            printf("Input error!Please input again:");
        }
    }while(1);
    return head;
}
 
 
match *Del(match *head)//删除信息 
{
    system("cls");//清屏 
    do{
       match *p=head,*pre=NULL;//pre是p的前驱结点 
       char name[10];
       printf("Please input the team's name which you want to delete;");
       gets(name);
       while(p!=NULL&&strcmp(p->name,name)!=0)
       {
           pre=p;
          p=p->next;
       }
       if(p!=NULL)
       {
           if(pre==NULL)
           {
                head=p->next;
           }
           else
           {
               pre->next=p->next;
           }    
           free(p);
           break;
        }
        else
        {
           printf("Input error!Please input again:");
        }
     }while(1);
    return head;
}
 
void End()
{
    system("cls");
    system("color 74");
    toxy(20,10);
    printf("Thanks for your using!^-^");
    exit(0);//退出 
    getch();
}
 
 
void print(match *head)
{
    system("cls");
    system("color 74");
    match *p,*q,t1,t2,t3,*pt;
    for(p=head;p!=NULL;p=p->next)//球队排序,冒泡法排序 ,关于链表的排序有点小复杂哦~ 
    {
        
        for(q=p->next;q!=NULL;q=q->next)     //这里有3重排序 
        {
            
            if(p->integral<q->integral)
            {
                t1=*p;
                *p=*q;
                *q=t1;    
                pt=p->next;
                p->next=q->next;
                q->next=pt;
            }
            else if(p->integral==q->integral)
            {
                if(p->pure<q->pure)
                {
                    t2=*p;
                    *p=*q;
                    *q=t2;
                    pt=p->next;
                    p->next=q->next;
                    q->next=pt;
                }
                else if(p->pure==q->pure)
                {
                    if(p->goal<q->goal)
                    {
                        t3=*p;
                        *p=*q;
                        *q=t3;
                        pt=p->next;
                        p->next=q->next;
                        q->next=pt;
                    }
                }
            }
        }
    }
    p=head;//重新让p指向第一个结点 
    toxy(20,4);
    printf("--------------------the football match imformation----------------------\n");
    toxy(20,6);
    printf("team_name    win      draw      goal     lose     integral\n");
    int m=8;
        while(p!=NULL)
        {
            toxy(20,m);
            printf("|%3s%10d%10d%10d%10d%10d|\n",p->name,p->num[1],p->num[2],p->goal,p->lose,p->integral);
            p=p->next;
            m+=2;
        }
        printf("\nPlease press any key return to MENU. ");
        getch();
 }
 
 int main()
{
    match *head;
    char x;
    do{
    system("cls");
    system("color 72");
    menu();
    x=getch();
    switch(x)
    {
    
        case '1':
            head=creat();
            break;
        case '2':
            head=Add(head);
            break;
        case '3':
            print(head);
            break;
        case '4':
            head=Del(head);
            break;
        case '5':
            head=Amend(head);
            break;
        case '6':
            End();
            break;
        default:
            printf("Input error!Please input again:");    
    }
    }while(1);//永远为真 
    
    return 0;
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

c语言实现足球比赛积分统计系统

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Java实现排球比赛计分系统

初步计划:或许由于个人原因,排球计分系统在假期就完成了,一直未写博客,就这样一直在推就是不想写,在加上过完年就工作了,可能刚实习工作比较紧所以一直等到现在。写这个系统之前我简单构思了一下,因为离校前我去洛阳参加了一个多月的Java培训,所以
2023-05-31

C语言如何实现歌手比赛系统

这篇文章主要讲解了“C语言如何实现歌手比赛系统”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C语言如何实现歌手比赛系统”吧!一、项目简介对一次歌手比赛的成绩进行管理输入每个选手的数据包括编号
2023-06-30

C语言如何实现会员计费系统

本文小编为大家详细介绍“C语言如何实现会员计费系统”,内容详细,步骤清晰,细节处理妥当,希望这篇“C语言如何实现会员计费系统”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、项目简介通过“会员卡计费系统”C语言课
2023-06-30

C语言如何实现超市计价收款系统

小编给大家分享一下C语言如何实现超市计价收款系统,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!具体内容如下学习一个月的C语言,写了一个简易的超市计价收款系统源码如下#include#include
2023-06-29

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录