操作系统课程设计
超市购物模拟
组别:
组员: 编程
设计报告
汇报 , PPT
南通大学·计算机科学与技术学院
2018年06月
摘 要
本设计采用了visual c++ 6.0开发工具,解决了模拟超市购物中控制并发线程同步与互斥的问题,实现了线上模拟超市购物的功能:包括开放超市,顾客排队进入超市,选用购物车,顾客随机选购商品,排队购买熟食,排队付款,付款方式选择,折扣优惠,结账等。模拟超市购物中主要运用Windows线程同步与控制,信号量和互斥体,派生类等方法实现其相应功能。经分析表明,程序逻辑正确。程序具有正确性,可读性,高效性,健壮性等特点。
关键词:Windows 线程创建、控制、同步与互斥、超市购物模拟、互斥体、信号量。
目 录
实验名称:超市购物模拟. 3
实验工具说明. 3
1. 问题描述. 4
1.1超市购物模拟中待解决的问题. 4
1.2模拟超市购物的大致流程如图1-1所示:. 4
2.分析及功能设计. 5
2.1vsm.h文件夹中对应的函数和变量功能分析. 5
(1)超市管理员线程功能分析:. 6
(2)顾客线程功能分析. 6
2.2vsm.cpp文件夹中对应的函数和变量功能分析. 7
2.3增加功能分析. 7
3. 测试用例及其求解. 7
4. 程序设计. 9
4.1 逻辑结构设计. 9
4.2 存储结构设计. 9
4.3 算法设计. 9
4.4 界面设计. 10
5. 程序运行情况. 10
6.小结. 12
7.附录:参考文献. 12
课设名称:超市购物模拟
编程环境:visualC++ 6.0
编程语言:visualC++
设计报告:OFFICE2013 之 word
汇报方档:OFFICE2013 之 Power Point
1.问题描述
1.1超市购物模拟中待解决的问题
编写一个程序,用线程控制和线程同步(使用互斥体和信号量)机制来模拟超市购物的运转情况,
模拟超市购物的运转过程中有以下角色:超市管理员,购物车,顾客,结账柜台,熟食柜台店员,商品,熟食。模拟超市购物需要实现的功能有:选择购物车(新增),管理员开放超市,管理员线程创建顾客线程,顾客线程排队进入超市,顾客自由选购商品(包括是否选择熟食),选购完毕之后进入队列,等待付款,多种付款方式选择(新增),折扣优惠活动(新增),完成付款后离开超市。本次模拟购物完成。其中超市管理员和顾客用线程机制建立,管理员的线程创建顾客线程,顾客线程并发执行需使用同步机制,(如信号量等,互斥体关于互斥体:互斥体是一个可命名的安全内核对象,其目的是控制线程护持地访问临界资源,作为内核对象,互斥体必须被创建,打开后才能使用)。模拟购物过程中要建立三个队列,队列1是等待进入超市队列,队列2是购买熟食队列,还队列3是等待付款的队列。
&n