contoh program aplikasi sistem informasi hotel dengan c++

#include<iostream.h>
#include<iomanip.h>
#include<ctype.h>
//#include<conio.h>
#include<stdlib.h>

#define jum_kamar 20
#define diskon 0.1
#define harga_kam 1000
int bayar=0;
int init_kamar[20]={0};
//int bayar=0;

struct orang
{
 int kamar;
 int hari;
 int mkp;
 int mks;
 int mkm;
 int diskonkmr;
char nama_penyewa[20];

} pengunjung[20] ;


class pesan
{
 private:
    int hari;
    int jumlah;
    int kunjungan;

 public:
    void informasikamar();
  //    ~pesan();
    int kamar(int no_kam);
    int jum_hari(int hari);
    int makan_siang();
    int makan_pagi();
    int makan_malam();
    void informasikmkosong();
    void informasiumum();
 //    int static bayar();




 };


 int pesan::makan_siang()
 {
    int harga_makan_siang,a,b; a=0;b=0;
    harga_makan_siang=0;
  cout<<"pilihan menu makan siang "<<endl;
  cout<<"A: nasi pecel "<<endl;
  cout<<"B: nasi Gudeg "<<endl;
    char pilih,mk;
    pilih='y';
    cout<<"anda mau pesan makan siang tidak y/t = ";cin>>pilih;cout<<endl;
    while (toupper(pilih)=='Y')
    {
    cout<<"masukan pilihan anda A?B = "  ;cin>>mk;
    switch (toupper(mk))
    {
        case 'A':{harga_makan_siang=harga_makan_siang+500;bayar=bayar+500;a++; break;}
        case 'B':{harga_makan_siang=harga_makan_siang+500;bayar=bayar+500;b++; break;}
        default:{harga_makan_siang=harga_makan_siang+0;bayar=bayar+0; break;}

    }
    cout<<"masukan ingin pesan akan lagi atu tidak Y/T ";cin>>pilih ;cout<<endl;

    }
    pengunjung[kunjungan].mks=harga_makan_siang;
    return harga_makan_siang;
 }

 int pesan::makan_malam()
 {
    int harga_makan_siang,a,b; a=0;b=0;
    harga_makan_siang=0;
  cout<<"pilihan menu makan malam "<<endl;
  cout<<"A: nasi uduk "<<endl;
  cout<<"B: nasi Goreng "<<endl;
    char pilih,mk;
    pilih='y';
    cout<<"anda mau pesan makan malam tidak y/t = ";cin>>pilih;cout<<endl;
    while (toupper(pilih)=='Y')
    {
    cout<<"masukan pilihan anda A?B = "  ;cin>>mk;
    switch (toupper(mk))
    {
        case 'A':{harga_makan_siang=harga_makan_siang+500;bayar=bayar+500;a++; break;}
        case 'B':{harga_makan_siang=harga_makan_siang+500;bayar=bayar+500;b++; break;}
        default:{harga_makan_siang=harga_makan_siang+0;bayar=bayar+0; break;}

    }
    cout<<"masukan ingin pesan akan lagi atu tidak Y/T ";cin>>pilih ;cout<<endl;

    }
    pengunjung[kunjungan].mkm=harga_makan_siang;
    return harga_makan_siang;
 }

 int pesan::makan_pagi()
 {
    int harga_makan_siang,a,b; a=0;b=0;
    harga_makan_siang=0;
  cout<<"pilihan menu makan pagi "<<endl;
  cout<<"A: nasi uduk "<<endl;
  cout<<"B: nasi kuning "<<endl;
    char pilih,mk;
    pilih='y'; cout<<"anda mau pesan makan pagi tidak y/t = ";cin>>pilih;cout<<endl;
    while (toupper(pilih)=='Y')
    {
    cout<<"masukan pilihan anda A?B = "  ;cin>>mk;
    switch (toupper(mk))
    {
        case 'A':{harga_makan_siang=harga_makan_siang+500;bayar=bayar+500;a++; break;}
        case 'B':{harga_makan_siang=harga_makan_siang+500;bayar=bayar+500;b++; break;}
        default:{harga_makan_siang=harga_makan_siang+0;bayar=bayar+0; break;}

    }
    cout<<"masukan ingin pesan akan lagi atu tidak Y/T ";cin>>pilih ;cout<<endl;

    }
    pengunjung[kunjungan].mkp=harga_makan_siang;
    return harga_makan_siang;
 }


 /* static int  pesan::bayar()
 {
  int hargakm;
  hargakm=hari*harga_kam;
  return
 }
*/


 void pesan::informasikamar()
 {
    int i=0;
    while(init_kamar[i]!=0 && i<20)
    {
        i++;  cout<<::init_kamar[i]<<endl;
    }

    if (i==20)
    {cout<<"maaf pesanan kamar tidak bisa kami layani karena penuh"<<endl;pesan::informasiumum();exit(0);}
    else {cout<<"\t WELCOME DI SISTEM INFORMASI HOTEL"<<endl<<endl<<endl; }
 }

 void pesan::informasikmkosong()
 {
    cout<<"INFORMASI KAMAR KOSONG"<<endl;
    int count; count=0;
    for(int i=0;i<jum_kamar;i++)
    {
        if (::init_kamar[i] ==0)
        {
            cout<<" Anda bisa memesan kamar no- "<<i+1<<endl;
            count++;
        }
    }
    if (count==0) {cout<<"LAYANAN KAMAR KOSONG PENUH"<<endl;pesan::informasiumum();exit(0);}
 }

 int pesan::kamar(int no_kamar)
 {
        no_kamar=no_kamar-1;
        char lagi='y'; char disk;
        while (toupper(lagi)=='Y')
        {
            if (::init_kamar[no_kamar]==0)
            {
                cout<<"masukan nama penyewa = ";cin>>pengunjung[no_kamar].nama_penyewa;cout<<endl;
                cout<<"####kamar telah berhasil di pesan#### \n"<<endl;

                cout<<" masukan jumlah hari pemesanan =";cin>>hari;
                if (hari<1)
                {
                    cout<<"jumlah pemesanan hari anda diluar jangkauan pelayanan kami"<<endl;
                    cout<<"jika anda ingin pesan yang lain tekan Y ";cin>>lagi;
                    cout<<endl;
                    if (toupper(lagi)=='Y')
                    {
                        pesan::informasikmkosong();
                        cout<<"masukan no kamar yang mau di pesan kembali";cin>>no_kamar;
                        cout<<endl;
                        no_kamar--;
                    }
                    else
                    {
                     cout<<"terimah kasih atas partisipasi anda di SI Hotel"<<endl ;
                     pesan::informasiumum();
                     exit(0);

                    }
                }
                else
                {
                    cout<<"apakah saudara pernah menginap sebelumnya y/t = "  ;cin>>disk;cout<<endl;
                    if (toupper(disk)=='Y'){ pengunjung[no_kamar].diskonkmr=1;}else{ pengunjung[no_kamar].diskonkmr=0;}
                    init_kamar[no_kamar]=1;
                    pengunjung[no_kamar].kamar=1;
                    lagi='n';
                    bayar=bayar+(hari*harga_kam);
                    pengunjung[no_kamar].hari=hari*harga_kam;
                    kunjungan=no_kamar;
                }
            }
            else
            {
                cout<<"kamar telah terisi "<<endl;
                cout<<"jika anda ingin pesan yang lain tekan Y ";cin>>lagi;
                cout<<endl;
                if (toupper(lagi)=='Y')
                {
                    pesan::informasikmkosong();
                    cout<<"masukan no kamar yang mau di pesan kembali";cin>>no_kamar;
                    cout<<endl;
                    no_kamar--;

                }
            }
        }
 }

    //ini informasi tentang hail pemesanan planggan

  void pesan::informasiumum()
    {
    cout<<"\t INFORMASI HASIL PEMESANAN KONSUMEN "<<endl<<endl<<endl;
     for (int i=0 ;i<20 ;i++)
     {
        if (init_kamar[i]==1)
        {
            cout<<setw(30)<<"pengunjung kamar no= "<<i+1<<endl<<endl;
            cout<<setw(30)<<"nama pengunjung= "<<pengunjung[i].nama_penyewa<<endl<<endl;
            cout<<setw(30)<<"pesan = "<<pengunjung[i].hari/1000<<"  hari "<<endl<<endl;
            cout<<setw(30)<<"biaya pemesanan kamar ="<<pengunjung[i].hari<<endl<<endl;

            if(pengunjung[i].mkp!=0)cout<<setw(30)<<"makan pagi habis= "<< pengunjung[i].mkp<<endl<<endl;
            else cout<<setw(30)<<"makan pagi habis= "<< '0'<<endl<<endl;
            if(pengunjung[i].mks!=0)cout<<setw(30)<<"makan siang habis= "<< pengunjung[i].mks<<endl<<endl;
            else cout<<setw(30)<<"makan siang habis= "<< '0'<<endl<<endl;
            if(pengunjung[i].mkm!=0)cout<<setw(30)<<"makan malam habis= "<< pengunjung[i].mkm<<endl<<endl;
            else cout<<setw(30)<<"makan malam habis= "<< '0'<<endl<<endl;
            if (pengunjung[i].diskonkmr==0) {
            cout<<setw(30)<<" dapat diskon atau tidak= "<<"tidak"<<endl<<endl;
            cout<<setw(30)<<" total pembayaran + diskon ="<<pengunjung[i].hari+pengunjung[i].mkm+pengunjung[i].mkp+pengunjung[i].mks<<endl<<endl; }
            else  {
            cout<<setw(30)<<" dapat diskon atau tidak= "<<"dapat diskon "<<endl<<endl;
            cout<<setw(30)<<" total pembayaran + diskon ="<<(pengunjung[i].hari+pengunjung[i].mkm+pengunjung[i].mkp+pengunjung[i].mks)*(1-diskon)<<endl<<endl; }

            cout<<"########################################################################"<<endl<<endl;

        }
     }


    }



 int main()
 {


    char lagi;
    lagi='Y';
    int pintu;
    //cout<<"teguh puji widianto ";
    pesan satu[20];// ;
  //    for (int i=0 ;i<10;i++)
    int i;
    i=1;

    while(toupper(lagi)=='Y' &&  i<20)
     {

            //;
            satu[i].informasikamar();
            satu[i].informasikmkosong();
            cout<<endl;
            cout<<"masukan no kamar = ";cin>>pintu;cout<<endl;
          
            satu[i].kamar(pintu);
            satu[i].makan_pagi();
            satu[i].makan_siang();
            satu[i].makan_malam();
            i++;
            cout<<" Ingin Pesan Kamar lagi Atau Tidak ";cin>>lagi;
            cout<<endl;
            if (toupper(lagi)!='Y')
            {
                ;
                cout<<"terimah kasih atas partisipasi anda di sistem informasi Hotel"<<endl;;
                satu[i].informasiumum();
                exit(0);
            }

     }

  return 0;
 }
#include<iostream.h>
#include<iomanip.h>
#include<ctype.h>
//#include<conio.h>
#include<stdlib.h>

#define jum_kamar 20
#define diskon 0.1
#define harga_kam 1000
int bayar=0;
int init_kamar[20]={0};
//int bayar=0;

struct orang
{
 int kamar;
 int hari;
 int mkp;
 int mks;
 int mkm;
 int diskonkmr;
char nama_penyewa[20];

} pengunjung[20] ;


class pesan
{
 private:
    int hari;
    int jumlah;
    int kunjungan;

 public:
    void informasikamar();
  //    ~pesan();
    int kamar(int no_kam);
    int jum_hari(int hari);
    int makan_siang();
    int makan_pagi();
    int makan_malam();
    void informasikmkosong();
    void informasiumum();
 //    int static bayar();




 };


 int pesan::makan_siang()
 {
    int harga_makan_siang,a,b; a=0;b=0;
    harga_makan_siang=0;
  cout<<"pilihan menu makan siang "<<endl;
  cout<<"A: nasi pecel "<<endl;
  cout<<"B: nasi Gudeg "<<endl;
    char pilih,mk;
    pilih='y';
    cout<<"anda mau pesan makan siang tidak y/t = ";cin>>pilih;cout<<endl;
    while (toupper(pilih)=='Y')
    {
    cout<<"masukan pilihan anda A?B = "  ;cin>>mk;
    switch (toupper(mk))
    {
        case 'A':{harga_makan_siang=harga_makan_siang+500;bayar=bayar+500;a++; break;}
        case 'B':{harga_makan_siang=harga_makan_siang+500;bayar=bayar+500;b++; break;}
        default:{harga_makan_siang=harga_makan_siang+0;bayar=bayar+0; break;}

    }
    cout<<"masukan ingin pesan akan lagi atu tidak Y/T ";cin>>pilih ;cout<<endl;

    }
    pengunjung[kunjungan].mks=harga_makan_siang;
    return harga_makan_siang;
 }

 int pesan::makan_malam()
 {
    int harga_makan_siang,a,b; a=0;b=0;
    harga_makan_siang=0;
  cout<<"pilihan menu makan malam "<<endl;
  cout<<"A: nasi uduk "<<endl;
  cout<<"B: nasi Goreng "<<endl;
    char pilih,mk;
    pilih='y';
    cout<<"anda mau pesan makan malam tidak y/t = ";cin>>pilih;cout<<endl;
    while (toupper(pilih)=='Y')
    {
    cout<<"masukan pilihan anda A?B = "  ;cin>>mk;
    switch (toupper(mk))
    {
        case 'A':{harga_makan_siang=harga_makan_siang+500;bayar=bayar+500;a++; break;}
        case 'B':{harga_makan_siang=harga_makan_siang+500;bayar=bayar+500;b++; break;}
        default:{harga_makan_siang=harga_makan_siang+0;bayar=bayar+0; break;}

    }
    cout<<"masukan ingin pesan akan lagi atu tidak Y/T ";cin>>pilih ;cout<<endl;

    }
    pengunjung[kunjungan].mkm=harga_makan_siang;
    return harga_makan_siang;
 }

 int pesan::makan_pagi()
 {
    int harga_makan_siang,a,b; a=0;b=0;
    harga_makan_siang=0;
  cout<<"pilihan menu makan pagi "<<endl;
  cout<<"A: nasi uduk "<<endl;
  cout<<"B: nasi kuning "<<endl;
    char pilih,mk;
    pilih='y'; cout<<"anda mau pesan makan pagi tidak y/t = ";cin>>pilih;cout<<endl;
    while (toupper(pilih)=='Y')
    {
    cout<<"masukan pilihan anda A?B = "  ;cin>>mk;
    switch (toupper(mk))
    {
        case 'A':{harga_makan_siang=harga_makan_siang+500;bayar=bayar+500;a++; break;}
        case 'B':{harga_makan_siang=harga_makan_siang+500;bayar=bayar+500;b++; break;}
        default:{harga_makan_siang=harga_makan_siang+0;bayar=bayar+0; break;}

    }
    cout<<"masukan ingin pesan akan lagi atu tidak Y/T ";cin>>pilih ;cout<<endl;

    }
    pengunjung[kunjungan].mkp=harga_makan_siang;
    return harga_makan_siang;
 }


 /* static int  pesan::bayar()
 {
  int hargakm;
  hargakm=hari*harga_kam;
  return
 }
*/


 void pesan::informasikamar()
 {
    int i=0;
    while(init_kamar[i]!=0 && i<20)
    {
        i++;  cout<<::init_kamar[i]<<endl;
    }

    if (i==20)
    {cout<<"maaf pesanan kamar tidak bisa kami layani karena penuh"<<endl;pesan::informasiumum();exit(0);}
    else {cout<<"\t WELCOME DI SISTEM INFORMASI HOTEL"<<endl<<endl<<endl; }
 }

 void pesan::informasikmkosong()
 {
    cout<<"INFORMASI KAMAR KOSONG"<<endl;
    int count; count=0;
    for(int i=0;i<jum_kamar;i++)
    {
        if (::init_kamar[i] ==0)
        {
            cout<<" Anda bisa memesan kamar no- "<<i+1<<endl;
            count++;
        }
    }
    if (count==0) {cout<<"LAYANAN KAMAR KOSONG PENUH"<<endl;pesan::informasiumum();exit(0);}
 }

 int pesan::kamar(int no_kamar)
 {
        no_kamar=no_kamar-1;
        char lagi='y'; char disk;
        while (toupper(lagi)=='Y')
        {
            if (::init_kamar[no_kamar]==0)
            {
                cout<<"masukan nama penyewa = ";cin>>pengunjung[no_kamar].nama_penyewa;cout<<endl;
                cout<<"####kamar telah berhasil di pesan#### \n"<<endl;

                cout<<" masukan jumlah hari pemesanan =";cin>>hari;
                if (hari<1)
                {
                    cout<<"jumlah pemesanan hari anda diluar jangkauan pelayanan kami"<<endl;
                    cout<<"jika anda ingin pesan yang lain tekan Y ";cin>>lagi;
                    cout<<endl;
                    if (toupper(lagi)=='Y')
                    {
                        pesan::informasikmkosong();
                        cout<<"masukan no kamar yang mau di pesan kembali";cin>>no_kamar;
                        cout<<endl;
                        no_kamar--;
                    }
                    else
                    {
                     cout<<"terimah kasih atas partisipasi anda di SI Hotel"<<endl ;
                     pesan::informasiumum();
                     exit(0);

                    }
                }
                else
                {
                    cout<<"apakah saudara pernah menginap sebelumnya y/t = "  ;cin>>disk;cout<<endl;
                    if (toupper(disk)=='Y'){ pengunjung[no_kamar].diskonkmr=1;}else{ pengunjung[no_kamar].diskonkmr=0;}
                    init_kamar[no_kamar]=1;
                    pengunjung[no_kamar].kamar=1;
                    lagi='n';
                    bayar=bayar+(hari*harga_kam);
                    pengunjung[no_kamar].hari=hari*harga_kam;
                    kunjungan=no_kamar;
                }
            }
            else
            {
                cout<<"kamar telah terisi "<<endl;
                cout<<"jika anda ingin pesan yang lain tekan Y ";cin>>lagi;
                cout<<endl;
                if (toupper(lagi)=='Y')
                {
                    pesan::informasikmkosong();
                    cout<<"masukan no kamar yang mau di pesan kembali";cin>>no_kamar;
                    cout<<endl;
                    no_kamar--;

                }
            }
        }
 }

    //ini informasi tentang hail pemesanan planggan

  void pesan::informasiumum()
    {
    cout<<"\t INFORMASI HASIL PEMESANAN KONSUMEN "<<endl<<endl<<endl;
     for (int i=0 ;i<20 ;i++)
     {
        if (init_kamar[i]==1)
        {
            cout<<setw(30)<<"pengunjung kamar no= "<<i+1<<endl<<endl;
            cout<<setw(30)<<"nama pengunjung= "<<pengunjung[i].nama_penyewa<<endl<<endl;
            cout<<setw(30)<<"pesan = "<<pengunjung[i].hari/1000<<"  hari "<<endl<<endl;
            cout<<setw(30)<<"biaya pemesanan kamar ="<<pengunjung[i].hari<<endl<<endl;

            if(pengunjung[i].mkp!=0)cout<<setw(30)<<"makan pagi habis= "<< pengunjung[i].mkp<<endl<<endl;
            else cout<<setw(30)<<"makan pagi habis= "<< '0'<<endl<<endl;
            if(pengunjung[i].mks!=0)cout<<setw(30)<<"makan siang habis= "<< pengunjung[i].mks<<endl<<endl;
            else cout<<setw(30)<<"makan siang habis= "<< '0'<<endl<<endl;
            if(pengunjung[i].mkm!=0)cout<<setw(30)<<"makan malam habis= "<< pengunjung[i].mkm<<endl<<endl;
            else cout<<setw(30)<<"makan malam habis= "<< '0'<<endl<<endl;
            if (pengunjung[i].diskonkmr==0) {
            cout<<setw(30)<<" dapat diskon atau tidak= "<<"tidak"<<endl<<endl;
            cout<<setw(30)<<" total pembayaran + diskon ="<<pengunjung[i].hari+pengunjung[i].mkm+pengunjung[i].mkp+pengunjung[i].mks<<endl<<endl; }
            else  {
            cout<<setw(30)<<" dapat diskon atau tidak= "<<"dapat diskon "<<endl<<endl;
            cout<<setw(30)<<" total pembayaran + diskon ="<<(pengunjung[i].hari+pengunjung[i].mkm+pengunjung[i].mkp+pengunjung[i].mks)*(1-diskon)<<endl<<endl; }

            cout<<"########################################################################"<<endl<<endl;

        }
     }


    }



 int main()
 {


    char lagi;
    lagi='Y';
    int pintu;
    //cout<<"teguh puji widianto ";
    pesan satu[20];// ;
  //    for (int i=0 ;i<10;i++)
    int i;
    i=1;

    while(toupper(lagi)=='Y' &&  i<20)
     {

            //;
            satu[i].informasikamar();
            satu[i].informasikmkosong();
            cout<<endl;
            cout<<"masukan no kamar = ";cin>>pintu;cout<<endl;
           
            satu[i].kamar(pintu);
            satu[i].makan_pagi();
            satu[i].makan_siang();
            satu[i].makan_malam();
            i++;
            cout<<" Ingin Pesan Kamar lagi Atau Tidak ";cin>>lagi;
            cout<<endl;
            if (toupper(lagi)!='Y')
            {
                ;
                cout<<"terimah kasih atas partisipasi anda di sistem informasi Hotel"<<endl;;
                satu[i].informasiumum();
                exit(0);
            }

     }

  return 0;
 }
#include<iostream.h>
#include<iomanip.h>
#include<ctype.h>
//#include<conio.h>
#include<stdlib.h>

#define jum_kamar 20
#define diskon 0.1
#define harga_kam 1000
int bayar=0;
int init_kamar[20]={0};
//int bayar=0;

struct orang
{
 int kamar;
 int hari;
 int mkp;
 int mks;
 int mkm;
 int diskonkmr;
char nama_penyewa[20];

} pengunjung[20] ;


class pesan
{
 private:
    int hari;
    int jumlah;
    int kunjungan;

 public:
    void informasikamar();
  //    ~pesan();
    int kamar(int no_kam);
    int jum_hari(int hari);
    int makan_siang();
    int makan_pagi();
    int makan_malam();
    void informasikmkosong();
    void informasiumum();
 //    int static bayar();




 };


 int pesan::makan_siang()
 {
    int harga_makan_siang,a,b; a=0;b=0;
    harga_makan_siang=0;
  cout<<"pilihan menu makan siang "<<endl;
  cout<<"A: nasi pecel "<<endl;
  cout<<"B: nasi Gudeg "<<endl;
    char pilih,mk;
    pilih='y';
    cout<<"anda mau pesan makan siang tidak y/t = ";cin>>pilih;cout<<endl;
    while (toupper(pilih)=='Y')
    {
    cout<<"masukan pilihan anda A?B = "  ;cin>>mk;
    switch (toupper(mk))
    {
        case 'A':{harga_makan_siang=harga_makan_siang+500;bayar=bayar+500;a++; break;}
        case 'B':{harga_makan_siang=harga_makan_siang+500;bayar=bayar+500;b++; break;}
        default:{harga_makan_siang=harga_makan_siang+0;bayar=bayar+0; break;}

    }
    cout<<"masukan ingin pesan akan lagi atu tidak Y/T ";cin>>pilih ;cout<<endl;

    }
    pengunjung[kunjungan].mks=harga_makan_siang;
    return harga_makan_siang;
 }

 int pesan::makan_malam()
 {
    int harga_makan_siang,a,b; a=0;b=0;
    harga_makan_siang=0;
  cout<<"pilihan menu makan malam "<<endl;
  cout<<"A: nasi uduk "<<endl;
  cout<<"B: nasi Goreng "<<endl;
    char pilih,mk;
    pilih='y';
    cout<<"anda mau pesan makan malam tidak y/t = ";cin>>pilih;cout<<endl;
    while (toupper(pilih)=='Y')
    {
    cout<<"masukan pilihan anda A?B = "  ;cin>>mk;
    switch (toupper(mk))
    {
        case 'A':{harga_makan_siang=harga_makan_siang+500;bayar=bayar+500;a++; break;}
        case 'B':{harga_makan_siang=harga_makan_siang+500;bayar=bayar+500;b++; break;}
        default:{harga_makan_siang=harga_makan_siang+0;bayar=bayar+0; break;}

    }
    cout<<"masukan ingin pesan akan lagi atu tidak Y/T ";cin>>pilih ;cout<<endl;

    }
    pengunjung[kunjungan].mkm=harga_makan_siang;
    return harga_makan_siang;
 }

 int pesan::makan_pagi()
 {
    int harga_makan_siang,a,b; a=0;b=0;
    harga_makan_siang=0;
  cout<<"pilihan menu makan pagi "<<endl;
  cout<<"A: nasi uduk "<<endl;
  cout<<"B: nasi kuning "<<endl;
    char pilih,mk;
    pilih='y'; cout<<"anda mau pesan makan pagi tidak y/t = ";cin>>pilih;cout<<endl;
    while (toupper(pilih)=='Y')
    {
    cout<<"masukan pilihan anda A?B = "  ;cin>>mk;
    switch (toupper(mk))
    {
        case 'A':{harga_makan_siang=harga_makan_siang+500;bayar=bayar+500;a++; break;}
        case 'B':{harga_makan_siang=harga_makan_siang+500;bayar=bayar+500;b++; break;}
        default:{harga_makan_siang=harga_makan_siang+0;bayar=bayar+0; break;}

    }
    cout<<"masukan ingin pesan akan lagi atu tidak Y/T ";cin>>pilih ;cout<<endl;

    }
    pengunjung[kunjungan].mkp=harga_makan_siang;
    return harga_makan_siang;
 }


 /* static int  pesan::bayar()
 {
  int hargakm;
  hargakm=hari*harga_kam;
  return
 }
*/


 void pesan::informasikamar()
 {
    int i=0;
    while(init_kamar[i]!=0 && i<20)
    {
        i++;  cout<<::init_kamar[i]<<endl;
    }

    if (i==20)
    {cout<<"maaf pesanan kamar tidak bisa kami layani karena penuh"<<endl;pesan::informasiumum();exit(0);}
    else {cout<<"\t WELCOME DI SISTEM INFORMASI HOTEL"<<endl<<endl<<endl; }
 }

 void pesan::informasikmkosong()
 {
    cout<<"INFORMASI KAMAR KOSONG"<<endl;
    int count; count=0;
    for(int i=0;i<jum_kamar;i++)
    {
        if (::init_kamar[i] ==0)
        {
            cout<<" Anda bisa memesan kamar no- "<<i+1<<endl;
            count++;
        }
    }
    if (count==0) {cout<<"LAYANAN KAMAR KOSONG PENUH"<<endl;pesan::informasiumum();exit(0);}
 }

 int pesan::kamar(int no_kamar)
 {
        no_kamar=no_kamar-1;
        char lagi='y'; char disk;
        while (toupper(lagi)=='Y')
        {
            if (::init_kamar[no_kamar]==0)
            {
                cout<<"masukan nama penyewa = ";cin>>pengunjung[no_kamar].nama_penyewa;cout<<endl;
                cout<<"####kamar telah berhasil di pesan#### \n"<<endl;

                cout<<" masukan jumlah hari pemesanan =";cin>>hari;
                if (hari<1)
                {
                    cout<<"jumlah pemesanan hari anda diluar jangkauan pelayanan kami"<<endl;
                    cout<<"jika anda ingin pesan yang lain tekan Y ";cin>>lagi;
                    cout<<endl;
                    if (toupper(lagi)=='Y')
                    {
                        pesan::informasikmkosong();
                        cout<<"masukan no kamar yang mau di pesan kembali";cin>>no_kamar;
                        cout<<endl;
                        no_kamar--;
                    }
                    else
                    {
                     cout<<"terimah kasih atas partisipasi anda di SI Hotel"<<endl ;
                     pesan::informasiumum();
                     exit(0);

                    }
                }
                else
                {
                    cout<<"apakah saudara pernah menginap sebelumnya y/t = "  ;cin>>disk;cout<<endl;
                    if (toupper(disk)=='Y'){ pengunjung[no_kamar].diskonkmr=1;}else{ pengunjung[no_kamar].diskonkmr=0;}
                    init_kamar[no_kamar]=1;
                    pengunjung[no_kamar].kamar=1;
                    lagi='n';
                    bayar=bayar+(hari*harga_kam);
                    pengunjung[no_kamar].hari=hari*harga_kam;
                    kunjungan=no_kamar;
                }
            }
            else
            {
                cout<<"kamar telah terisi "<<endl;
                cout<<"jika anda ingin pesan yang lain tekan Y ";cin>>lagi;
                cout<<endl;
                if (toupper(lagi)=='Y')
                {
                    pesan::informasikmkosong();
                    cout<<"masukan no kamar yang mau di pesan kembali";cin>>no_kamar;
                    cout<<endl;
                    no_kamar--;

                }
            }
        }
 }

    //ini informasi tentang hail pemesanan planggan

  void pesan::informasiumum()
    {
    cout<<"\t INFORMASI HASIL PEMESANAN KONSUMEN "<<endl<<endl<<endl;
     for (int i=0 ;i<20 ;i++)
     {
        if (init_kamar[i]==1)
        {
            cout<<setw(30)<<"pengunjung kamar no= "<<i+1<<endl<<endl;
            cout<<setw(30)<<"nama pengunjung= "<<pengunjung[i].nama_penyewa<<endl<<endl;
            cout<<setw(30)<<"pesan = "<<pengunjung[i].hari/1000<<"  hari "<<endl<<endl;
            cout<<setw(30)<<"biaya pemesanan kamar ="<<pengunjung[i].hari<<endl<<endl;

            if(pengunjung[i].mkp!=0)cout<<setw(30)<<"makan pagi habis= "<< pengunjung[i].mkp<<endl<<endl;
            else cout<<setw(30)<<"makan pagi habis= "<< '0'<<endl<<endl;
            if(pengunjung[i].mks!=0)cout<<setw(30)<<"makan siang habis= "<< pengunjung[i].mks<<endl<<endl;
            else cout<<setw(30)<<"makan siang habis= "<< '0'<<endl<<endl;
            if(pengunjung[i].mkm!=0)cout<<setw(30)<<"makan malam habis= "<< pengunjung[i].mkm<<endl<<endl;
            else cout<<setw(30)<<"makan malam habis= "<< '0'<<endl<<endl;
            if (pengunjung[i].diskonkmr==0) {
            cout<<setw(30)<<" dapat diskon atau tidak= "<<"tidak"<<endl<<endl;
            cout<<setw(30)<<" total pembayaran + diskon ="<<pengunjung[i].hari+pengunjung[i].mkm+pengunjung[i].mkp+pengunjung[i].mks<<endl<<endl; }
            else  {
            cout<<setw(30)<<" dapat diskon atau tidak= "<<"dapat diskon "<<endl<<endl;
            cout<<setw(30)<<" total pembayaran + diskon ="<<(pengunjung[i].hari+pengunjung[i].mkm+pengunjung[i].mkp+pengunjung[i].mks)*(1-diskon)<<endl<<endl; }

            cout<<"########################################################################"<<endl<<endl;

        }
     }


    }



 int main()
 {


    char lagi;
    lagi='Y';
    int pintu;
    //cout<<"teguh puji widianto ";
    pesan satu[20];// ;
  //    for (int i=0 ;i<10;i++)
    int i;
    i=1;

    while(toupper(lagi)=='Y' &&  i<20)
     {

            //;
            satu[i].informasikamar();
            satu[i].informasikmkosong();
            cout<<endl;
            cout<<"masukan no kamar = ";cin>>pintu;cout<<endl;
           
            satu[i].kamar(pintu);
            satu[i].makan_pagi();
            satu[i].makan_siang();
            satu[i].makan_malam();
            i++;
            cout<<" Ingin Pesan Kamar lagi Atau Tidak ";cin>>lagi;
            cout<<endl;
            if (toupper(lagi)!='Y')
            {
                ;
                cout<<"terimah kasih atas partisipasi anda di sistem informasi Hotel"<<endl;;
                satu[i].informasiumum();
                exit(0);
            }

     }

  return 0;
 }
Comments
1 Comments

1 komentar:

apa perbedaan dr tiga koding itu?

Terima Kasih Atas Kunjungannya dan Kesediaannya untuk Berkomentar pada Blog ini. Saya Sangat menghargai Setiap Komentar, Masukkan, Saran, dan Kritik sekiranya dapat Membangun Blog ini Agar Lebih Baik Lagi Kedepannya. Berkomentarlah sesuai dengan Isi Bahasan Artikel. Mohon dengan Sangat Kepada Sobat-sobat untuk tidak berkomentar berbau unsur:
- Sara
- No Spam !!! [banyak sobat berkomentar di blog ini yang dianggap Spam, jadi maaf jika ada pesan sobat yang tdk dibalas / tdk Muncul]
Terima Kasih atas Kunjungannya Sobat.