| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1008 人关注过本帖
标题:如何实现退菜. . ...望高手帮忙...
只看楼主 加入收藏
123424878
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2008-1-12
收藏
 问题点数:0 回复次数:4 
如何实现退菜. . ...望高手帮忙...
这几天在写个模拟餐馆点菜系统.点菜方面可以实现,但是不知道怎么写退菜的代码.可以帮帮忙吗?有什么方法可以实现?怎么实现?

已写代码如下:

#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-05-05 22:30
lixuanalex
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2008-4-23
收藏
得分:0 
为点菜的顾客定制一张菜单,同样声明为stu类型。退菜就从菜单中减去。
在你的点菜部分,我觉得把菜价和菜名存储到一个数组中比较好不然定义的结构体就没用了,你觉得呢!
2008-05-07 11:24
yinguopu
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2008-3-23
收藏
得分:0 
楼上说的对啊,你都定义结构体了,那干吗还再定义两个数组存放分开存放这菜名和菜价。
退菜,那就在C里面查找顾客要退的菜的序号,找到它在C的下标S,然后把下标S到count-1的菜统统前移,把S覆盖掉,然后count减一就行呗,
 最简单的思路!
2008-05-07 15:05
123424878
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2008-1-12
收藏
得分:0 
恩.因为新学.所以还有很多不懂,谢谢了;
2008-05-07 22:32
lixuanalex
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2008-4-23
收藏
得分:0 
大家都在学习!有错误才有进步!加油!
2008-05-09 16:34
快速回复:如何实现退菜. . ...望高手帮忙...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014807 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved