Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.05.2012, 16:17   #1
tim47
Пользователь
 
Регистрация: 04.12.2011
Сообщений: 14
По умолчанию динамический список объектов

Задание: Описать структуру с именем ZNAK, содержащую следующие поля:
? фамилия, имя;
? знак Зодиака;
? дата рождения (массив из трех чисел).
Написать программу, выполняющую следующие действия:
? ввод с клавиатуры данных в массив, состоящий из восьми элементов типа ZNAK (записи должны быть упорядочены по дате рождения);
? вывод на экран информации о людях, родившихся под знаком, название которого введено с клавиатуры (если таких нет, вывести соответствующее сообщение).

код есть, но переделать нужно как динамический список объектов. заранее благодарю



Код:
#include <iostream>
#include <string.h>
#include <conio.h>
using namespace std;

struct data{
char f[20];
char i[20];
char znak[20];
int day;
int month;
int year;
};
void NotFound () {
cout << "\nВ списке нет людей, родившихся под таким знаком";
}

int Find (data znak[ ], int kol, char zz[ ]) {
bool znak1 = false;
for (int i=0; i<kol; i++) {
if (strstr(znak[i].znak, zz)) {
znak1 = true;
cout << "user #" << i+1 <<": " << endl;
cout << znak[i].f <<" "<< znak[i].i <<"\n"<< znak[i].day <<"."<< znak[i].month <<"."<< znak[i].year << "\n\n";
}
}
if (znak1==false)
NotFound ();
return znak1;
}
int main ()
{
char zz[15];
int n, i;
bool znak1=false;
cout << "vvedite kol-vo chelovek: "; cin >> n ; cout <<"\n";
data *arr = new data[n];
for (i=0; i<n; i++) {
cout << "user #" << i+1 <<": " << endl;
cout << "vvedite familiyu: "; cin >> arr[i].f;
cout << "vvedite imya: "; cin >> arr[i].i;
cout << "vvedite znak zodiaka: " ; cin >> arr[i].znak;
cout << "vvedite daty rozhdenia:"<< endl;
cout << "den': " ; cin >> arr[i].day;
cout << "mesyac: " ; cin >> arr[i].month;
cout << "god: " ; cin >> arr[i].year;
cout << "\n\n";
}
cout << "vvedite znak zodiaka: ";
cout << "\nprimer vvoda: "<< endl;
cout << "oven telec bliznecu rak lev deva	vesu skorpion strelec kozerog vodoley rubu\n" << endl;
cin >> zz;
cout << "\n\n";
Find (arr, n, zz);
_getch ();
}

Последний раз редактировалось tim47; 16.05.2012 в 16:32.
tim47 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамический список music66 Помощь студентам 1 28.04.2011 17:14
динамический массив объектов класса. С++ Шиншилка Помощь студентам 8 25.04.2011 17:58
Динамический список в С серг Общие вопросы C/C++ 9 11.03.2010 13:39
Динамический список в С серг Общие вопросы C/C++ 0 04.03.2010 19:54
Динамический список Ker_33rus Общие вопросы C/C++ 3 04.03.2010 09:32