《程序设计基础》上机大作业(选做)
九、 设计实现一个简单库存管理程序 目的和要求
(1) 目的
通过简单库存管理程序的设计,培养学生综合利用C++语言进行程序设计的能力,加强函数的运用及学生对软件工程方法的初步认识,提高软件系统分析能力和程序文档建立、归纳总结的能力,培养学生利用系统提供的标准函数及典型算法进行设计。
(2) 基本要求
写一个简单的库存控制程序。该程序服务于诸如鞋店,汽车配件,百货或文具店等销售商店。程序应该包含:
(a) 一个包含出售各种项目记录的文件。记录应包含:项目名称、项目描述、目前的库存量、重新定货级别——定单的数量、重新定货的数量、供应商细节、重新定货的运输时间、标识大宗定货
(b) 一个包含大宗定货信息记录的文件。记录格式应为:定货编号(唯一)、项目编号、定货日期、到货日期
要求程序可以实现以下功能: 1) 允许在线登录销售
2) 允许在线支付
3) 打印合适的重新定货表格
4) 允许对两个文件的查询,例如查找过期的定单和缺货的项目 扩展程序
1) 文件结构。包含批发和零售的价格信息 2) 引进第三个文件,记录每天的销售额
3) 按要求输出总的存货量,可支付的大宗定货总量
提示及说明
1) 写出设计报告:包括实验题目与环境、设计思想、函数分解过程、算法描述以及相应的数据流程图、源程序清单、测试的数据以及程序运行的结果 2) 如果程序未能够通过运行,分析可能出错的原因。
3)请注意分配好时间,完成系统设计与实现,同时认真填写大作业报告!按时提交大作业报告、可运行的程序及代码,逾期不交,期末成绩以0分记。
《程序设计基础》上机大作业(选做)
十、设计一个模拟家庭关系的数据结构。 目的和要求
(1) 目的
通过设计一个模拟家庭关系的数据结构,培养学生综合利用C++语言进行程序设计的能力,加强数据结构的运用及学生对软件工程方法的初步认识,提高软件系统分析能力和程序文档建立、归纳总结的能力,培养学生利用复杂的数据结构及典型算法进行设计。
(2) 基本要求
设计一个模拟家庭关系的数据结构。每个人用一个结构体表示, 包含有他(她)的名字、性别、年龄和指向其父亲、母亲、配偶、子女链的指针,如图所示。试编写以下函数和函数:
(a) 增加一个新人;(b)
弟姐妹的布尔函数;(d) 构。
提示及说明
1) 写出设计报告:包括实验题目与环境、设计思想、函数分解过程、算法描述以及相应的数据流程图、源程序清单、测试的数据以及程序运行的结果 2) 如果程序未能够通过运行,分析可能出错的原因。
3)请注意分配好时间,完成系统设计与实现,同时认真填写大作业报告!按时提交大作业报告、可运行的程序及代码,逾期不交,期末成绩以0分记。
配偶
子女1
子女
2
检查某两人之间关系的函数;(c) 检查某两人是否堂兄检索某人, 并输出他的直系亲属的情况; (e) 遍历整个结
名字 父亲 性别 年龄 母亲
??
图1 模拟家庭关系的数据结构
《程序设计基础》上机大作业(选做)
十一、稀疏矩阵的运算。
目的和要求: 稀疏矩阵是决大多数元素为0的矩阵,为了节省存储空间,经常只保存
那些非0元素。如下多重链表是保存稀疏矩阵的一种方案: – 每个非0元素是一个基本数据结构,其结构如图1所示: – 把每行非0元素构成一个环形链表,left为其链指针; – 把每列非0元素亦构成一个环形链表,up为其链指针; – 在每个基本数据结构上:row为行标;col为列标;val为值; – 每个环链上加一个哨兵结点,哨兵的col、row值为-1。
图2的矩阵存储为图3的形式。在图3中,colpt、rowpt分别为指针数组,数组元素分别指向稀疏矩阵各列、各行的环形链。
设计矩阵的外部数据格式,编出读入稀疏矩阵以及实现稀疏矩阵加法、乘法的函数。
rowpt:
提示及说明
1 2 3 4 -1 -1 -1 -1 1 4 -30 4 3 -60 4 4 5 50 0 0 0 10 0 20 0
left row up 0 0 0 0 -30 0 –60 5
col val 图1 稀疏矩阵非0元素数据结构
colpt: 1
2
3
图2 稀疏矩阵
4 -1 -1 -1 -1 1 2 1 1 10 50 -1 -1 -1 -1 -1 -1 2 3 20 -1 -1 图3 稀疏矩阵的存储形式
1)写出设计报告:包括实验题目与环境、设计思想、函数分解过程、算法描述以及相应的数据流程图、源程序清单、测试的数据以及程序运行的结果 2) 如果程序未能够通过运行,分析可能出错的原因。 3)请注意分配好时间,完成系统设计与实现,同时认真填写大作业报告!按时提交大作业报告、可运行的程序及代码,逾期不交,期末成绩以0分记。
《程序设计基础》上机大作业(选做)
十二、模拟博彩游戏 目的和要求
(1) 目的
通过设计一个模拟博彩游戏程序,培养学生综合利用C++语言进行程序设计的能力,以及对软件工程方法的初步认识,提高软件系统分析能力和程序文档建立、归纳总结的能力,培养学生利用复杂的数据结构及典型算法进行设计。
(2) 基本要求
编写一个程序,读入一个正整数N,模拟N个人之间的赌博游戏。该游戏按以下方式进行。
每一个玩家都有一个赌博卡片,该卡片由5×5的正整数矩阵构成,卡片的中心是空的。第一列由1到16之间的数构成;第二列由17到32之间的数构成;如此等等。在游戏开始时,中心位置是隐蔽的(covered)。
一个玩家在1到80的范围之内猜卡片上被覆盖的数。每猜到一个,就在卡片上把对应的元素翻转过来。当13个被覆盖的数全部被猜到时,用猜过的数列给该卡片一个“bingo”。
被覆盖的数字包括:矩阵中心9个元素;矩阵四角4个元素。
你的程序应该为玩家随机产生卡片(根据上面描述的规则),并产生每次猜的数,直到有一个或多个玩家得到一个“bingo”卡片。 程序输出:
? 一张卡片被标为“bingo”之前,所猜的所有数
? 当每张卡片都得到一个“bingo”时,每张卡片上被覆盖的数。
提示及说明
1) 写出设计报告:包括实验题目与环境、设计思想、函数分解过程、算法描述以及相应的数据流程图、源程序清单、测试的数据以及程序运行的结果
2) 如果程序未能够通过运行,分析可能出错的原因。
3)请注意分配好时间,完成系统设计与实现,同时认真填写大作业报告!按时提交大作业报告、可运行的程序及代码,逾期不交,期末成绩以0分记。
相关推荐: