Rabu, 04 Mei 2016

Contoh Program Dev C++ Array

Contoh Coding Dev C++ Array



#include <iostream>
#include <string>
using namespace std;

const int MAKSDATA =10;

class ArrayData
{
private:
    string kota [MAKSDATA];
    int jumKota;
    public:
        //Konstruktor
        ArrayData(void):jumKota(0)
        {
        }
       
        //pilih tindakan pada menu
        int pilihMenu()
        {
            char pilihan ;
           
            do
            {
                cout<<"menu:"<<endl;
                cout<<"1. Tambah Data"<<endl;
                cout<<"2. Hapus data"<<endl;
                cout<<"3. Tampilkan data"<<endl;
                cout<<"4.selesai"<<endl;
                cout<<"pilihan(1,2,3, atau 4 dan tenkan Enter):";
                cin>>pilihan;
            }
            while (pilihan<'1'||pilihan>'4');
           
            return pilihan;
        }
       
        //menampilkan isi array
        void tampilkanData(void)
        {
            cout<<"isi array:";
           
            for (int j=0;j<jumKota;j++)
            {
                cout<<kota[j];
               
                if (j !=(jumKota-1))
                cout<<"-";//beri pemisah antarkota
            }
            cout<<endl; //pindah baris
        }
       
        //menambah data
        bool tambahData (string kotaBaru)
        {
            if(jumKota==MAKSDATA)
            {
                cout<<"Array sudah penuh"<<endl;
                return false; //gagal menambah kota
            }
           
            //cari posisi penyisipan
            int posisi =-1;
            for (int j=0;j <jumKota;j++)
            if(kotaBaru.compare(kota[j])<0)
            {
                posisi =j;
                break;
            }
            if (posisi ==-1)
            {
                //sisipkan di belakang
                kota[jumKota]=kotaBaru;
                jumKota = jumKota+1;
            }
            else //kalau posisi tidak sama dengan -1
            {
                //sisispkan pada posisi
                //a.Geser dulu
                for(int j=jumKota-1;j >=posisi;j--)
                kota[j+1]=kota[j];
               
                //b.sisipkan
                kota[posisi] =kotaBaru;
                jumKota=jumKota+1;
            }
            return true;
        }
        //menghapus data
        bool hapusData(string kotaX)
        {
            //cari posisi penghapusan
            int posisi =-1;
            for(int j=0;j<jumKota;j++)
            {
                if(kotaX.compare(kota[j])==0) //kalau sama
                {
                    posisi=j;
                    break;
                }
            }
            //kalau tidak ditemukan
            if (posisi==-1)
            {
                return false; //gagal menghapus karena data tdk ada
            }
           
            //penghapusan kota
            if(posisi==(jumKota-1))
            {
                //hapus dibagian akhir
                jumKota=jumKota-1;
            }
            else //kalau posisi tidak sama
            //dengan yang terakhir
            {
                //geser ke atas untuk menghapus
                for (int j = posisi+1;j <jumKota; j++)
                kota[j-1]=kota[j];
                jumKota =jumKota -1;
            }
            return true;
        }
    };
   
    int main ()
    {
        int pilihan; //pilihan tindakan
        string kotaX; //kota yang akan dihapus atau ditambahka n
        ArrayData kota; //buat objek
       
        //sisipkan 3 kota.Pastikan kota dalam keadaan urut
        kota.tambahData("Medan");
        kota.tambahData("Pontianak");
        kota.tambahData("Surabaya");
        kota.tampilkanData();
       
    //proses interaksi dengan pemakai
    do
    {
        pilihan=kota.pilihMenu();
        switch (pilihan)
        {
            case'1':
                cout<<"Penambahan data.kota:";
                cin>>kotaX;
                if(!kota.tambahData(kotaX))
                cout<<"gagal menambah data.wadah penuh"
                <<endl;
                break;
                case'2':
                    cout<<"penghapusan data.kota:";
                    cin>> kotaX;
                    if(!kota.hapusData(kotaX))
                    cout<<"Data yang akan dihapus tidak ditemukan"
                    <<endl;
                    break;
                    case'3':
                        kota.tampilkanData();
                    }
                }
                while (pilihan !='4');
               
                return 0;
            }

Hasil Program Dev C++ Array




Tidak ada komentar:

Posting Komentar