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

怎么用C语言实现校运动会项目管理系统

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

北京

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

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

看不清楚,换张图片

免费获取短信验证码

怎么用C语言实现校运动会项目管理系统

本篇内容主要讲解“怎么用C语言实现校运动会项目管理系统”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用C语言实现校运动会项目管理系统”吧!

源码

#include <stdio.h>#include <stdlib.h>#include <string.h>#define N 3 //参与运动会的学院数目//定义一个结构体typedef struct project{    char xiangmu[40];     //比赛项目名称    char name[N][40];     //学院名称    float score[N];       //单项成绩    int no[N];            //单项名次    struct project *next; //指向下一节点的指针} Proj;typedef struct sumno{    char name[40];    float sum;} SumNo;//函数声明放在这里void ListCreate(Proj *L, int n); //创建链表节点void ListSearch(Proj *L);        //查找某个运动会项目信息void ListModify(Proj *L);        //修改某个运动会项目信息void ListDelete(Proj *L);        //删除某个运动会项目信息void Input(Proj *p, int i);      //输入运动会项目信息void Output(Proj *L);            //输出每个运动会项目的学院成绩排名信息void PerRank(Proj *L);           //计算每个运动会项目的学院成绩排名并输出void SumRank(Proj *L);           //所有项目每个学院的总成绩和排名void Menu();                     //校运动会项目管理系统的菜单//校运动会项目管理系统的主函数入口int main(){    int item, n;                      //item用于接收输入的命令,n用于接收输入的项目数    Proj *L = NULL;                   //初始化一个头节点    L = (Proj *)malloc(sizeof(Proj)); //为头节点开辟内存空间    L->next = NULL;                   //将头节点的指针域置空    do    {        Menu(); //菜单        printf("请输入相应的数字,进行相应的操作:\n");        scanf("%d", &item);        system("cls");        switch (item)        {        case 1:            printf("请输入您要录入的项目数目:");            scanf("%d", &n);            ListCreate(L, n); //创建项目链表节点            getchar();            printf("\n请按任意键返回主菜单\n");            getchar();            system("cls");            break;        case 2:            ListSearch(L); //查找项目的相关信息            getchar();            printf("\n请按任意键返回主菜单\n");            getchar();            system("cls");            break;        case 3:            ListModify(L); //修改项目信息            getchar();            printf("\n请按任意键返回主菜单\n");            getchar();            system("cls");            break;        case 4:            ListDelete(L); //删除项目的信息            getchar();            printf("\n请按任意键返回主菜单\n");            getchar();            system("cls");            break;        case 5:            PerRank(L); //计算每个运动会项目的学院成绩排名            Output(L);  //输出每个运动会项目的学院成绩排名信息            getchar();            printf("\n请按任意键返回主菜单\n");            getchar();            system("cls");            break;        case 6:            SumRank(L); //所有项目每个学院的总成绩和排名            getchar();            printf("\n请按任意键返回主菜单\n");            getchar();            system("cls");            break;        case 0:            printf("即将退出校运动会项目管理系统....."); //退出校运动会项目管理系统            exit(0);        default:            printf("您输入的指令不正确,请重新输入");        }        printf("\n\n");    } while (item);    return 0;}//创建链表,将新生成的节点插入到链表的表头void ListCreate(Proj *L, int n){    int i;    for (i = 0; i < n; i++)    {        Proj *p;        //将新生成的节点插入到链表中        p = NULL;        p = (Proj *)malloc(sizeof(Proj));        Input(p, i);        p->next = L->next;        L->next = p;    }}//查找项目信息void ListSearch(Proj *L){    int k;    char n[40];    Proj *p = L->next;    if (p == NULL)        printf("数据为空,无法查找!");    else    {        printf("请输入您要查找的项目名称:");        scanf("%s", n);        while (strcmp(p->xiangmu, n) != 0)        {            p = p->next;            if (p == NULL)            {                printf("没有找到相关信息\n");                return;            }        }        PerRank(L);        printf("该项目的相关信息如下:\n");        printf("学院名称\t单项成绩\t单项名次\n\n");        for (k = 0; k < N; k++)        {            printf("%s\t\t", *((p->name) + k));            printf("%.2f\t\t", *((p->score) + k));            printf("%d\t\n", *((p->no) + k));        }        printf("\n\n");    }}//修改项目的相关信息void ListModify(Proj *L){    int item, k, a;    char n[40], m[40];    Proj *p = L->next;    if (p == NULL)        printf("数据为空,无法修改!");    else    {        printf("请输入您要修改的项目名称:");        scanf("%s", n);        while (strcmp(p->xiangmu, n) != 0)        {            p = p->next;            if (p == NULL)            {                printf("没有找到相关信息\n");                return;            }        }        printf("您是否需要修改项目名称(是输入1,不是输入0):");        scanf("%d", &a);        if (a == 1)        {            printf("请输入您修改后的项目名称:");            scanf("%s", m);            strcpy(p->xiangmu, m);            printf("修改成功!");        }        else if (a == 0)        {            printf("请输入您要修改的学院:");            scanf("%s", n);            for (k = 0; k < N; k++)            {                if (strcmp(*((p->name) + k), n) == 0)                    break;            }            printf("请输入你要修改的项目信息类型:\n");            printf("1、学院名称\n2、该学院该项目的成绩\n");            scanf("%d", &item);            switch (item)            {            case 1:                printf("请输入修改后的学院名称:");                scanf("%s", m);                strcpy(*((p->name) + k), m);                printf("修改成功");                break;            case 2:                printf("请输入您修改后的该学院该项目的成绩:");                scanf("%f", (p->score) + k);                printf("修改成功");                break;            default:                printf("您输入的指令错误!");                break;            }        }        else            printf("您输入错误!");    }}//删除项目的相关信息void ListDelete(Proj *L){    char n[40];    Proj *p = L->next, *pre = L; //定义p指针指向头节点的指向,定义pre指向头节点,pre始终指向p的前驱节点    if (p == NULL)        printf("数据为空,无法删除!");    else    {        printf("请输入您要删除的项目名称:");        scanf("%s", n);        while (strcmp(p->xiangmu, n) != 0)        {            pre = p;            p = pre->next;            if (p == NULL)            {                printf("没有找到相关信息,无法删除\n");                return;            }        }        pre->next = p->next;        free(p);        printf("删除成功");    }}//计算每个运动会项目的学院成绩排名void PerRank(Proj *L){    int i, j, k;    float t;    char na[40] = {' '};    Proj *p = L->next;    if (p == NULL)        printf("数据为空,无法排序!");    else    {        while (p != NULL)        {            for (i = 0; i < N; i++)            {                for (j = 0; j < N - i - 1; j++)                {                    if (*((p->score) + j) < *((p->score) + j + 1))                    {                        t = *((p->score) + j);                        *((p->score) + j) = *((p->score) + j + 1);                        *((p->score) + j + 1) = t;                        strcpy(na, *((p->name) + j));                        strcpy(*((p->name) + j), *((p->name) + j + 1));                        strcpy(*((p->name) + j + 1), na);                    }                }            }            for (k = 0; k < N; k++)                *((p->no) + k) = k + 1;            p = p->next;        }    }}//所有项目每个学院的总成绩和排名;void SumRank(Proj *L){    int i, j, k;    float t;    SumNo s[N],s0;    Proj *p = L->next;    for (i = 0; i < N; i++)    {        strcpy(s[i].name, *((p->name) + N - i - 1));        s[i].sum = 0;    }    if (p == NULL)        printf("数据为空!");    else    {        while (p != NULL)        {            for(i=0;i<N;i++)                s[i].sum += *((p->score) + i);            p = p->next;        }        for (j = 0; j < N; j++)        {            for (k = 0; k < N - j - 1; k++)            {                if(s[k].sum>s[k+1].sum){                    s0 = s[k];                    s[k] = s[k + 1];                    s[k + 1]= s0;                }            }        }        p = L->next;        printf("学院名称\t总成绩\t\t总排名\n");        for (i = N - 1; i >= 0; i--)        {            printf("%s\t\t", s[i].name);            printf("%.2f\t\t", s[i].sum);            printf("%d\t\t", N - i);            printf("\n");        }    }}//输入项目的相关信息void Input(Proj *p, int i){    int j;    printf("请输入第%d个比赛项目名称:", i + 1);    scanf("%s", p->xiangmu);    for (j = 0; j < N; j++)    {        printf("请输入第%d个学院的名称:", j + 1);        scanf("%s", (p->name) + j);        printf("请输入该学院的该项目的成绩:");        scanf("%f", (p->score) + j);    }}//输出全部项目信息void Output(Proj *L){    int k;    Proj *p = L->next;    while (p != NULL)    {        printf("\t\t项目:%s\n\n", p->xiangmu);        printf("学院名称\t单项成绩\t单项名次\n\n");        for (k = 0; k < N; k++)        {            printf("%s\t\t", *((p->name) + k));            printf("%.2f\t\t", *((p->score) + k));            printf("%d\t\n", *((p->no) + k));        }        printf("\n\n");        p = p->next;    }}//校运动会项目管理系统的菜单void Menu(){    printf("\n\n");    printf("\t\t\t===================校运动会项目管理系统==================\n");    printf("\t\t\t* 作者:XXX  班级:人工智能XXXX  学号:XXXXXXXXX            *\n");    printf("\t\t\t*                                                       *\n");    printf("\t\t\t*          1>. 录入运动会项目信息                       *\n");    printf("\t\t\t*          2>. 查找某个运动会项目信息                   *\n");    printf("\t\t\t*          3>. 修改某个运动会项目信息                   *\n");    printf("\t\t\t*          4>. 删除某个运动会醒目信息                   *\n");    printf("\t\t\t*          5>. 每个运动会项目的学院成绩排名             *\n");    printf("\t\t\t*          6>. 所有项目每个学院的总成绩和排名           *\n");    printf("\t\t\t*          0>. 退出管理系统                             *\n");    printf("\t\t\t*                                        欢迎使用本系统!*\n");    printf("\t\t\t=========================================================\n");    printf("\t\t\t输入选项,按回车进入选项:                                \n");}

主菜单截图

怎么用C语言实现校运动会项目管理系统

到此,相信大家对“怎么用C语言实现校运动会项目管理系统”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

免责声明:

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

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

怎么用C语言实现校运动会项目管理系统

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

下载Word文档

猜你喜欢

怎么用C语言实现校运动会项目管理系统

本篇内容主要讲解“怎么用C语言实现校运动会项目管理系统”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用C语言实现校运动会项目管理系统”吧!源码#include #inclu
2023-06-29

C语言如何实现会员管理系统

本文小编为大家详细介绍“C语言如何实现会员管理系统”,内容详细,步骤清晰,细节处理妥当,希望这篇“C语言如何实现会员管理系统”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。会员信息包括:会员号(6位数,唯一),姓名
2023-06-29

C语言怎么实现图书管理系统

要实现一个图书管理系统,可以按照以下步骤进行:1. 定义图书结构体:首先要定义一个图书的结构体,包括图书的编号、名称、作者等信息。```ctypedef struct {int id;char title[100];char author[
2023-08-09

怎么用C语言实现学生成绩管理系统

这篇“怎么用C语言实现学生成绩管理系统”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么用C语言实现学生成绩管理系统”文章吧
2023-06-29

怎么用C语言实现学生宿舍管理系统

这篇文章主要讲解了“怎么用C语言实现学生宿舍管理系统”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用C语言实现学生宿舍管理系统”吧!实现简单的学生宿舍基本信息管理,宿舍的基本信息包括楼号
2023-06-29

怎么用C语言实现职工工资管理系统

本文小编为大家详细介绍“怎么用C语言实现职工工资管理系统”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么用C语言实现职工工资管理系统”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。设计要求:模拟并设计一个企业的
2023-06-29

怎么用C语言链表实现销售管理系统

这篇文章主要介绍“怎么用C语言链表实现销售管理系统”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么用C语言链表实现销售管理系统”文章能帮助大家解决问题。源码#include#in
2023-06-29

怎么用C++代码实现学校人员管理系统

这篇文章主要介绍了怎么用C++代码实现学校人员管理系统的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么用C++代码实现学校人员管理系统文章都会有所收获,下面我们一起来看看吧。题目要求学校人员管理系统1、建立一
2023-06-29

C语言怎么实现员工工资管理系统

这篇文章主要为大家展示了“C语言怎么实现员工工资管理系统”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“C语言怎么实现员工工资管理系统”这篇文章吧。具体内容如下看点:1. 枚举类型的使用(录入与输
2023-06-29

怎么用C语言实现简单通讯录管理系统

本篇内容主要讲解“怎么用C语言实现简单通讯录管理系统”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用C语言实现简单通讯录管理系统”吧!C语言实现的通讯录管理系统,供大家参考,具体内容如下设计
2023-06-20

怎么用C语言实现简易停车场管理系统

本篇内容主要讲解“怎么用C语言实现简易停车场管理系统”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用C语言实现简易停车场管理系统”吧!问题描述:设停车场内只有一个可停放n辆汽车的狭长通道,且
2023-06-29

C语言怎样实现电话簿管理系统

小编给大家分享一下C语言怎样实现电话簿管理系统,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体内容如下文件目录:初始界面现在显示一部分代码://添加联系人voi
2023-06-25

C语言怎么实现简单的图书管理系统

实现一个简单的图书管理系统可以使用C语言来实现,以下是一个简单的示例代码:#include #include // 定义图书结构体struct Book {int id;char title[50
C语言怎么实现简单的图书管理系统
2024-03-08

怎么用C语言链表实现商品库存管理系统

这篇文章主要为大家展示了“怎么用C语言链表实现商品库存管理系统”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“怎么用C语言链表实现商品库存管理系统”这篇文章吧。具体内容如下代码:#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动态编译

目录