#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: " <<
<< "\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]);
}
}