Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. #include<iostream.h>
  2. #include<iomanip.h>
  3. #include<ctype.h>
  4. //#include<conio.h>
  5. #include<stdlib.h>
  6.  
  7. #define jum_kamar 20
  8. #define diskon 0.1
  9. #define harga_kam 1000
  10. int bayar=0;
  11. int init_kamar[20]={0};
  12. //int bayar=0;
  13.  
  14. struct orang
  15. {
  16.  int kamar;
  17.  int hari;
  18.  int mkp;
  19.  int mks;
  20.  int mkm;
  21.  int diskonkmr;
  22. char nama_penyewa[20];
  23.  
  24. } pengunjung[20] ;
  25.  
  26.  
  27. class pesan
  28. {
  29.  private:
  30.     int hari;
  31.     int jumlah;
  32.     int kunjungan;
  33.  
  34.  public:
  35.     void informasikamar();
  36.   //    ~pesan();
  37.     int kamar(int no_kam);
  38.     int jum_hari(int hari);
  39.     int makan_siang();
  40.     int makan_pagi();
  41.     int makan_malam();
  42.     void informasikmkosong();
  43.     void informasiumum();
  44.  //    int static bayar();
  45.  
  46.  
  47.  
  48.  
  49.  };
  50.  
  51.  
  52.  int pesan::makan_siang()
  53.  {
  54.     int harga_makan_siang,a,b; a=0;b=0;
  55.     harga_makan_siang=0;
  56.   cout<<"pilihan menu makan siang "<<endl;
  57.   cout<<"A: nasi pecel "<<endl;
  58.   cout<<"B: nasi Gudeg "<<endl;
  59.     char pilih,mk;
  60.     pilih='y';
  61.     cout<<"anda mau pesan makan siang tidak y/t = ";cin>>pilih;cout<<endl;
  62.     while (toupper(pilih)=='Y')
  63.     {
  64.     cout<<"masukan pilihan anda A?B = "  ;cin>>mk;
  65.     switch (toupper(mk))
  66.     {
  67.         case 'A':{harga_makan_siang=harga_makan_siang+500;bayar=bayar+500;a++; break;}
  68.         case 'B':{harga_makan_siang=harga_makan_siang+500;bayar=bayar+500;b++; break;}
  69.         default:{harga_makan_siang=harga_makan_siang+0;bayar=bayar+0; break;}
  70.  
  71.     }
  72.     cout<<"masukan ingin pesan akan lagi atu tidak Y/T ";cin>>pilih ;cout<<endl;
  73.  
  74.     }
  75.     pengunjung[kunjungan].mks=harga_makan_siang;
  76.     return harga_makan_siang;
  77.  }
  78.  
  79.  int pesan::makan_malam()
  80.  {
  81.     int harga_makan_siang,a,b; a=0;b=0;
  82.     harga_makan_siang=0;
  83.   cout<<"pilihan menu makan malam "<<endl;
  84.   cout<<"A: nasi uduk "<<endl;
  85.   cout<<"B: nasi Goreng "<<endl;
  86.     char pilih,mk;
  87.     pilih='y';
  88.     cout<<"anda mau pesan makan malam tidak y/t = ";cin>>pilih;cout<<endl;
  89.     while (toupper(pilih)=='Y')
  90.     {
  91.     cout<<"masukan pilihan anda A?B = "  ;cin>>mk;
  92.     switch (toupper(mk))
  93.     {
  94.         case 'A':{harga_makan_siang=harga_makan_siang+500;bayar=bayar+500;a++; break;}
  95.         case 'B':{harga_makan_siang=harga_makan_siang+500;bayar=bayar+500;b++; break;}
  96.         default:{harga_makan_siang=harga_makan_siang+0;bayar=bayar+0; break;}
  97.  
  98.     }
  99.     cout<<"masukan ingin pesan akan lagi atu tidak Y/T ";cin>>pilih ;cout<<endl;
  100.  
  101.     }
  102.     pengunjung[kunjungan].mkm=harga_makan_siang;
  103.     return harga_makan_siang;
  104.  }
  105.  
  106.  int pesan::makan_pagi()
  107.  {
  108.     int harga_makan_siang,a,b; a=0;b=0;
  109.     harga_makan_siang=0;
  110.   cout<<"pilihan menu makan pagi "<<endl;
  111.   cout<<"A: nasi uduk "<<endl;
  112.   cout<<"B: nasi kuning "<<endl;
  113.     char pilih,mk;
  114.     pilih='y'; cout<<"anda mau pesan makan pagi tidak y/t = ";cin>>pilih;cout<<endl;
  115.     while (toupper(pilih)=='Y')
  116.     {
  117.     cout<<"masukan pilihan anda A?B = "  ;cin>>mk;
  118.     switch (toupper(mk))
  119.     {
  120.         case 'A':{harga_makan_siang=harga_makan_siang+500;bayar=bayar+500;a++; break;}
  121.         case 'B':{harga_makan_siang=harga_makan_siang+500;bayar=bayar+500;b++; break;}
  122.         default:{harga_makan_siang=harga_makan_siang+0;bayar=bayar+0; break;}
  123.  
  124.     }
  125.     cout<<"masukan ingin pesan akan lagi atu tidak Y/T ";cin>>pilih ;cout<<endl;
  126.  
  127.     }
  128.     pengunjung[kunjungan].mkp=harga_makan_siang;
  129.     return harga_makan_siang;
  130.  }
  131.  
  132.  
  133.  /* static int  pesan::bayar()
  134.  {
  135.   int hargakm;
  136.   hargakm=hari*harga_kam;
  137.   return
  138.  }
  139. */
  140.  
  141.  
  142.  void pesan::informasikamar()
  143.  {
  144.     int i=0;
  145.     while(init_kamar[i]!=0 && i<20)
  146.     {
  147.         i++;  cout<<::init_kamar[i]<<endl;
  148.     }
  149.  
  150.     if (i==20)
  151.     {cout<<"maaf pesanan kamar tidak bisa kami layani karena penuh"<<endl;pesan::informasiumum();exit(0);}
  152.     else {cout<<"\t WELCOME DI SISTEM INFORMASI HOTEL"<<endl<<endl<<endl; }
  153.  }
  154.  
  155.  void pesan::informasikmkosong()
  156.  {
  157.     cout<<"INFORMASI KAMAR KOSONG"<<endl;
  158.     int count; count=0;
  159.     for(int i=0;i<jum_kamar;i++)
  160.     {
  161.         if (::init_kamar[i] ==0)
  162.         {
  163.             cout<<" Anda bisa memesan kamar no- "<<i+1<<endl;
  164.             count++;
  165.         }
  166.     }
  167.     if (count==0) {cout<<"LAYANAN KAMAR KOSONG PENUH"<<endl;pesan::informasiumum();exit(0);}
  168.  }
  169.  
  170.  int pesan::kamar(int no_kamar)
  171.  {
  172.         no_kamar=no_kamar-1;
  173.         char lagi='y'; char disk;
  174.         while (toupper(lagi)=='Y')
  175.         {
  176.             if (::init_kamar[no_kamar]==0)
  177.             {
  178.                 cout<<"masukan nama penyewa = ";cin>>pengunjung[no_kamar].nama_penyewa;cout<<endl;
  179.                 cout<<"####kamar telah berhasil di pesan#### \n"<<endl;
  180.  
  181.                 cout<<" masukan jumlah hari pemesanan =";cin>>hari;
  182.                 if (hari<1)
  183.                 {
  184.                     cout<<"jumlah pemesanan hari anda diluar jangkauan pelayanan kami"<<endl;
  185.                     cout<<"jika anda ingin pesan yang lain tekan Y ";cin>>lagi;
  186.                     cout<<endl;
  187.                     if (toupper(lagi)=='Y')
  188.                     {
  189.                         pesan::informasikmkosong();
  190.                         cout<<"masukan no kamar yang mau di pesan kembali";cin>>no_kamar;
  191.                         cout<<endl;
  192.                         no_kamar--;
  193.                     }
  194.                     else
  195.                     {
  196.                      cout<<"terimah kasih atas partisipasi anda di SI Hotel"<<endl ;
  197.                      pesan::informasiumum();
  198.                      exit(0);
  199.  
  200.                     }
  201.                 }
  202.                 else
  203.                 {
  204.                     cout<<"apakah saudara pernah menginap sebelumnya y/t = "  ;cin>>disk;cout<<endl;
  205.                     if (toupper(disk)=='Y'){ pengunjung[no_kamar].diskonkmr=1;}else{ pengunjung[no_kamar].diskonkmr=0;}
  206.                     init_kamar[no_kamar]=1;
  207.                     pengunjung[no_kamar].kamar=1;
  208.                     lagi='n';
  209.                     bayar=bayar+(hari*harga_kam);
  210.                     pengunjung[no_kamar].hari=hari*harga_kam;
  211.                     kunjungan=no_kamar;
  212.                 }
  213.             }
  214.             else
  215.             {
  216.                 cout<<"kamar telah terisi "<<endl;
  217.                 cout<<"jika anda ingin pesan yang lain tekan Y ";cin>>lagi;
  218.                 cout<<endl;
  219.                 if (toupper(lagi)=='Y')
  220.                 {
  221.                     pesan::informasikmkosong();
  222.                     cout<<"masukan no kamar yang mau di pesan kembali";cin>>no_kamar;
  223.                     cout<<endl;
  224.                     no_kamar--;
  225.  
  226.                 }
  227.             }
  228.         }
  229.  }
  230.  
  231.     //ini informasi tentang hail pemesanan planggan
  232.  
  233.   void pesan::informasiumum()
  234.     {
  235.     cout<<"\t INFORMASI HASIL PEMESANAN KONSUMEN "<<endl<<endl<<endl;
  236.      for (int i=0 ;i<20 ;i++)
  237.      {
  238.         if (init_kamar[i]==1)
  239.         {
  240.             cout<<setw(30)<<"pengunjung kamar no= "<<i+1<<endl<<endl;
  241.             cout<<setw(30)<<"nama pengunjung= "<<pengunjung[i].nama_penyewa<<endl<<endl;
  242.             cout<<setw(30)<<"pesan = "<<pengunjung[i].hari/1000<<"  hari "<<endl<<endl;
  243.             cout<<setw(30)<<"biaya pemesanan kamar ="<<pengunjung[i].hari<<endl<<endl;
  244.  
  245.             if(pengunjung[i].mkp!=0)cout<<setw(30)<<"makan pagi habis= "<< pengunjung[i].mkp<<endl<<endl;
  246.             else cout<<setw(30)<<"makan pagi habis= "<< '0'<<endl<<endl;
  247.             if(pengunjung[i].mks!=0)cout<<setw(30)<<"makan siang habis= "<< pengunjung[i].mks<<endl<<endl;
  248.             else cout<<setw(30)<<"makan siang habis= "<< '0'<<endl<<endl;
  249.             if(pengunjung[i].mkm!=0)cout<<setw(30)<<"makan malam habis= "<< pengunjung[i].mkm<<endl<<endl;
  250.             else cout<<setw(30)<<"makan malam habis= "<< '0'<<endl<<endl;
  251.             if (pengunjung[i].diskonkmr==0) {
  252.             cout<<setw(30)<<" dapat diskon atau tidak= "<<"tidak"<<endl<<endl;
  253.             cout<<setw(30)<<" total pembayaran + diskon ="<<pengunjung[i].hari+pengunjung[i].mkm+pengunjung[i].mkp+pengunjung[i].mks<<endl<<endl; }
  254.             else  {
  255.             cout<<setw(30)<<" dapat diskon atau tidak= "<<"dapat diskon "<<endl<<endl;
  256.             cout<<setw(30)<<" total pembayaran + diskon ="<<(pengunjung[i].hari+pengunjung[i].mkm+pengunjung[i].mkp+pengunjung[i].mks)*(1-diskon)<<endl<<endl; }
  257.  
  258.             cout<<"########################################################################"<<endl<<endl;
  259.  
  260.         }
  261.      }
  262.  
  263.  
  264.     }
  265.  
  266.  
  267.  
  268.  int main()
  269.  {
  270.  
  271.  
  272.     char lagi;
  273.     lagi='Y';
  274.     int pintu;
  275.     //cout<<"teguh puji widianto ";
  276.     pesan satu[20];// ;
  277.   //    for (int i=0 ;i<10;i++)
  278.     int i;
  279.     i=1;
  280.  
  281.     while(toupper(lagi)=='Y' &&  i<20)
  282.      {
  283.  
  284.             //;
  285.             satu[i].informasikamar();
  286.             satu[i].informasikmkosong();
  287.             cout<<endl;
  288.             cout<<"masukan no kamar = ";cin>>pintu;cout<<endl;
  289.          
  290.             satu[i].kamar(pintu);
  291.             satu[i].makan_pagi();
  292.             satu[i].makan_siang();
  293.             satu[i].makan_malam();
  294.             i++;
  295.             cout<<" Ingin Pesan Kamar lagi Atau Tidak ";cin>>lagi;
  296.             cout<<endl;
  297.             if (toupper(lagi)!='Y')
  298.             {
  299.                 ;
  300.                 cout<<"terimah kasih atas partisipasi anda di sistem informasi Hotel"<<endl;;
  301.                 satu[i].informasiumum();
  302.                 exit(0);
  303.             }
  304.  
  305.      }
  306.  
  307.   return 0;
  308.  }
  309. #include<iostream.h>
  310. #include<iomanip.h>
  311. #include<ctype.h>
  312. //#include<conio.h>
  313. #include<stdlib.h>
  314.  
  315. #define jum_kamar 20
  316. #define diskon 0.1
  317. #define harga_kam 1000
  318. int bayar=0;
  319. int init_kamar[20]={0};
  320. //int bayar=0;
  321.  
  322. struct orang
  323. {
  324.  int kamar;
  325.  int hari;
  326.  int mkp;
  327.  int mks;
  328.  int mkm;
  329.  int diskonkmr;
  330. char nama_penyewa[20];
  331.  
  332. } pengunjung[20] ;
  333.  
  334.  
  335. class pesan
  336. {
  337.  private:
  338.     int hari;
  339.     int jumlah;
  340.     int kunjungan;
  341.  
  342.  public:
  343.     void informasikamar();
  344.   //    ~pesan();
  345.     int kamar(int no_kam);
  346.     int jum_hari(int hari);
  347.     int makan_siang();
  348.     int makan_pagi();
  349.     int makan_malam();
  350.     void informasikmkosong();
  351.     void informasiumum();
  352.  //    int static bayar();
  353.  
  354.  
  355.  
  356.  
  357.  };
  358.  
  359.  
  360.  int pesan::makan_siang()
  361.  {
  362.     int harga_makan_siang,a,b; a=0;b=0;
  363.     harga_makan_siang=0;
  364.   cout<<"pilihan menu makan siang "<<endl;
  365.   cout<<"A: nasi pecel "<<endl;
  366.   cout<<"B: nasi Gudeg "<<endl;
  367.     char pilih,mk;
  368.     pilih='y';
  369.     cout<<"anda mau pesan makan siang tidak y/t = ";cin>>pilih;cout<<endl;
  370.     while (toupper(pilih)=='Y')
  371.     {
  372.     cout<<"masukan pilihan anda A?B = "  ;cin>>mk;
  373.     switch (toupper(mk))
  374.     {
  375.         case 'A':{harga_makan_siang=harga_makan_siang+500;bayar=bayar+500;a++; break;}
  376.         case 'B':{harga_makan_siang=harga_makan_siang+500;bayar=bayar+500;b++; break;}
  377.         default:{harga_makan_siang=harga_makan_siang+0;bayar=bayar+0; break;}
  378.  
  379.     }
  380.     cout<<"masukan ingin pesan akan lagi atu tidak Y/T ";cin>>pilih ;cout<<endl;
  381.  
  382.     }
  383.     pengunjung[kunjungan].mks=harga_makan_siang;
  384.     return harga_makan_siang;
  385.  }
  386.  
  387.  int pesan::makan_malam()
  388.  {
  389.     int harga_makan_siang,a,b; a=0;b=0;
  390.     harga_makan_siang=0;
  391.   cout<<"pilihan menu makan malam "<<endl;
  392.   cout<<"A: nasi uduk "<<endl;
  393.   cout<<"B: nasi Goreng "<<endl;
  394.     char pilih,mk;
  395.     pilih='y';
  396.     cout<<"anda mau pesan makan malam tidak y/t = ";cin>>pilih;cout<<endl;
  397.     while (toupper(pilih)=='Y')
  398.     {
  399.     cout<<"masukan pilihan anda A?B = "  ;cin>>mk;
  400.     switch (toupper(mk))
  401.     {
  402.         case 'A':{harga_makan_siang=harga_makan_siang+500;bayar=bayar+500;a++; break;}
  403.         case 'B':{harga_makan_siang=harga_makan_siang+500;bayar=bayar+500;b++; break;}
  404.         default:{harga_makan_siang=harga_makan_siang+0;bayar=bayar+0; break;}
  405.  
  406.     }
  407.     cout<<"masukan ingin pesan akan lagi atu tidak Y/T ";cin>>pilih ;cout<<endl;
  408.  
  409.     }
  410.     pengunjung[kunjungan].mkm=harga_makan_siang;
  411.     return harga_makan_siang;
  412.  }
  413.  
  414.  int pesan::makan_pagi()
  415.  {
  416.     int harga_makan_siang,a,b; a=0;b=0;
  417.     harga_makan_siang=0;
  418.   cout<<"pilihan menu makan pagi "<<endl;
  419.   cout<<"A: nasi uduk "<<endl;
  420.   cout<<"B: nasi kuning "<<endl;
  421.     char pilih,mk;
  422.     pilih='y'; cout<<"anda mau pesan makan pagi tidak y/t = ";cin>>pilih;cout<<endl;
  423.     while (toupper(pilih)=='Y')
  424.     {
  425.     cout<<"masukan pilihan anda A?B = "  ;cin>>mk;
  426.     switch (toupper(mk))
  427.     {
  428.         case 'A':{harga_makan_siang=harga_makan_siang+500;bayar=bayar+500;a++; break;}
  429.         case 'B':{harga_makan_siang=harga_makan_siang+500;bayar=bayar+500;b++; break;}
  430.         default:{harga_makan_siang=harga_makan_siang+0;bayar=bayar+0; break;}
  431.  
  432.     }
  433.     cout<<"masukan ingin pesan akan lagi atu tidak Y/T ";cin>>pilih ;cout<<endl;
  434.  
  435.     }
  436.     pengunjung[kunjungan].mkp=harga_makan_siang;
  437.     return harga_makan_siang;
  438.  }
  439.  
  440.  
  441.  /* static int  pesan::bayar()
  442.  {
  443.   int hargakm;
  444.   hargakm=hari*harga_kam;
  445.   return
  446.  }
  447. */
  448.  
  449.  
  450.  void pesan::informasikamar()
  451.  {
  452.     int i=0;
  453.     while(init_kamar[i]!=0 && i<20)
  454.     {
  455.         i++;  cout<<::init_kamar[i]<<endl;
  456.     }
  457.  
  458.     if (i==20)
  459.     {cout<<"maaf pesanan kamar tidak bisa kami layani karena penuh"<<endl;pesan::informasiumum();exit(0);}
  460.     else {cout<<"\t WELCOME DI SISTEM INFORMASI HOTEL"<<endl<<endl<<endl; }
  461.  }
  462.  
  463.  void pesan::informasikmkosong()
  464.  {
  465.     cout<<"INFORMASI KAMAR KOSONG"<<endl;
  466.     int count; count=0;
  467.     for(int i=0;i<jum_kamar;i++)
  468.     {
  469.         if (::init_kamar[i] ==0)
  470.         {
  471.             cout<<" Anda bisa memesan kamar no- "<<i+1<<endl;
  472.             count++;
  473.         }
  474.     }
  475.     if (count==0) {cout<<"LAYANAN KAMAR KOSONG PENUH"<<endl;pesan::informasiumum();exit(0);}
  476.  }
  477.  
  478.  int pesan::kamar(int no_kamar)
  479.  {
  480.         no_kamar=no_kamar-1;
  481.         char lagi='y'; char disk;
  482.         while (toupper(lagi)=='Y')
  483.         {
  484.             if (::init_kamar[no_kamar]==0)
  485.             {
  486.                 cout<<"masukan nama penyewa = ";cin>>pengunjung[no_kamar].nama_penyewa;cout<<endl;
  487.                 cout<<"####kamar telah berhasil di pesan#### \n"<<endl;
  488.  
  489.                 cout<<" masukan jumlah hari pemesanan =";cin>>hari;
  490.                 if (hari<1)
  491.                 {
  492.                     cout<<"jumlah pemesanan hari anda diluar jangkauan pelayanan kami"<<endl;
  493.                     cout<<"jika anda ingin pesan yang lain tekan Y ";cin>>lagi;
  494.                     cout<<endl;
  495.                     if (toupper(lagi)=='Y')
  496.                     {
  497.                         pesan::informasikmkosong();
  498.                         cout<<"masukan no kamar yang mau di pesan kembali";cin>>no_kamar;
  499.                         cout<<endl;
  500.                         no_kamar--;
  501.                     }
  502.                     else
  503.                     {
  504.                      cout<<"terimah kasih atas partisipasi anda di SI Hotel"<<endl ;
  505.                      pesan::informasiumum();
  506.                      exit(0);
  507.  
  508.                     }
  509.                 }
  510.                 else
  511.                 {
  512.                     cout<<"apakah saudara pernah menginap sebelumnya y/t = "  ;cin>>disk;cout<<endl;
  513.                     if (toupper(disk)=='Y'){ pengunjung[no_kamar].diskonkmr=1;}else{ pengunjung[no_kamar].diskonkmr=0;}
  514.                     init_kamar[no_kamar]=1;
  515.                     pengunjung[no_kamar].kamar=1;
  516.                     lagi='n';
  517.                     bayar=bayar+(hari*harga_kam);
  518.                     pengunjung[no_kamar].hari=hari*harga_kam;
  519.                     kunjungan=no_kamar;
  520.                 }
  521.             }
  522.             else
  523.             {
  524.                 cout<<"kamar telah terisi "<<endl;
  525.                 cout<<"jika anda ingin pesan yang lain tekan Y ";cin>>lagi;
  526.                 cout<<endl;
  527.                 if (toupper(lagi)=='Y')
  528.                 {
  529.                     pesan::informasikmkosong();
  530.                     cout<<"masukan no kamar yang mau di pesan kembali";cin>>no_kamar;
  531.                     cout<<endl;
  532.                     no_kamar--;
  533.  
  534.                 }
  535.             }
  536.         }
  537.  }
  538.  
  539.     //ini informasi tentang hail pemesanan planggan
  540.  
  541.   void pesan::informasiumum()
  542.     {
  543.     cout<<"\t INFORMASI HASIL PEMESANAN KONSUMEN "<<endl<<endl<<endl;
  544.      for (int i=0 ;i<20 ;i++)
  545.      {
  546.         if (init_kamar[i]==1)
  547.         {
  548.             cout<<setw(30)<<"pengunjung kamar no= "<<i+1<<endl<<endl;
  549.             cout<<setw(30)<<"nama pengunjung= "<<pengunjung[i].nama_penyewa<<endl<<endl;
  550.             cout<<setw(30)<<"pesan = "<<pengunjung[i].hari/1000<<"  hari "<<endl<<endl;
  551.             cout<<setw(30)<<"biaya pemesanan kamar ="<<pengunjung[i].hari<<endl<<endl;
  552.  
  553.             if(pengunjung[i].mkp!=0)cout<<setw(30)<<"makan pagi habis= "<< pengunjung[i].mkp<<endl<<endl;
  554.             else cout<<setw(30)<<"makan pagi habis= "<< '0'<<endl<<endl;
  555.             if(pengunjung[i].mks!=0)cout<<setw(30)<<"makan siang habis= "<< pengunjung[i].mks<<endl<<endl;
  556.             else cout<<setw(30)<<"makan siang habis= "<< '0'<<endl<<endl;
  557.             if(pengunjung[i].mkm!=0)cout<<setw(30)<<"makan malam habis= "<< pengunjung[i].mkm<<endl<<endl;
  558.             else cout<<setw(30)<<"makan malam habis= "<< '0'<<endl<<endl;
  559.             if (pengunjung[i].diskonkmr==0) {
  560.             cout<<setw(30)<<" dapat diskon atau tidak= "<<"tidak"<<endl<<endl;
  561.             cout<<setw(30)<<" total pembayaran + diskon ="<<pengunjung[i].hari+pengunjung[i].mkm+pengunjung[i].mkp+pengunjung[i].mks<<endl<<endl; }
  562.             else  {
  563.             cout<<setw(30)<<" dapat diskon atau tidak= "<<"dapat diskon "<<endl<<endl;
  564.             cout<<setw(30)<<" total pembayaran + diskon ="<<(pengunjung[i].hari+pengunjung[i].mkm+pengunjung[i].mkp+pengunjung[i].mks)*(1-diskon)<<endl<<endl; }
  565.  
  566.             cout<<"########################################################################"<<endl<<endl;
  567.  
  568.         }
  569.      }
  570.  
  571.  
  572.     }
  573.  
  574.  
  575.  
  576.  int main()
  577.  {
  578.  
  579.  
  580.     char lagi;
  581.     lagi='Y';
  582.     int pintu;
  583.     //cout<<"teguh puji widianto ";
  584.     pesan satu[20];// ;
  585.   //    for (int i=0 ;i<10;i++)
  586.     int i;
  587.     i=1;
  588.  
  589.     while(toupper(lagi)=='Y' &&  i<20)
  590.      {
  591.  
  592.             //;
  593.             satu[i].informasikamar();
  594.             satu[i].informasikmkosong();
  595.             cout<<endl;
  596.             cout<<"masukan no kamar = ";cin>>pintu;cout<<endl;
  597.            
  598.             satu[i].kamar(pintu);
  599.             satu[i].makan_pagi();
  600.             satu[i].makan_siang();
  601.             satu[i].makan_malam();
  602.             i++;
  603.             cout<<" Ingin Pesan Kamar lagi Atau Tidak ";cin>>lagi;
  604.             cout<<endl;
  605.             if (toupper(lagi)!='Y')
  606.             {
  607.                 ;
  608.                 cout<<"terimah kasih atas partisipasi anda di sistem informasi Hotel"<<endl;;
  609.                 satu[i].informasiumum();
  610.                 exit(0);
  611.             }
  612.  
  613.      }
  614.  
  615.   return 0;
  616.  }
  617. #include<iostream.h>
  618. #include<iomanip.h>
  619. #include<ctype.h>
  620. //#include<conio.h>
  621. #include<stdlib.h>
  622.  
  623. #define jum_kamar 20
  624. #define diskon 0.1
  625. #define harga_kam 1000
  626. int bayar=0;
  627. int init_kamar[20]={0};
  628. //int bayar=0;
  629.  
  630. struct orang
  631. {
  632.  int kamar;
  633.  int hari;
  634.  int mkp;
  635.  int mks;
  636.  int mkm;
  637.  int diskonkmr;
  638. char nama_penyewa[20];
  639.  
  640. } pengunjung[20] ;
  641.  
  642.  
  643. class pesan
  644. {
  645.  private:
  646.     int hari;
  647.     int jumlah;
  648.     int kunjungan;
  649.  
  650.  public:
  651.     void informasikamar();
  652.   //    ~pesan();
  653.     int kamar(int no_kam);
  654.     int jum_hari(int hari);
  655.     int makan_siang();
  656.     int makan_pagi();
  657.     int makan_malam();
  658.     void informasikmkosong();
  659.     void informasiumum();
  660.  //    int static bayar();
  661.  
  662.  
  663.  
  664.  
  665.  };
  666.  
  667.  
  668.  int pesan::makan_siang()
  669.  {
  670.     int harga_makan_siang,a,b; a=0;b=0;
  671.     harga_makan_siang=0;
  672.   cout<<"pilihan menu makan siang "<<endl;
  673.   cout<<"A: nasi pecel "<<endl;
  674.   cout<<"B: nasi Gudeg "<<endl;
  675.     char pilih,mk;
  676.     pilih='y';
  677.     cout<<"anda mau pesan makan siang tidak y/t = ";cin>>pilih;cout<<endl;
  678.     while (toupper(pilih)=='Y')
  679.     {
  680.     cout<<"masukan pilihan anda A?B = "  ;cin>>mk;
  681.     switch (toupper(mk))
  682.     {
  683.         case 'A':{harga_makan_siang=harga_makan_siang+500;bayar=bayar+500;a++; break;}
  684.         case 'B':{harga_makan_siang=harga_makan_siang+500;bayar=bayar+500;b++; break;}
  685.         default:{harga_makan_siang=harga_makan_siang+0;bayar=bayar+0; break;}
  686.  
  687.     }
  688.     cout<<"masukan ingin pesan akan lagi atu tidak Y/T ";cin>>pilih ;cout<<endl;
  689.  
  690.     }
  691.     pengunjung[kunjungan].mks=harga_makan_siang;
  692.     return harga_makan_siang;
  693.  }
  694.  
  695.  int pesan::makan_malam()
  696.  {
  697.     int harga_makan_siang,a,b; a=0;b=0;
  698.     harga_makan_siang=0;
  699.   cout<<"pilihan menu makan malam "<<endl;
  700.   cout<<"A: nasi uduk "<<endl;
  701.   cout<<"B: nasi Goreng "<<endl;
  702.     char pilih,mk;
  703.     pilih='y';
  704.     cout<<"anda mau pesan makan malam tidak y/t = ";cin>>pilih;cout<<endl;
  705.     while (toupper(pilih)=='Y')
  706.     {
  707.     cout<<"masukan pilihan anda A?B = "  ;cin>>mk;
  708.     switch (toupper(mk))
  709.     {
  710.         case 'A':{harga_makan_siang=harga_makan_siang+500;bayar=bayar+500;a++; break;}
  711.         case 'B':{harga_makan_siang=harga_makan_siang+500;bayar=bayar+500;b++; break;}
  712.         default:{harga_makan_siang=harga_makan_siang+0;bayar=bayar+0; break;}
  713.  
  714.     }
  715.     cout<<"masukan ingin pesan akan lagi atu tidak Y/T ";cin>>pilih ;cout<<endl;
  716.  
  717.     }
  718.     pengunjung[kunjungan].mkm=harga_makan_siang;
  719.     return harga_makan_siang;
  720.  }
  721.  
  722.  int pesan::makan_pagi()
  723.  {
  724.     int harga_makan_siang,a,b; a=0;b=0;
  725.     harga_makan_siang=0;
  726.   cout<<"pilihan menu makan pagi "<<endl;
  727.   cout<<"A: nasi uduk "<<endl;
  728.   cout<<"B: nasi kuning "<<endl;
  729.     char pilih,mk;
  730.     pilih='y'; cout<<"anda mau pesan makan pagi tidak y/t = ";cin>>pilih;cout<<endl;
  731.     while (toupper(pilih)=='Y')
  732.     {
  733.     cout<<"masukan pilihan anda A?B = "  ;cin>>mk;
  734.     switch (toupper(mk))
  735.     {
  736.         case 'A':{harga_makan_siang=harga_makan_siang+500;bayar=bayar+500;a++; break;}
  737.         case 'B':{harga_makan_siang=harga_makan_siang+500;bayar=bayar+500;b++; break;}
  738.         default:{harga_makan_siang=harga_makan_siang+0;bayar=bayar+0; break;}
  739.  
  740.     }
  741.     cout<<"masukan ingin pesan akan lagi atu tidak Y/T ";cin>>pilih ;cout<<endl;
  742.  
  743.     }
  744.     pengunjung[kunjungan].mkp=harga_makan_siang;
  745.     return harga_makan_siang;
  746.  }
  747.  
  748.  
  749.  /* static int  pesan::bayar()
  750.  {
  751.   int hargakm;
  752.   hargakm=hari*harga_kam;
  753.   return
  754.  }
  755. */
  756.  
  757.  
  758.  void pesan::informasikamar()
  759.  {
  760.     int i=0;
  761.     while(init_kamar[i]!=0 && i<20)
  762.     {
  763.         i++;  cout<<::init_kamar[i]<<endl;
  764.     }
  765.  
  766.     if (i==20)
  767.     {cout<<"maaf pesanan kamar tidak bisa kami layani karena penuh"<<endl;pesan::informasiumum();exit(0);}
  768.     else {cout<<"\t WELCOME DI SISTEM INFORMASI HOTEL"<<endl<<endl<<endl; }
  769.  }
  770.  
  771.  void pesan::informasikmkosong()
  772.  {
  773.     cout<<"INFORMASI KAMAR KOSONG"<<endl;
  774.     int count; count=0;
  775.     for(int i=0;i<jum_kamar;i++)
  776.     {
  777.         if (::init_kamar[i] ==0)
  778.         {
  779.             cout<<" Anda bisa memesan kamar no- "<<i+1<<endl;
  780.             count++;
  781.         }
  782.     }
  783.     if (count==0) {cout<<"LAYANAN KAMAR KOSONG PENUH"<<endl;pesan::informasiumum();exit(0);}
  784.  }
  785.  
  786.  int pesan::kamar(int no_kamar)
  787.  {
  788.         no_kamar=no_kamar-1;
  789.         char lagi='y'; char disk;
  790.         while (toupper(lagi)=='Y')
  791.         {
  792.             if (::init_kamar[no_kamar]==0)
  793.             {
  794.                 cout<<"masukan nama penyewa = ";cin>>pengunjung[no_kamar].nama_penyewa;cout<<endl;
  795.                 cout<<"####kamar telah berhasil di pesan#### \n"<<endl;
  796.  
  797.                 cout<<" masukan jumlah hari pemesanan =";cin>>hari;
  798.                 if (hari<1)
  799.                 {
  800.                     cout<<"jumlah pemesanan hari anda diluar jangkauan pelayanan kami"<<endl;
  801.                     cout<<"jika anda ingin pesan yang lain tekan Y ";cin>>lagi;
  802.                     cout<<endl;
  803.                     if (toupper(lagi)=='Y')
  804.                     {
  805.                         pesan::informasikmkosong();
  806.                         cout<<"masukan no kamar yang mau di pesan kembali";cin>>no_kamar;
  807.                         cout<<endl;
  808.                         no_kamar--;
  809.                     }
  810.                     else
  811.                     {
  812.                      cout<<"terimah kasih atas partisipasi anda di SI Hotel"<<endl ;
  813.                      pesan::informasiumum();
  814.                      exit(0);
  815.  
  816.                     }
  817.                 }
  818.                 else
  819.                 {
  820.                     cout<<"apakah saudara pernah menginap sebelumnya y/t = "  ;cin>>disk;cout<<endl;
  821.                     if (toupper(disk)=='Y'){ pengunjung[no_kamar].diskonkmr=1;}else{ pengunjung[no_kamar].diskonkmr=0;}
  822.                     init_kamar[no_kamar]=1;
  823.                     pengunjung[no_kamar].kamar=1;
  824.                     lagi='n';
  825.                     bayar=bayar+(hari*harga_kam);
  826.                     pengunjung[no_kamar].hari=hari*harga_kam;
  827.                     kunjungan=no_kamar;
  828.                 }
  829.             }
  830.             else
  831.             {
  832.                 cout<<"kamar telah terisi "<<endl;
  833.                 cout<<"jika anda ingin pesan yang lain tekan Y ";cin>>lagi;
  834.                 cout<<endl;
  835.                 if (toupper(lagi)=='Y')
  836.                 {
  837.                     pesan::informasikmkosong();
  838.                     cout<<"masukan no kamar yang mau di pesan kembali";cin>>no_kamar;
  839.                     cout<<endl;
  840.                     no_kamar--;
  841.  
  842.                 }
  843.             }
  844.         }
  845.  }
  846.  
  847.     //ini informasi tentang hail pemesanan planggan
  848.  
  849.   void pesan::informasiumum()
  850.     {
  851.     cout<<"\t INFORMASI HASIL PEMESANAN KONSUMEN "<<endl<<endl<<endl;
  852.      for (int i=0 ;i<20 ;i++)
  853.      {
  854.         if (init_kamar[i]==1)
  855.         {
  856.             cout<<setw(30)<<"pengunjung kamar no= "<<i+1<<endl<<endl;
  857.             cout<<setw(30)<<"nama pengunjung= "<<pengunjung[i].nama_penyewa<<endl<<endl;
  858.             cout<<setw(30)<<"pesan = "<<pengunjung[i].hari/1000<<"  hari "<<endl<<endl;
  859.             cout<<setw(30)<<"biaya pemesanan kamar ="<<pengunjung[i].hari<<endl<<endl;
  860.  
  861.             if(pengunjung[i].mkp!=0)cout<<setw(30)<<"makan pagi habis= "<< pengunjung[i].mkp<<endl<<endl;
  862.             else cout<<setw(30)<<"makan pagi habis= "<< '0'<<endl<<endl;
  863.             if(pengunjung[i].mks!=0)cout<<setw(30)<<"makan siang habis= "<< pengunjung[i].mks<<endl<<endl;
  864.             else cout<<setw(30)<<"makan siang habis= "<< '0'<<endl<<endl;
  865.             if(pengunjung[i].mkm!=0)cout<<setw(30)<<"makan malam habis= "<< pengunjung[i].mkm<<endl<<endl;
  866.             else cout<<setw(30)<<"makan malam habis= "<< '0'<<endl<<endl;
  867.             if (pengunjung[i].diskonkmr==0) {
  868.             cout<<setw(30)<<" dapat diskon atau tidak= "<<"tidak"<<endl<<endl;
  869.             cout<<setw(30)<<" total pembayaran + diskon ="<<pengunjung[i].hari+pengunjung[i].mkm+pengunjung[i].mkp+pengunjung[i].mks<<endl<<endl; }
  870.             else  {
  871.             cout<<setw(30)<<" dapat diskon atau tidak= "<<"dapat diskon "<<endl<<endl;
  872.             cout<<setw(30)<<" total pembayaran + diskon ="<<(pengunjung[i].hari+pengunjung[i].mkm+pengunjung[i].mkp+pengunjung[i].mks)*(1-diskon)<<endl<<endl; }
  873.  
  874.             cout<<"########################################################################"<<endl<<endl;
  875.  
  876.         }
  877.      }
  878.  
  879.  
  880.     }
  881.  
  882.  
  883.  
  884.  int main()
  885.  {
  886.  
  887.  
  888.     char lagi;
  889.     lagi='Y';
  890.     int pintu;
  891.     //cout<<"teguh puji widianto ";
  892.     pesan satu[20];// ;
  893.   //    for (int i=0 ;i<10;i++)
  894.     int i;
  895.     i=1;
  896.  
  897.     while(toupper(lagi)=='Y' &&  i<20)
  898.      {
  899.  
  900.             //;
  901.             satu[i].informasikamar();
  902.             satu[i].informasikmkosong();
  903.             cout<<endl;
  904.             cout<<"masukan no kamar = ";cin>>pintu;cout<<endl;
  905.            
  906.             satu[i].kamar(pintu);
  907.             satu[i].makan_pagi();
  908.             satu[i].makan_siang();
  909.             satu[i].makan_malam();
  910.             i++;
  911.             cout<<" Ingin Pesan Kamar lagi Atau Tidak ";cin>>lagi;
  912.             cout<<endl;
  913.             if (toupper(lagi)!='Y')
  914.             {
  915.                 ;
  916.                 cout<<"terimah kasih atas partisipasi anda di sistem informasi Hotel"<<endl;;
  917.                 satu[i].informasiumum();
  918.                 exit(0);
  919.             }
  920.  
  921.      }
  922.  
  923.   return 0;
  924.  }