| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY 
共有 246 人关注过本帖
标题:如何实现退菜. . ...望高手帮忙...
收藏  订阅  推荐  打印
123424878
Rank: 1
等级:新手上路
帖子:13
积分:250
注册:2008-1-12
如何实现退菜. . ...望高手帮忙...

这几天在写个模拟餐馆点菜系统.点菜方面可以实现,但是不知道怎么写退菜的代码.可以帮帮忙吗?有什么方法可以实现?怎么实现?

已写代码如下:

#include "stdafx.h"
#include "string.h"
#include "iostream"
using namespace std;
struct stu
{
char p[10];
int  p1;

};

int main(int argc, char* argv[])
{
int i,h=0,k,count=0,x=0;
char j,A;
stu a[20],b[20],c[20],d[20];

////菜式......

strcpy(a[0].p,"1.清蒸海鲜  ");strcpy(a[1].p,"2.凤入竹林  ");strcpy(a[2].p,"3.露笋拼鸡肉");strcpy(a[3].p,"4.仙鹤烩熊掌");strcpy(a[4].p,"5.干烧网鲍片");
strcpy(a[5].p,"6.菠萝拼火鹅");strcpy(a[6].p,"7.菠萝拼火鹅");strcpy(a[7].p,"8.月中丹桂  ");strcpy(a[8].p,"9.百花酿鱼肚");strcpy(a[9].p,"10.清汤雪耳");

/////价格.......

b[0].p1=100;b[1].p1=110;b[2].p1=120;b[3].p1=30;b[4].p1=40;b[5].p1=50;b[6].p1=60;b[7].p1=70;b[8].p1=82;b[9].p1=90;

///////打印菜单........

cout<<"欢迎光临***餐厅"<<endl;
cout<<"以下是本餐厅的菜式:"<<endl<<"菜式"<<"                    "<<"价格"<<endl;
    for(i=0 ;i<10;i++)
    cout<<a[i].p<<"              "<<b[i].p1<<endl;

///////点菜过程......

cout<<"点菜请输入y,退出点菜请输入n"<<endl;
{
for(int l=0;;l++)
{
cin>>j;
if(j=='n')
{   
  
  break;
}
else
{
  cout<<"请输入菜单前的序号点菜"<<endl;
  cin>>k;  
  cout<<"您点的菜为:  "<<a[k-1].p<<"                    价格为:"<<b[k-1].p1<<endl;
  strcpy(c[l].p,a[k-1].p);
  d[l].p1=b[k-1].p1;
  count++;
  h=h+d[l].p1;
  cout<<"继续点菜请输入'y'.退出请输入:'n'"<<endl;
}

}

////////////////点菜结果........

      cout<<"您点的菜单为:"<<endl;
  for(i=0;i<count;i++)
  {
   cout<<c[i].p<<"           "<<d[i].p1<<endl;
  }
  cout<<"总价格为:"<<"              "<<h<<endl;







下面是要写退菜的,不过不知怎么写.....
搜索更多相关主题的帖子: int  quot  stu  char  
2008-5-5 22:30
lixuanalex
Rank: 2
等级:注册会员
帖子:42
积分:548
注册:2008-4-23

为点菜的顾客定制一张菜单,同样声明为stu类型。退菜就从菜单中减去。
在你的点菜部分,我觉得把菜价和菜名存储到一个数组中比较好不然定义的结构体就没用了,你觉得呢!
2008-5-7 11:24
yinguopu
Rank: 1
等级:新手上路
帖子:11
积分:206
注册:2008-3-23

楼上说的对啊,你都定义结构体了,那干吗还再定义两个数组存放分开存放这菜名和菜价。
退菜,那就在C里面查找顾客要退的菜的序号,找到它在C的下标S,然后把下标S到count-1的菜统统前移,把S覆盖掉,然后count减一就行呗,
最简单的思路!
2008-5-7 15:05
123424878
Rank: 1
等级:新手上路
帖子:13
积分:250
注册:2008-1-12

恩.因为新学.所以还有很多不懂,谢谢了;
2008-5-7 22:32
lixuanalex
Rank: 2
等级:注册会员
帖子:42
积分:548
注册:2008-4-23

大家都在学习!有错误才有进步!加油!
2008-5-9 16:34
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.068452 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved