# list **Repository Path**: creatte/list ## Basic Information - **Project Name**: list - **Description**: 大一下的C语言课设 - **Primary Language**: C - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-03-03 - **Last Updated**: 2021-07-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 程序设计报告 名字:何林轩 班级:软件193班 学号:2019082306 ### 题目 足球比赛积分排行榜 ### 要求 1. 10个足球队进行9轮循环赛,胜一场积3分,平一场积1分,输一场积0分 2. 输入每轮比赛的比分,并可以存储,最后输出排行榜 3. 排行榜要求: 采用**降序排列**由高到低进行排名,首先采用**队伍的积分**进行比较;若**队伍的积分相同**,则采用**队伍的净球数**进行比较;若**队伍的积分,净球数均相同**,则采用**队伍的总球数**进行比较。 ### 设计思路 构建多个函数,完成对队伍信息进行录入,对每场比赛进行录入并储存,根究比赛结果对10支队伍进行排行 ### 数据结构 使用单向链表的结构体,用来储存每支队伍的名字,编号,赢的次数,平局的次数,输的次数,总积分,净球数和总球数,除名字为字符型数组,长度20,其他均为整型,结构体指针指向下一个结点。 ### 程序主要流程图 ![输入图片说明](https://images.gitee.com/uploads/images/2020/0315/164731_68c5c2e2_6511355.png "程序框图.png") ### 功能展示 ![输入图片说明](https://images.gitee.com/uploads/images/2020/0315/164812_760adbe5_6511355.png "课设4.png") ![输入图片说明](https://images.gitee.com/uploads/images/2020/0315/164755_a41ea17e_6511355.png "课设5.png") ![输入图片说明](https://images.gitee.com/uploads/images/2020/0315/164837_3e053bd9_6511355.png "课设2.png") ![输入图片说明](https://images.gitee.com/uploads/images/2020/0315/164855_8535d089_6511355.png "课设.png") ![输入图片说明](https://images.gitee.com/uploads/images/2020/0315/164909_5f1c4755_6511355.png "课设3.png") ![输入图片说明](https://images.gitee.com/uploads/images/2020/0315/164920_3fa29fad_6511355.png "课设6.png") ### 功能函数介绍 1. 链表指针型函数 >Node *InitializeList(); //初始化链表,返回头指针 2. 功能函数 >void read_information (); //阅读每场比赛信息 >void read_ranking(Node *list);//读取最终排行榜 >void name_input(Node *list);//输入函数:输入队伍名字 >void game_input(Node *list); //输入每场比赛结果 >void sort (Node *list); //根据请比赛的分进行排行 >void output (Node *list); //输出比赛结果 >void write_ranking (Node *list); //将排行榜写入文件 >void distributed(int n1,int n2,int s1,int s2,Node *head);//将每场比赛结果进行准确分配 ### 遇到的问题和处理方法 1. 当录入队伍信息时,每个队伍的名字不能超过20个字符或不超过6个汉字,否则将会使程序闪退或直接结束,需要重新启动程序。 2. 录入每场比赛信息时,需要输入队伍编号,两支队伍编号中间用空格隔开(eg:1 3),两支队伍的进球数也需在中间用空格隔开(eg:3 2),否则会导致队伍数据信息发生错误,需要重启数据。 3. 录入比赛信息时请勿在编号出输入字符型变量,否则会使程序崩溃出现错误导致无法继续录入数据,需要重启数据。 4. 录入比赛信息后,须记住球队名字与编号,在后期录入数据时并非会有相关数据提示。 5. 如遇程序意外中断(可能是链表获取内存失败或文件打开失败),则需重启程序。 >如若程序后期使用过程中发生除以上情况外的错误,请求留言,联系方式为:xxx@qq.com.如若给你程序带来不便,敬请谅解。 ### 自我总结 这次的c语言程序设计课,让我收益匪浅。虽然时间很短暂只有短短的几周的时间,但也发现了许许多多的问题,像在C语言知识的空缺,编译软件的使用不熟练等等。这些问题也在这次的课设中得到了纠正和补充,但c原因依旧有许多的知识需要去探索。在大学的学习方式也与之前的学习方式有着许多不同,获取知识或遇到问题时,不仅仅只有学校这一条路,我们更加应该学会使用现代网络来解决问题。计算机的路还有很长,需要我们一步一步的探索,虽然路途会比较艰辛,但只要坚持就一定能发现许许多多的东西。