课程设计

来源:互联网 发布:opengl游戏编程 编辑:程序博客网 时间:2024/05/17 05:14

 模拟餐馆点菜系统  

你到一个餐馆去仔细研究一下餐馆的业务流程:餐馆事先准备好自己的招牌菜及一些常规的菜式,有营业场所,服务人员等;顾客来了以后,服务生先给客人找一张桌子坐下来,然后递上菜谱等待顾客点菜,顾客可以点一个菜,也可以退菜,完了之后结账走人,这张桌子又可以用来招待下一批顾客。自己设计程序模拟点菜系统。

#include<iostream>       #include<fstream>      #include<string>                            using namespace std;         class Cmenu  {        int num;               string  name;    float price;           string kind;        int sort;                    public:          void getnum(int i);                                        void getname(string Name);                                  void getprice(float Price);                                void getkind(string Kind);                                 void getsort(int SORT);                             void menudisplay();                                       void selectdisplay();                           float  returnnum()  {return num;}                     string returnname()  { return name;}                        float  returnprice()  { return price;}                      string returnkind()   {return kind;}                        int  returnsort()     { return sort;}             };         void Cmenu::getnum(int i)            {  num=i; }            void Cmenu::getname(string Name)      { name=Name;}            void Cmenu::getprice(float Price)      { price=Price;}            void Cmenu::getkind(string Kind)       {   kind=Kind; }            void Cmenu::getsort(int SORT)          {  sort=SORT;  }               void Cmenu::menudisplay()       {cout<<num<<"\t             "<<name<<"\t          "<<kind<<"\t           "<<price<<endl; }             void  Cmenu::selectdisplay()          {cout<<num<<"\t         "<<name<<"\t       "<<kind<<"\t           "<<price<<"\t          "<<sort<<endl; }               float youhui(float sum,float point)          {         if(point>1.0)       {    sum=sum-point;}              if(point<=1.0)       {           sum=sum*point;}        return sum;   }               class  array       {           public:                 void getnum(int NUM);                                void getsort(int SORT);                      int  returnnum()   {   return num; }                     int   returnsort()    { return sort;}                   private: int sort,num;   };         void array::getnum(int NUM)         {  num=NUM;}         void array::getsort(int SORT)        {sort=SORT;}                      void main()         {              int i,j,id,m,q,z,sort,b;           int geshu;       int NUM;                 string NAME,KIND;       float PRICE,POINT,sum=0;                     Cmenu food[40];                 ifstream f1("menu.txt");                for(j=0;j<40;j++) {                     f1>>NUM>>KIND;            f1>>NAME;                f1>>PRICE;                food[j].getnum(NUM);                food[j].getkind(KIND);                food[j].getname(NAME);            food[j].getprice(PRICE); food[0].getnum(1);                food[0].getkind("饮品");                food[0].getname(" 一一咖啡 ");   food[0].getprice(18);         food[1].getnum(2);                food[1].getkind("饮品");                food[1].getname(" 一一奶茶 ");   food[1].getprice(8);   food[2].getnum(3);                food[2].getkind("饮品");                food[2].getname("  热牛奶  "); food[2].getprice(8);  food[3].getnum(4);                food[3].getkind("饮品");                food[3].getname("   橙汁   ");  food[3].getprice(10);  food[4].getnum(5);                 food[4].getkind("甜点");              food[4].getname("   布丁   "); food[4].getprice(12); food[5].getnum(6);                food[5].getkind("甜点");                food[5].getname(" 提拉米苏 ");   food[5].getprice(20);  food[6].getnum(7);                food[6].getkind("甜点");                food[6].getname("  双皮奶  ");  food[6].getprice(8); food[7].getnum(8);                food[7].getkind("甜点");                food[7].getname("黑森林蛋糕");   food[7].getprice(28);  food[8].getnum(9);                food[8].getkind("甜点");               food[8].getname(" 芝士蛋糕 ");  food[8].getprice(18); food[9].getnum(10);                food[9].getkind("甜点");              food[9].getname("   蛋挞   "); food[9].getprice(4); food[10].getnum(11);                food[10].getkind("甜点");             food[10].getname(" 慕斯蛋糕 "); food[10].getprice(15); food[11].getnum(12);                food[11].getkind("甜点");                food[11].getname("   班戟   "); food[11].getprice(25);          }         f1.close();                cout<<"                                                                           "<<endl;    cout<<"    *━*==*━*==*━*==*━*==*━欢迎光临一一甜品屋━*==*━*==*━*==*━*==*━*"<<endl<<endl<<endl;                     for(;;)           {   cout<<"*==**==**==**==**==**==**==**==**==**==**==**==**==**==**==**==**==**==**==**==*"<<endl;   cout<<"                             请选择您需要的服务功能                             "<<endl;cout<<"*==**==**==**==**==**==**==**==**==**==**==**==**==**==**==**==**==**==**==**==*"<<endl;                cout<<endl;         cout<<"      *==*     ┏━━━━━━━━━━━━━━━━━━━━━━━━┓     *==* "<<endl;            cout<<"      *==*     ┃                                                ┃     *==* "<<endl;           cout<<"      *==*     ┃                                                ┃     *==* "<<endl;       cout<<"      *==*     ┃       0-----显示菜单里所有的菜的信息           ┃     *==* "<<endl;cout<<"      *==*     ┃                                                ┃     *==* "<<endl;        cout<<"      *==*     ┃       1-----在菜单里按类查找。                 ┃     *==* "<<endl; cout<<"      *==*     ┃                                                ┃     *==* "<<endl;    cout<<"      *==*     ┃       2-----点餐。                             ┃     *==* "<<endl;       cout<<"      *==*     ┃                                                ┃     *==* "<<endl;         cout<<"      *==*     ┗━━━━━━━━━━━━━━━━━━━━━━━━┛     *==* "<<endl<<endl;           cout<<endl;       cout<<"================================================================================"<<endl;        cin>>q;           if(q>2) {system("cls");cout<<"请输入正确序号"<<endl;}            if(q==0)              {            cout<<"-------------------------------菜单---------------------------"<<endl;            cout<<"甜品的编号             甜品             类别            单价/元 "<<endl;           for(j=0;j<40;j++)               food[j].menudisplay();           cout<<"-------------------------------------------------------------"<<endl;      }                   if(q==1)                                     { cout<<"1--------------饮品"<<endl;              cout<<"2--------------甜点"<<endl;                 cin>>z;           if(z>2) {system("cls");cout<<"请输入正确序号"<<endl;}          switch(z) {            case 1: for(j=0;j<40;j++)                                   if(food[j].returnkind()=="饮品")   food[j].menudisplay();break;                      case 2: for(j=0;j<40;j++)                                         if(food[j].returnkind()=="甜点")    food[j].menudisplay();break;     }          }          if(q==2)  break;                  }                cout<<"你要点多少样甜品?"<<endl;                     cin>>i;            array *a=new array[i] ;                                   for(j=0;j<i;j++)                    {                  cout<<"请选择第"<<j+1<<"个甜品的编号:"<<endl;                           cin>>id;                                  cout<<"请输入数量:"<<endl;                cin>>sort;                a[j].getnum(id);                a[j].getsort(sort);                  }                           for(;;)                             {          cout<<"                                                    "<<endl;          cout<<"                                                    "<<endl;          cout<<"    ┏━━━━━━━━━━━━━━━━━━━━━┓  "<<endl;          cout<<"    ┃                                          ┃  "<<endl;      cout<<"    ┃                                          ┃  "<<endl;      cout<<"    ┃          1--------增加甜品               ┃  "<<endl;          cout<<"    ┃          2--------删除一个甜品           ┃  "<<endl;          cout<<"    ┃          3--------输出甜品信息并保存     ┃  "<<endl;          cout<<"    ┃          4--------计算消费金额           ┃  "<<endl;          cout<<"    ┃          5--------退出系统               ┃  "<<endl;      cout<<"    ┃                                          ┃  "<<endl;          cout<<"    ┃                                          ┃  "<<endl;      cout<<"    ┗━━━━━━━━━━━━━━━━━━━━━┛  "<<endl;        cin>>b;                    if(b<1||b>4) {system("cls");cout<<"请输入正确序号"<<endl;}             if(b==1)                 {                  cout<<"你要增加多少样甜品?"<<endl;                     cin>>geshu;                                array *p=new array[i];                   for(j=0;j<i;j++)                   { p[j].getnum(a[j].returnnum());                     p[j].getsort(a[j].returnsort());                   }                   delete [] a;                   i=i+geshu;                   a=new array[i];                  for(j=0;j<i-geshu;j++)                   {    a[j].getnum(p[j].returnnum());                     a[j].getsort(p[j].returnsort());                          }                 delete [] p;                     for(j=i-geshu;j<i;j++)                  {                      cout<<"请输入增加的一样甜品的编号和数量:"<<endl;                      cin>>id;                      cin>>sort;                        a[j].getnum(id);                        a[j].getsort(sort);                                    }                                      cout<<"增加甜品成功。"<<endl;                                }                                 if(b==2)                        {              cout<<"请输入要删除的甜品的编号:"<<endl;                                      cin>>id;                                      for(j=0;j<i;j++)                 {                           if(a[j].returnnum()==id)                         {                         m=j;                      for(j=m;j<i;j++)  { a[j]=a[j+1];}                     i--;                     cout<<"删除甜品成功。"<<endl;break;                         }           }          if(j==i)                {cout<<"你没有点这个甜品!!错误。"<<endl;                }                              }                         if(b==3)                                  {   char baocun;              cout<<"甜品的编号        甜品名                类别            单价/元           数量"<<endl;                         for(m=0;m<i;m++)                   {                    for(j=0;j<40;j++)                    {                        if(a[m].returnnum()==food[j].returnnum())                          {   food[j].getsort(a[m].returnsort());                               food[j].selectdisplay();                                        }                    }           }       cout<<"是否保存并退出?"<<endl;       cout<<"请按y(是)或n(否)"<<endl;       cin>>baocun;      if(baocun=='y')      {    ofstream file("select.txt");                    file<<"甜品的编号      甜品名           类别          单价/元         数量"<<endl;                for(m=0;m<i;m++)              {               for(j=0;j<40;j++)           {                if(a[m].returnnum()==food[j].returnnum())                  {   file<<food[j].returnnum()<<"      "<<food[j].returnname()<<"     "<<food[j].returnkind()<<                "     "<<food[j].returnprice()<<"     "<<food[j].returnsort()<<endl;                           }                    }           }           file.close();           cout<<"已成功保存!"<<endl;                      break;}                }             if(b==4) {                       sum=0;                    cout<<"你是否拥有优惠券?"<<endl;                         cout<<"0----------是"<<endl;                    cout<<"1----------否"<<endl;                               cin>>q;                     for(m=0;m<i;m++)                   {                    for(j=0;j<40;j++)                    {                        if(a[m].returnnum()==food[j].returnnum())                          {   food[j].getsort(a[m].returnsort());                       sum=sum+food[j].returnprice()*food[j].returnsort();                                            }                    }           }                   if(q>1)       {system("cls");cout<<"请输入正确序号"<<endl;}                                                  if(q==0)                 {                    cout<<"请输入优惠券的优惠金额(大于1)或者是优惠的折扣比:"<<endl;                            cin>>POINT;               cout<<"打折后的总的金额是:"<<youhui(sum,POINT)<<"元"<<endl;                }                                              if(q==1)           {                cout<<"总的金额是:"<<sum<<"元"<<endl;}           }                            if(b==5)   {system("cls");             cout<<endl;   cout<<endl;   cout<<endl;    cout<<"***************************谢谢您的光临,一一甜品屋期望您下次的惠顾*****************************"<<endl;    cout<<endl;    cout<<endl;         break;}             }          }


因为一直在待审核,所以有图片版的还在审核。

开始看到这个课程设计完全没有头绪不知道这么做,上网看了很多有关的点菜模拟程序,但是网上的都是很复杂比较厉害的,看不太懂。但是基本的点菜流程还是知道了,然后按照那个流程模仿着自己去写程序,但还是不是很好。

0 0
原创粉丝点击