C语言北邮2023题目[2023-08-28]
计算机实习
李 晶
杨金翠
孙鹏飞
李峥
参考资料
C语言程序设计的教材及相关课堂资料
搜索引擎
时间表
8.28 – 9.01
时间 周一 周二 周三 周四 周五
内容 宣讲 实践 实践 实践 实践
节次 1-4节 1-5节 1-5节 1-5节 1-5节
9. 04 - 9. 08
时间 周一 周二 周三 周四 周五
内容 实践 实践 实践&验收 实践&验收
节次 1-5节 1-5节 1-5节 1-5节
机房:教四楼103/138,教一楼101
实践要求
C 语言
两个题目,任选其一;
分组完成,五人一组,自愿组合;
开发环境:VC/Visual Studio/Dev C++/C Free等。
要求:
提供命令行操作,无需图形界面
模块化结构
遵守编程规范
界面友好
运行正确
具有容错机制
实践内容
综合体育场馆管理系统
团体游景点门票预订系统
综合体育场馆管理系统
概述
编写综合体育场馆管理系统,模拟体育场馆和参与体育运动的人员
的管理以及租借场景。该系统服务人群:
顾客。顾客基本信息包含:用户ID、姓名、性别、年龄、电话、密码、
邮箱、账户余额、所属地理区域等。
场馆管理员。每个场馆有一名管理员。管理员信息包含:管理员ID、所
属场馆名称、姓名、性别、邮箱、密码、电话等。
要求:
顾客ID、管理员ID均为字母数字组合的字符串,长度6-10个字符
电话号码为11位数字
邮箱必须符合规范@.***
账户余额为包含两位小数位的浮点数。
综合体育场馆管理系统
场地信息包含:
场地编号、所属区域、所属场馆、场地适合的运动类型、每种场地
适合的运动简介、准入年龄、租金、各个时间段租借情况。
要求:
场地编号:字母数字混合,长度6-10个字符;
租金:浮点数,保留两位小数;
假设:
共有3个场馆,每个场馆有2个场地;
所有场馆场地的可租借时间均为:6:00-22:00;
所有场馆均按时收费。
综合体育场馆管理系统
租借信息包含:
订单编号、预定日期、预定场地编号、租借场地日期、租借场地开
始时间、租借场地结束时间、是否按时到场等。
要求:
订单编号:顾客ID+预定日期(预定日期格式见下面)
预定日期:符合时间格式yyyy:mm:dd:hh:mm
租借场地日期:符合时间格式yyyy:mm:dd
租借场地开始时间、租借场地结束时间:符合时间格式hh:mm
假设:
一个ID每次能租借的场地数目上限为3;
只能提前一周租借场地。
综合体育场馆管理系统
顾客功能:
登陆:输入用户ID和密码登陆系统。
场地查询:根据系统提供的信息进行场地查询。
根据场地名称进行查询;
根据场馆名称进行查询;
根据场地类别和所属区域进行查询;
根据是否有空余场地过滤查询结果;
根据租金排序所有场地;
根据预定量排序所有场地;
查询之后允许预定;
系统可以有热门场地推荐,可根据价格或就近地址的顾客的共
同喜好等信息来推荐,此处可自行确定用什么规则来推荐。
综合体育场馆管理系统
顾客功能:
顾客预定场地:顾客根据需要浏览并可选择感兴趣的
场地。
每次预定可预定多个场地;
预定时间以整点开始,整点结束;
来自不同场馆的场地自动拆分成多个预定订单;
租借的场地数目不能超出场馆的可用场地数目;
租借的场地总费用不能超出账户余额;
要能处理时段冲突;
有些运动不适合儿童或者老年人,不允许预约;
历史上爽约超过三次的顾客不允许预定。
综合体育场馆管理系统
顾客功能:
个人信息管理
对个人信息中的电话、密码、邮箱及地址进行修改
取消预定
在使用场馆前的24小时内可以取消自己的预定信息
查询预定后的订单
查看用户曾经预定的记录
综合体育场馆管理系统
场馆管理员功能:
登陆:输入管理员ID和密码登陆系统。
预定管理:
查看用户预定情况:
查询管理员自己所属场馆的场地预定情况(历史上的预定以及预
定详情)
统计用户预定信息:
按预定量对本场馆的所有场地进行排序;
统计不同场地的热门预定时间;
统计场馆的营业额;
统计不同场地的用户年龄层次分布;
按营业额对本场馆的所有场地排序;
根据性别统计出最受男士/女士欢迎的运动;
按时间段(可以每1小时为一段)对不同类型场地的租用情况进
行排序,比较不同场地在不同时间利用率的高低;
综合体育场馆管理系统
场馆管理员功能:
场地管理:针对本场馆的场地
场地查询:查询所有的场地
添加场地:添加一个新的场地
个人信息管理
对个人信息中的密码、邮箱、电话等信息进行修改
源码
https://pan.baidu.com/s/1SHX3aW20HP_98kAK11GSJg?pwd=0000
团体游景点门票预订系统
系统服务人群:
游客团体。游客团体信息包含:游客团ID、密码、人数、年龄层次
、联系人电话等。
系统管理员。管理员信息包含:管理员ID、密码、电话、邮箱等。
要求:
游客团ID、管理员ID均为字母数字组合的字符串,长度6-10个字符
电话号码为11位数字
邮箱必须符合规范@.***
团体游景点门票预订系统
景点信息包含:
景点ID、景点名称、景点简介、景点门票价格(分旺季和淡季两
种价格)、游览该景点所需时间、折扣信息(如考虑学生、军人
票等)、景点级别、不同季节不同时间段的人数限制、景点所属
区域、景点维护费用。
要求:
景点ID:6位字符
景点门票价格:整数
折扣信息:浮点数
假设:
旅游景点数不少于8个;
团体游景点门票预订系统
预订信息包含:
订单编号、预订日期、景点编号、出行时间、年龄段、
人数、身份、订单总价格
要求:
订单编号:旅游团ID+预订日期(预订日期格式见下面)
预订日期、出行时间:符合时间格式
yyyy:mm:dd:hh:mm
总价格:浮点数,保留两位小数
团体游景点门票预订系统
游客团功能:
登陆:输入用户ID和密码登陆系统。
景点查询:根据系统提供的信息进行景点查询。
根据景点名称进行查询;
根据是否有票进行查询;
根据景点区域查询;
根据是否有折扣信息过滤查询结果;
查询之后允许预定;
对老年和儿童有不适合的景点需要提示;
根据价格排序所有景点;
根据预定量排序所有景点;
系统也可以有热门景点推荐,可根据不同季节的预定量等信息
来推荐,此处可自行确定用什么规则推荐。
团体游景点门票预订系统
游客团功能:
预定景点门票:用户根据需要浏览并可选择感兴趣的
景点购票。
假设:
同一个订单可包含多个景点的门票。
同一个订单只能为同一个游客团订票。
预定的景点门票不能超出景点的售票余量。
团体游景点门票预订系统
旅游团功能:
旅游团信息管理
对旅游团信息中的电话、密码、邮箱等信息进行修改
取消预定
在出行前的24小时可以取消预定
查询预定的门票
查看曾经的订单记录
团体游景点门票预订系统
景点管理员功能:
登陆:输入管理员ID和密码登陆系统。
订单管理:
查看用户订单情况:
查询所有景点的门票销售情况(历史上的订单以及订单详情)
统计用户订单信息:
按预定量对景点进行排序;
按访问人数对景点进行排序;
统计不同景点的热门预定时间;
统计各个景点的利润并排序;
统计不同景点的用户年龄层次分布;
按季度对不同景点的售票情况进行排序,比较不同景点在不同季度的
访问情况;
团体游景点门票预订系统
景点管理员功能:
景点管理:针对所有景点
景点查询:查询所有的景点信息
添加景点:添加一个新的景点
景点的名字不能重复;
景点的门票量不可为负数;
景点ID不能重复;
添加景点的最后一步为发布,发布之前可以修改和取消添
加。
个人信息管理
对个人信息中的密码及邮箱进行修改
作业提交
内容
以小组为单位提交压缩包
命名规则:组长中方学号-组长中文姓名.rar
包含:
源程序一份;
可执行程序一份;
国际学院要求提交的实践报告每人一份(参见模板,字数不少
于2000字),命名规则:中方学号-姓名.doc/docx;
验收报告一份:包含两张表,见下页;
测试结果报告(程序运行情况截图及简要说明);
设计报告一份;
未特殊注明均为每组一份
作业提交
验收报告格式:
表一:小组成员
表二:核心技术描述
实现功能描述
学号 姓名 负责工作
一级功能 二级功能 功能描述 说明
用户个人
信息管理
修改密码 修改当前登录的用户密码 新密码必须符合密码规则
增加地址 为当前登录用户增加一个新的收货地
址
数据结构 结构体数组□ 链表□ 其它
数据存储 使用文件 描述具体的文件名称及其作用
未使用文件 描述具体使用的数据存储技术
其它技术
作业提交
设计报告内容:
系统总体设计
系统总体功能描述(包含模块图及整个系统的总体功能描述)
接口定义规范(按照什么原则来命名接口)
系统的数据结构描述(系统需要处理什么样的数据,这些数据以什么形式存
储及程序运行过程中使用的数据结构描述)
系统的开发环境及运行环境描述(包含软硬件环境)
模块详细设计
功能概述
处理流程(包含流程图及详细的处理流程)
模块的输入输出(包含输入输出的数据描述及数据结构或存储格式描述)
模块的接口描述(包含接口名字、接口参数名、参数类型、参数描述,返回
值名,返回值类型、返回值描述,接口的作用)
作业提交
提交方式
2023年9月15日19:00之前
上传到云平台
上传文件为0字节的无效(注意检查)
验收
验收当天小组内所有同学必须到场接受检查;
小组内不允许出现只负责文字内容或只负责收集
数据的成员;
如果有同学单独负责测试,那么请按照软件工程
的具体要求出具完整的测试报告并给出测试用例
。
评价标准
态度
课堂表现
抄袭情况(一经发现零分处理)
作业完成情况
是否正确运行
是否遵守编程规范(参考附件)
是否有容错机制
界面是否友好
是否模块化
是否注释
实践报告内容及格式
其它
不要读死书
要认真、仔细、耐心
不要抄袭 要以自己的作品为荣
任何问题和建议都可以提出
第一次课后需要完成的任务
按先后顺序进行:
① 分组并确定组长
② 组长负责填报各组成员信息(学号、姓名)交给指导
老师
③ 分组讨论需求
调研市场上同类产品功能
对整个系统完成用例分析(角色以及功能)
对每个功能完成业务逻辑分析
④ 确定并安装环境
小组内所有同学开发环境统一
⑤ 开始熟悉相关技术