Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Помогите еще раз!!!  (Прочитано 4445 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Human
Гость
« : 02-05-2006 22:22 » 

Снова я, начинающий горе программист,прошу о помощи...вот код...
Код:
class Note{
protected:
struct note{
char name[30],soname[30];
char number[12];
int date[3];} note[8];
//структура с 8 полями, для ввода имени,фамилии,номера и даты...
note N;
//переменная для сортировки структуры
public :
Note(){};
~Note(){};
void input(void);
// Функция для ввода значений в структуру
void sort(void);
// функция для сортировки структуры
void info(void);
// функция выводит значение по запросу с клавиатуры
};
// закрытие раздела описание класса
void Note::input(void){
for (int i=0;i<8;i++){
cout<<"Input name  :";cin>>Not[i].name;
cout<<"Input soname  :";cin>>Not[i].soname;
cout<<"Input phone number  :";cin>>Not[i].number;
cout<<"Input d.o.b.  :";cin>>Not[i].date[0]>>Not[i].date[1]>>Not[i].date[2];
}

}

void Note::sort(){
for (int i=0;i<8;i++)
for (int j=0;j<8;j++)
if (Not[i].name>Not[j].name)
{
N=Not[j];
Not[i]=Not[j];
Not[j]=N;
}
for (int i=0;i<8;i++)
for (int j=0;j<8;j++)
if (Not[i].soname>Not[j].soname)
{
N=Not[j];
Not[i]=Not[j];
Not[j]=N;
}
}
void Note::info(){
// подзаголовок процедуры вывода информации
bool b=false;
// переменная необходимая для обнаружения существования месяца введенного далее
cout<<"Input number month  :";cin>>int n;
for (int i=0;i<8;i++)
if (Not[i].date[1]=n)
{
cout<<"Name          "<<Not[i].name;
cout<<"SoName        "<<Not[i].soname;
cout<<"Phone number  "<<Not[i].number;
cout<<"Year          "<<Not[i].date[2];
cout<<"Month         "<<Not[i].date[1];
cout<<"Day           "<<Not[i].date[0];
b=true;
}
if (!b) afx_message("persons since ",Not[i].date[1]," months of the birth no");
// если месяц не найден, то выводит сообщение о том, что месяц не найден
}
Задание на знания контструктора копирования....просьба добавить в код конструктор копирования под любым предлогом,желательно чтобы его назначение было понятно для такого чайника как я...желательно откомментировать логику...буду премного благодарен!!!
Записан
nikedeforest
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #1 : 02-05-2006 23:06 » 

Опишу начало, дальше сам домыслишь
Код:
Note::Note(const Note &a)
{
// A здесь проводи переприсваивание полей класса у тебя это структура
for(int i=0;i<8;i++)
{
    for(int j=0;j<30;j++)
    {
       N[i].name[j]=a.N[i].name[j];
       N[i].soname[j]=a.N[i].soname[j];
       ...
       ...
    }
}

}
Вроде ничего не напутал. Надеюсь смысл действий понятен. Опять же, прочитай ок онструкторах копирования, когда он вызывается и для чего нужен.
« Последнее редактирование: 02-05-2006 23:11 от nikedeforest » Записан

ещё один вопрос ...
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines