Помогите пожалуйста переделать программу по следующим требованиям:
1) Определить новый класс, отвечающий структурному типу
2) Разработать класс-контейнер, содержащий объекты другого, ранее
определенного класса (массив объектов)
3) Программа должна содержать меню, с помощью которого
осуществляется проверка работы всех функций. Для этого в
программе необходимо создать массив указателей на методы класса,
а косвенный вызов функции осуществляется через задание номера
функции
(Очень срочно!) Заранее, буду очень благодарен
Код:
#include <iostream>
#include <conio.h>
#include <string.h>
#include <iomanip>
using namespace std;
#define N 8
struct note
{
char name[100];
int phone;
int date[3];
} info[8]; //структура
//ФУНКЦИЯ сортировки
void Sort(void)
{ setlocale (0,"Rus");
int i,k,Date1,Date2;
k = N-1;
bool fs = true;
while (fs)
{
fs = false;
for (i=0;i<k;i++)
{
Date1 = info[i].date[2]*10000 + info[i].date[1]*100 + info[i].date[0];
Date2 = info[i+1].date[2]*10000 + info[i+1].date[1]*100 + info[i+1].date[0];
if (Date1 < Date2)
{
struct note Tmp;
Tmp = info[i];
info[i] = info[i+1];
info[i+1] = Tmp;
fs = true;
}
}
k--;
if (k<0) fs = false;
}
}
int main(void){
setlocale (0,"Rus");
int i, j;
int phone;
//ФУНКЦИЯ Ввода данных
strcpy(info[0].name,"Dmitry");
info[0].phone=462817;
info[0].date[0]=31;
info[0].date[1]=01;
info[0].date[2]=95;
strcpy(info[1].name,"Alexandr");
info[1].phone=462958;
info[1].date[0]=24;
info[1].date[1]=10;
info[1].date[2]=90;
strcpy(info[2].name,"Evgeny");
info[2].phone=982948;
info[2].date[0]=11;
info[2].date[1]=11;
info[2].date[2]=87;
strcpy(info[3].name,"Ivan");
info[3].phone=20903;
info[3].date[0]=10;
info[3].date[1]=05;
info[3].date[2]=98;
strcpy(info[4].name,"Oleg");
info[4].phone=690202;
info[4].date[0]=02;
info[4].date[1]=12;
info[4].date[2]=91;
strcpy(info[5].name,"Boris");
info[5].phone=194629;
info[5].date[0]=30;
info[5].date[1]=04;
info[5].date[2]=78;
strcpy(info[6].name,"Stas");
info[6].phone=764276;
info[6].date[0]=16;
info[6].date[1]=01;
info[6].date[2]=85;
strcpy(info[7].name,"Pavel");
info[7].phone=201944;
info[7].date[0]=15;
info[7].date[1]=11;
info[7].date[2]=79;
Sort();
//ФУНКЦИЯ Вывода на экран.
for( i=0; i<N; ++i){
cout << "\n----------------------------------------------\n";
cout << "Имя : " << setw(20) << info[i].name << endl
<< "Телефон: " << setw(20) << info[i].phone << endl
<< "Дата рождения :" << endl
<< setw(30) << "День >> " << info[i].date[0] << endl
<< setw(30) << "Месяц >> " << info[i].date[1] << endl
<< setw(30) << "Год >> " << info[i].date[2] << endl;
}
//ФУНКЦИЯ Выбора по номеру телефона.
cout << "Введите номер телефона :";
//cin.ignore();
cin>>phone;
for(i=0, j=0; i<N; i++)
if(info[i].phone==phone)
++j;
if(j>0){
cout << "\n----------------------------------------------\n";
for( i=0; i<N; ++i){
if(info[i].phone==phone){
cout << "Имя " << setw(20) << info[i].name << endl
<< "Дата рождения :" << endl
<< setw(30) << "День >> " << info[i].date[0] << endl
<< setw(30) << "Месяц >> " << info[i].date[1] << endl
<< setw(30) << "Год >> " << info[i].date[2] << endl;
}
else continue;
cout << endl;
}
}else
cout << "Номер " << phone << " Отсутствует в списке\n";
cout << "Press any key\n";
getch();
return 0;}