新微赢技术网

标题: C++编程作业,跪请高手帮忙 [打印本页]

作者: 陪你疯→想你    时间: 2009-11-4 01:55
标题: C++编程作业,跪请高手帮忙
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
  忘了说了,这 是小弟远程教育科目 面向对象程序设计 的题目
作者: 老鼠爱上猫    时间: 2009-11-4 01:55
去死吧,要做作业,给钱!!!
作者: v九天〓云龙    时间: 2009-11-4 01:55
哈哈哈
作者: 兰桂枋    时间: 2009-11-4 01:55
请好好学习天天向上,免得毕业以后连工作都找不到……
作者: 梦的放肆    时间: 2009-11-4 01:55
哈哈,我也是一个刚刚学习C++的初学者,但是我个人认为如果连自己的作业都以这种方式来解决的话。那么我问你:你学这门技术是为了什么?如果不想在这方面有点深度。你宁可不学了,去学习其他你自己感兴趣的东西,别浪费时间了。
作者: 爱虎老油♂    时间: 2009-11-4 01:55
看我的签名
作者: 、Baby    时间: 2009-11-4 01:55
嗯,好签名...
作者: 生活的成功者    时间: 2009-11-4 01:55
超市的收银系统 最好是用Powerbuilder编吧  可以更好的接触到数据库
不知道 是不是 这样
作者: v九天〓云龙    时间: 2009-11-4 01:55
p1s 在 2008-9-6 10:15 的发言:

请好好学习天天向上,免得毕业以后连工作都找不到……


连工作也可以找个人代做滴 呵呵
作者: 駃旒_鎏蒗瀦    时间: 2009-11-4 01:55
做做看,锻炼一下!嘿嘿
但是不会发给他.




欢迎光临 新微赢技术网 (http://bbs.weiying.cn/) Powered by Discuz! X3.2