C 语言课程设计报告
题 目: 球员信息管理系统
院系名称:
专业名称:
班 级:
学生姓名:
学号(8 位):
指导教师:
设计起止时间:2017 年 9 月 6 日~2017 年 9 月 15 日
一.设计目的
1.通过本课程设计,强化上机动手能力,使我们在理论和实践的基础上进一步
巩固《C 语言程序设计》课程内容,掌握工程软件设计的基本方法。
2.学会将知识应用于实践的方法,提高分析和解决问题的能力,增强综合能力。
3.为以后各门计算机课程的学习打下坚实的基础,为以后毕业设计和以后工作
打下必要的基础。
二. 设计内容
设计一球员信息管理系统,使之能提供以下功能:
系统以菜单方式工作
球员信息录入功能(球员信息用文件保存)---输入
球员信息浏览功能---输出
查询、排序功能---算法
按姓名、球队、胜率等查询
球员信息的删除与修改(可选项)
登录密码的修改
BOSS 对球员信息及领队信息的管理
建立一个小型的 NBA 球星管理系统。可对 NBA 的球员信息和领队信息进行管理。
三.概要设计
1. 功能模块图;
2.
2.各个模块详细的功能描述。
1.初始化模块
建立链表,用链表对信息进行存储,程序运行先从文件中读取信息插入链表
中,并对程序需要用到的全局变量进行初始化。,
2.登录模块
前期工作做完进入登录函数,登录类型分为三种:管理员、领队、球员,
确定登录类型后,将用户输入的账号在链表中进行匹配,若存在并返回该节点,
若不存在则返回 null,然后对该节点进行判断,并将输入的密码与该节点保存
的密码进行匹配,密码在屏幕上以星号形式显示,并用回格和回车的 ASC 码进
行判断,密码验证完后进入整个系统,若密码验证失败用户并选择退出则先对
手动申请的内存进行析构,然后退出系统。
3.球员管理模块
球员管理模块分为三个部分,(1)管理员管理,(2)领队管理,(3)球员自己管
理。从球员到管理员每一层往上都可以对其下的成员进行操作,在操作的时候
通过客户的不同需求在链表里面搜索满足客户需求的节点,若存在返回该节点,
不存在则返回 null,然后对返回的节点按照客户的需求进行操作,并对客户的
输入进行验证,如果满足条件则操作成功,否则失败或结束。
4.收尾模块
每当程序运行结束之间都会进入这个模块,它就相当于 c++对象的析构函
数,进入之后为程序做一些善后工作,将链表的节点用 fread 写入程序,在写入
的时候对密码进行加密,以 fread 写入的时候相当于进行了二次加密(如果不知
道写入的类型,就无法查看文件中的内容),写入文件的同时对该节点进行析构。
四.详细设计
1.功能函数的调用关系图