12 Jan 2010

latiian lagii :)

- inheritance -

#include"iostream.h"
#include"string.h"

class Old
{
    protected :
       char nama[25];
       char hp[20];
    public :
      void setNama(char *nama)
      {
          strcpy(this->nama,nama);
      }
      void setHp(char *hp)
      {
          strcpy(this->hp,hp);
      }
      char *getNama()
      { return nama; }
      char *getHp()
      { return hp; }
};

class New : public Old
{
    private :
       char add[30];
      char email[30];
    public :
      void setAdd(char *add)
      {
          strcpy(this->add,add);
      }
      void setEmail(char *email)
      {
          strcpy(this->email,email);
      }
      char *getAdd()
      { return add; }
      char *getEmail()
      { return email; }
};

void menu()
{
   cout << "My Phonebook" << endl;
   cout << "============" << endl << endl;
   cout << "1. Isi Phonebook Seri Lama" << endl;
   cout << "2. Lihat Phonebook Seri Lama" << endl;
   cout << "3. Isi Phonebook Seri Baru" << endl;
   cout << "4. Lihat Phonebook Seri Baru" << endl;
   cout << "5. Keluar" << endl << endl;
}

void main()
{
   char nama[25];
   char hp[20];
   char add[30];
   char email[30];
   int pilih;
   int flag;
   int i=0;
   int j=0;
   int k;
   Old *book1[10];
   New *book2[10];

   do{
           menu();
           do{
               cout << "Masukkan pilihan anda : ";
               cin >> pilih;
               cin.clear();
               cin.sync();
            }while(pilih<1||pilih>5);

         switch(pilih)
         {
             case 1 : book1[i] = new Old;
                          do{
                           cout << "\n\n" << "Masukkan nama [5-20 karakter] : ";
                           cin >> nama;
                           cin.clear();
                           cin.sync();
                          }while(strlen(nama)<5||strlen(nama)>20);
                         do{
                           cout << "\n\n" << "Masukkan nohp [10 - 12 karakter dan harus angka] : ";
                           cin >> hp;
                           cin.clear();
                           cin.sync();
                           flag=1;
                           for(int k=0;k
                           {
                               if(hp[i]<'0'||hp[i]>'9')
                              { flag=0; }
                           }
                         }while(flag==0||strlen(hp)<10||strlen(hp)>12);
                         book1[i]->setNama(nama);
                         book1[i]->setHp(hp);
                         i++;
                         break;

            case 2 : for(k=0;k
                        {
                           cout << "\n" << book1[k]->getNama() << "\t: " << book1[k]->getHp() << "\n";
                        }
                        break;

            case 3 : book2[j] = new New;
                         do{
                           cout << "\n\n" << "Masukkan nama [5-20 karakter] : ";
                           cin >> nama;
                           cin.clear();
                           cin.sync();
                         }while(strlen(nama)<5||strlen(nama)>20);
                         do{
                           cout << "\n\n" << "Masukkan nohp [10 - 12 karakter dan harus angka] : ";
                           cin >> hp;
                           cin.clear();
                           cin.sync();
                           flag=1;
                           for(int k=0;k
                           {
                               if(hp[i]<'0'||hp[i]>'9')
                              { flag=0; }
                           }
                         }while(flag==0||strlen(hp)<10||strlen(hp)>12);
                         do{
                           cout << "\n\n" << "Masukkan alamat [5-30 karakter] : ";
                           cin >> add;
                           cin.clear();
                           cin.sync();
                         }while(strlen(add)<5||strlen(add)>30);
                         do{
                           cout << "\n\n" << "Masukkan email [5 - 20 karakter dan harus angka] : ";
                           cin >> email;
                           cin.clear();
                           cin.sync();
                         }while(strlen(email)<5||strlen(email)>20);
                         book2[j]->setNama(nama);
                         book2[j]->setHp(hp);
                         book2[j]->setAdd(add);
                         book2[j]->setEmail(email);
                         j++;
                         break;

            case 4 : for(k=0;k
                        {
                           cout << "\nNama\t: " << book2[k]->getNama() <<"\nNo.\t: " <<

                           book2[k]->getHp() << "\nAlamat\t: " << book2[k]->getAdd() 
                           << "\nEmail\t: " << book2[k]->getEmail() << "\n";
                        }
                        break;
         }

           cin.get();
         cout << "\n\n\n";
   }while(pilih!=5);

   for(int k=0;k
   {
       delete(book1[k]);
   }
   for(int l=0;l
   {
       delete(book2[l]);
   }
}

0 komentar:

Posting Komentar