|
1、 编写一个程序模拟超市的收银系统。具体要求如下:(1)提示输入顾客买的商品名称和单价(以元为单位),直到所有购买商品输入完毕(空格键表示输入完毕)。(2)在屏幕上输出顾客购买的所有商品的名称和单价,每种商品的总价,顾客应付钱数;(3)提示输入实际交的钱数,计算应找钱数并显示。(4)按回车键返回第一步,按ESC 键推出程序运行。
程序运行结果如下所示:
输入商品名称:薯片
输入单价:1.00
输入数量:10
输入商品名称:洗衣粉
输入单价:9.8
输入数量:1
(按空格键,退出输入过程)
商品名称 单价 数量 总价
薯片 1.00 10 10
洗衣粉 9.8 1 9.8
应付: 19.8(元)
输入实际付: 20元
找零:0.2元
(按回车键返回第一行)
商品名称:×××
。。。
(按ESC 则退出)
2、 编写一个自动点歌系统
具体要求:创建两个类PlayList 和 JukeBox.。PlayList类用数组放一组字符串,还记录了当前字符串的个数。这个类中要设计方法完成以下功能:增加一个字符串,删除一个字符串,获得指定位置的字符串,获得当前字符串的个数,检查字符串数组是否为空,是否已满。其他内容见UML图:
JukeBox类用来测试PlayList类,,它模拟点歌操作。每一个字符串代表歌名。
程序首先提示用户输入歌曲的最大个数,然后创建Pllayist对象。接着程序允许用户选择:
[1] 增加一首歌曲
[2] 播放第一首
[3] 显示歌曲列表
[4] 退出
选项 1, 输入歌曲的名字和歌手的名字
选项 2 显示第一首歌的名字,然后删除
选项 3 显示当前所有歌曲列表
选项4:显示:再见,退出程序
程序运行示例:
*** 点歌台 ***
歌曲最大个数: 2
[1] 增加歌曲
[2] 播放第一首
[3] 显示歌曲列表
[4] 退出
选择 [1-4]: 3
*** 没有歌曲 ***
[1] 增加歌曲
[2] 播放第一首
[3] 显示歌曲列表
[4] 退出
选择 [1-4]: 1
输入歌曲名称和歌手名字 – 周杰伦:听妈妈的话
*** 加入歌曲 ***
周杰伦:听妈妈的话
[1] 增加歌曲
[2] 播放第一首
[3] 显示歌曲列表
[4] 退出
选择 [1-4]: 1
输入歌曲名称和歌手名字 – S.H.E:Super Star
*** 加入歌曲 ***
S.H.E:Super Star
[1] 增加歌曲
[2] 播放第一首
[3] 显示歌曲列表
[4] 退出
选择 [1-4]: 1
*** 不能增加,歌曲表已满 ***
[1] 增加歌曲
[2] 播放第一首
[3] 显示歌曲列表
[4] 退出
选择 [1-4]: 2
***现在播放 ***
周杰伦:听妈妈的话
[1] 增加歌曲
[2] 播放第一首
[3] 显示歌曲列表
[4] 退出
选择 [1-4]: 3
***当前歌曲列表 ***
S.H.E:Super Star
[1] 增加歌曲
[2] 播放第一首
[3] 显示歌曲列表
[4] 退出
选择 [1-4]: 1
输入歌曲名称和歌手名字 – 周杰伦:发如雪
*** 加入歌曲 ***
周杰伦:发如雪
[1] 增加歌曲
[2] 播放第一首
[3] 显示歌曲列表
[4] 退出
选择 [1-4]: 3
*** 当前歌曲列表 ***
S.H.E:Super Star
周杰伦:发如雪
[1] 增加歌曲
[2] 播放第一首
[3] 显示歌曲列表
[4] 退出
选择 [1-4]: 2
*** 现在播放 ***
S.H.E:Super Star
[1] 增加歌曲
[2] 播放第一首
[3] 显示歌曲列表
[4] 退出
选择 [1-4]: 6
*** 无效操作 ***
[1] 增加歌曲
[2] 播放第一首
[3] 显示歌曲列表
[4] 退出
选择 [1-4]: 4
*** 欢迎再次光临,再见 ***
}
3、 定义类描述有限状态自动机,状态的输入和输出关系可以描述为链表数据成员:
class STATE;
class LIST{
LIST *next;
char input;
STATE *output;
LIST(char in, STATE *out); //私有,仅供STATE使用
~LIST();
friend STATE;
}
class STATE{
char *name ;//状态名
LIST *list; //输入及输出列表
static STATE *error;//自动机陷阱
public:
void enlist (char in, STATE *out);//插入list
const STATE *next(char in) const; //输入in转移到下一个状态
const STATE start (char)const;//启动有限自动机
STATE(char *name);
~STATE();
}
使用有限自动机编程解决如下问题:有一人带着狼,羊和草来到河的左岸,左岸只有一条无人摆渡的船。这个人要从左岸过河到右岸,可是这条船最多只能装一个人河其他三者之一,否则便会沉没。如果没有人看管,狼会吃掉羊,或者羊会吃掉草。问如何过河才能保证羊和草的安全。
提示:作为有限状态自动机的输入,人单独过河用字符m表示,人带狼过河用字符w表示,人带羊过河用字符s表示,人带草过河用字符g表示,声明有限自动机夫人start,stop以及error状态对象,如果start.start(“smwsgms”)=&stop,则过河成功,否则如果start.start(“smwsgms”)=&error,则过河失败。
那位大哥大姐能帮小弟下
您弄好之后可以发代码到我的邮箱 reno2007x@163.com
忘了说了,这 是小弟远程教育科目 面向对象程序设计 的题目 |
|