C + + Aray - Dungsi - Structure

            Hallo pembaca semua saya iangin berbagi nih..tentang C + +. Suatu ketika saya mendapat soal membuat program C ++ dan soal tersebut bagi saya susah banget. ternyata susah juga ya jadi seoramg programer itu..Kurang lebih solanya sebagai berikut :










1.    Ketentuan Soal
       Kode Kamar                                          Nama                                    Harga                  
       MT01 || mt01                                          Melati                                     Rp. 250.000
       BG02 || bg02                                          Melati                                     Rp. 250.000
       AG03 || ag03                                           Melati                                    Rp. 250.000
  •  Buat structure dengan nama hotel
  •  Buat fungsi dengan nama total dan total bayar
  •  Gunakan fungsi if dan strcmp
  •  Gunakan fungsi Array dan for
2.   Rancangan Output
                                    ------------------------------
      ----------------------------------------------------------------------------
      ===================================================
      Masukan Nama Petugas :
      Masukan Jumlah Data    :

      Data Ke - 1
                       Nama Penginap :
                       Kode Kamar     :
                       Nama Kamar    :
                       Harga               :
                       Lama Inap        :
      Data Ke - n ( Hingga data terakhir )

3.   Rancangan Output
                                           ------------------------------
      ----------------------------------------------------------------------------
      Nama Petugas :
      ===================================================
      No.     Nama         Kode         Nama         Harga       Lama           Total
                 Penginap     Kamar       Kamar                        Inap
      ===================================================
      ......    ..............      ..........       ...........        .........       .........          ..........
      ......    ..............      ..........       ...........        .........       .........          ..........
      ......    ..............      ..........       ...........        .........       .........          ..........
      ===================================================
                                                                       Total Bayar : Rp. ......................

      Mau input data lagi ? [Y/T] : .......

            Nah itulah soalnya..rada bingung dan pusing juga tapi jangan hawatir saya punya solusinya. Setelah kotret and mengotret terbentuklah kode seperti di bawah ini. kode ini sudah saya compile dan berhasil di running. Selamat mencoba..dan sebenarnya Soal di atas banyak vareasi pengkodeanya. mau pake metode berapa karena prisipnya adalah bisa menyelesaikan masalah, hemat memori dan script serta tidak memakan banyaki otak..he..he...!
=======================================================================
#include <iomanip.h>
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
float total(float a,float b)
    {
   return(a*b);
   }
float tb(float c,float d)
    {
    return(c+d);
   }
struct
    {
    char np[20],*kk,*nk;
   float hrg,li,ttl;
   }
   hotel[50];
main()
{
    char npet[25],lagi;
   int loop,j_data;
awal:
clrscr();
    cout<<"        Hotel \" Konoha Resort\""<<endl;
   cout<<"Jl. Kalibata Timur No. 37 Telp. 90210 7901074"<<endl;
   cout<<"=============================================="<<endl;
   cout<<"Masukan Nama Petugas : ";gets(npet);
   cout<<"Masukan Jumlah Data  : ";cin>>j_data;
   for (loop=1;loop<j_data;loop++)
   {
       cout<<"Data ke : "<<loop<<endl;
      cout<<"Nama Penginap : ";cin>>hotel[loop].np;
      cout<<"Kode Kamar    : ";cin>>hotel[loop].kk;
      if (strcmp(hotel[loop].kk,"mt01")==0||strcmp(hotel[loop].kk,"MT01")==0)
          {
         hotel[loop].nk="Melati";
         hotel[loop].hrg=250000;
         }
      else if(strcmp(hotel[loop].kk,"bg02")==0||strcmp(hotel[loop].kk,"BG02")==0)
          {
         hotel[loop].nk="Bougenville";
         hotel[loop].hrg=180000;
         }
      else if(strcmp(hotel[loop].kk,"ag03")==0||strcmp(hotel[loop].kk,"AG03")==0)
          {
         hotel[loop].nk="Anggrek";
         hotel[loop].hrg=275000;
         }
       cout<<"Nama Kamar : ";cin>>hotel[loop].nk;
      cout<<"Harga      : Rp ";cin>>hotel[loop].hrg;
      cout<<"Lama Inap  : ";cin>>hotel[loop].li;
   }
clrscr();
    cout<<"        Hotel \" Konoha Resort\""<<endl;
   cout<<"Jl. Kalibata Timur No. 37 Telp. 90210 7901074"<<endl<<endl;
   cout<<"Nama Petugas : "<<npet<<endl;
   cout<<"======================================================="<<endl<<endl;
   cout<<"No  Nama        Kode    Nama    Harga    Lama    Total "<<endl<<endl;
   cout<<"    Penginap    kamar   Kamar            Inap          "<<endl;
   cout<<"======================================================="<<endl<<endl;
   for (loop=1;loop<j_data;loop++)
   {
       printf("%2d",loop);
      printf("%4s",hotel[loop].np);
      printf("%16s",hotel[loop].kk);
      printf("%24f",hotel[loop].hrg);
      printf("%26f",hotel[loop].li);
   total;
      printf("%34f",hotel[loop].ttl);
   cout<<"======================================================="<<endl<<endl;
   tb;
   printf("\tTotal Bayar : Rp. %2.0f\n",tb);
   cout<<"Mau Input Data Lagi [ Y/T ] : ";cin>>lagi;
   if (lagi=='y'||lagi=='Y')
       goto awal;
   else
       goto akhir;
akhir:
}
getch();
}

0 Komentar:

Posting Komentar

Silahkan tulis komentar anda di bawah ini..