zoukankan      html  css  js  c++  java
  • 团队项目2

    今天主要是对先前进行的咖啡类根据项目需求做了一下修改和完善,主要是添加了蓝山咖啡种类、添加了咖啡的大小型号及其成员变量,以及添加跟多的可添加配料,最终的实现代码如下

      1 #ifndef ADDMATERIAL
      2 #define ADDMATERIAL
      3 
      4 #include<string>
      5 using namespace std;
      6 
      7 class AddMaterial
      8 {
      9 public:
     10     AddMaterial(){};
     11     void  AddCappuccino(double & p,string CupSize);        //卡布奇诺
     12     void  AddLatte(double & p, string CupSize);        //拿铁咖啡
     13     void  AddMocha(double & p, string CupSize);        //摩卡咖啡
     14     void  AddBlueMountain(double & p, string CupSize);    //蓝山咖啡
     15     void  AddCastorSugar(double & p);        //咖啡加白沙糖
     16     void  AddCubicSugar(double & p);        //咖啡加方糖糖
     17     void  AddMilk(double & p);        //咖啡加牛奶
     18     void  AddCheese(double & P);    //咖啡加奶酪
     19     double  GetExchange(double &,double &);    //找零钱
     20 };
     21 
     22 
     23 #endif ADDMATERIAL
     24 
     25 
     26 #include"AddMaterial.h"
     27 
     28 //卡布奇诺咖啡的价格,并运动到相应的位置
     29 void AddMaterial::AddCappuccino(double & p, string CupSize)
     30 {
     31     //添加运动到相应工位的代码
     32 
     33     if ( CupSize == "large")    //大杯
     34       p = p + 30;
     35     if (CupSize == "small")    //小杯
     36         p = p + 20;
     37 }
     38 
     39 //拿铁的价钱,并运动到相应的位置
     40 void AddMaterial::AddLatte(double & p, string CupSize)
     41 {
     42     //添加运动到相应工位的代码
     43 
     44     if (CupSize == "large")    //大杯
     45         p = p + 30;
     46     if (CupSize == "small")    //小杯
     47         p = p + 20;
     48 
     49 }
     50 
     51 //摩卡的价钱,并运动到相应的位置
     52 void AddMaterial::AddMocha(double & p,string CupSize)
     53 {
     54     //添加运动到相应工位的代码
     55 
     56     if (CupSize == "large")    //大杯
     57         p = p + 30;
     58     if (CupSize == "small")    //小杯
     59         p = p + 20;
     60 }
     61 
     62 //蓝山咖啡的价钱,并运动到相应位置
     63 void AddMaterial::AddBlueMountain(double & p,string CupSize)
     64 {
     65     //添加运动到相应工位的代码
     66 
     67     if (CupSize == "large")    //大杯
     68         p = p + 25;
     69     if (CupSize == "small")    //小杯
     70         p = p + 15;
     71 }
     72 
     73 //加糖要多加0.5元,并运动到相应的位置
     74 void AddMaterial::AddCastorSugar(double & p)    //p为咖啡的初始价格,获得添加白砂糖后的价格
     75 {
     76     //添加运动到相应工位的代码
     77 
     78     p = p + 1;
     79 
     80 }
     81 
     82 void AddMaterial::AddCubicSugar(double & p)    //p为咖啡的初始价格,获得添加白砂糖后的价格
     83 {
     84     //添加运动到相应工位的代码
     85 
     86     p = p + 1;
     87 
     88 }
     89 
     90 //加牛奶要多加1.5元,并运动到相应的位置
     91 void AddMaterial::AddMilk(double & p)    //p为咖啡的初始价格
     92 {
     93     //添加运动到相应工位的代码
     94 
     95     p = p + 1.5;
     96     
     97 }
     98 
     99 //添加奶酪多加1.5元,并运动到相应位置
    100 void AddMaterial::AddCheese(double & p)    //p为咖啡的初始价格
    101 {
    102     //添加运动到相应工位的代码
    103 
    104     p = p + 1.5;
    105 
    106 }
    107 
    108 //找零钱,第一个参数是投入的金额,第二个参数是咖啡总价格
    109 double  AddMaterial::GetExchange(double & inMoney, double & p)
    110 {
    111     return (inMoney - p);
    112 }
    113 
    114 
    115 
    116 
    117 #ifndef CAFFEE
    118 #define CAFFEE
    119 
    120 #include<string>
    121 #include"AddMaterial.h"
    122 
    123 using namespace std;
    124 
    125 class Caffee
    126 {
    127 private:
    128     string caffeeName;
    129     double price;
    130     string Size;
    131     AddMaterial add;
    132 
    133 public:
    134     Caffee(){};
    135     Caffee(string name = "",string CupSize = "");    //初始化咖啡只需要名字,首字母大写
    136     void addCastorSugar();
    137     void  addCubicSugar();
    138     void addMilk();
    139     void addCheese();
    140     double getPrice();
    141     double getExchane(double);
    142 };
    143 
    144 
    145 #endif CAFFEE
    146 
    147 
    148 
    149 
    150 #include"Caffee.h"
    151 #include<iostream>
    152 using namespace std;
    153 
    154 Caffee::Caffee(string name, string CupSize)
    155 {
    156     caffeeName = name;
    157     Size = CupSize;
    158     price = 0.0;
    159 
    160     if (caffeeName == "Cappuccino")        //卡布奇诺
    161          add.AddCappuccino(price,Size);
    162 
    163     if (caffeeName == "Latte")        //拿铁
    164          add.AddCappuccino(price,Size);
    165 
    166     if (caffeeName == "Mocha")        //摩卡
    167          add.AddCappuccino(price,Size);
    168 
    169     if (caffeeName == "BlueMountain")        //蓝山
    170         add.AddCappuccino(price, Size);
    171 
    172 }
    173 
    174 //咖啡白沙加糖,返回价钱
    175 void Caffee::addCastorSugar()
    176 {
    177     return add.AddCastorSugar(price);
    178 }
    179 
    180 //咖啡加方糖,返回价钱
    181 void Caffee::addCubicSugar()
    182 {
    183     return add.AddCubicSugar(price);
    184 }
    185 
    186 //咖啡加牛奶,返回价格
    187 void Caffee::addMilk()
    188 {
    189     return add.AddMilk(price);
    190 }
    191 
    192 //咖啡加奶酪,返回价格
    193 void Caffee::addCheese()
    194 {
    195     return add.AddCheese(price);
    196 }
    197 
    198 //获取咖啡的价格
    199 double Caffee::getPrice()
    200 {
    201     return price;
    202 }
    203 
    204 //找零钱
    205 double Caffee::getExchane(double inMoney)
    206 {
    207     if (inMoney < price)
    208     {
    209         cout << "请投入足够的钱!";
    210         return 0;
    211     }
    212     else
    213 
    214         return add.GetExchange(inMoney, price);
    215 
    216 }
    217 
    218 
    219 
    220 #include<iostream>
    221 #include"Caffee.h"
    222 
    223 using namespace std;
    224 
    225 int main()
    226 {
    227     Caffee CappuccinoL("Cappuccino","large");
    228     double ini = CappuccinoL.getPrice();
    229     cout << "只加咖啡时的价格" << ini <<endl;
    230     CappuccinoL.addMilk();
    231     ini = CappuccinoL.getPrice();
    232     cout << "加牛奶之后的价格" << ini << endl;
    233     CappuccinoL.addCastorSugar();
    234     ini = CappuccinoL.getPrice();
    235     cout << "加牛奶和白沙糖之后的价格" << ini << endl;
    236 
    237     Caffee CappuccinoS("Cappuccino", "small");
    238     double ini2 = CappuccinoS.getPrice();
    239     cout << "只加咖啡时的价格" << ini2 << endl;
    240     CappuccinoS.addCheese();
    241     ini2 = CappuccinoS.getPrice();
    242     cout << "加奶酪之后的价格" << ini2 << endl;
    243     CappuccinoS.addCubicSugar();
    244     ini2 = CappuccinoS.getPrice();
    245     cout << "加牛奶和白沙糖之后的价格" << ini2 << endl;
    246 
    247     system("pause");
    248     return 0;
    249 
    250 }

    测试结果:

  • 相关阅读:
    http协议
    web应用
    前端基础-jquery
    jQuery的事件
    2.UML类图基本介绍
    1.设计模式的七大原则
    使用OpenFeign远程调用时请求头处理报错问题
    SpringCloud Config-分布式配置中心
    19. 类加载器详解
    18. 类加载过程详解
  • 原文地址:https://www.cnblogs.com/RXWein/p/5115099.html
Copyright © 2011-2022 走看看