Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Рисунок 2.1- Робота програмиСодержание книги
Поиск на нашем сайте
Міністерство освіти і науки України Запорізький національний технічний університет
Кафедра програмних засобів
Звіт з лабораторної роботи №2 «Динамічні класові типи» Виконав ст. гр. КНТ-423 В.В. Білевський
Прийняв ст. викл. Н. О. Миронова
Запоріжжя, 2014 2.1 Мета роботи: Навчитись використовувати динамічні класи при створенні програм
2.2 Завдання до роботи:Створити динамічний клас Catalog, що базується на зв’язаному списку, де кожний елемент списку – структура типа Book. Клас повинен містити наступні операції: add_book() – додавання книги у каталог; del_book() – видалення книги з каталогу; find_by_autor() – пошук книги у каталозі за автором; show_cataloque() - відображення каталогу книг. 2.3 Текст програми: #include<iostream> using namespace std; class catalog{ struct books{ char name[20]; char autor[10]; }; struct elem{ books data; elem *pnext; }; public: void add(); void show(); void find_by_autor(char *autor); void dell(); elem *plist=NULL,*pfirst;
};
void catalog::add() { elem * tmp = new elem; cout << "input name of book "; cin >> tmp -> data.name; cout << "input autor of book "; cin >> tmp -> data.autor; tmp->pnext=NULL;
if (!plist) { plist = tmp; pfirst = plist; } else { plist->pnext = tmp; plist = tmp; } }
void catalog::show(){ elem *tmp=pfirst; while(tmp){ cout<<"Book name:"<<tmp->data.name<<" "<<"Autor name:"<<tmp->data.autor<<endl; tmp=tmp->pnext; } } void catalog::find_by_autor(char *autor){ elem *tmp=pfirst; while(tmp){ if(*autor==*tmp->data.autor) cout<<"book name: "<<tmp->data.name<<" "<<"Autor name: "<< tmp->data.autor<<endl; tmp=tmp->pnext;}
} void catalog::dell() { elem *el=pfirst; delete el->data.autor; pfirst=el->pnext;
}
int main(){ catalog c; int a; char name[20]; int n=1; for(int i=0;i<n;i++){ cout<<"Enter value:\n"<<"1:Add new book\n"<<"2:Dell book\n"<<"3:Find by autor\n"<<"4:Show all books\n"<<"5:exit"<<endl; cin>>a; switch (a) { case 1: c.add(); break; case 2: c.dell(); break; case 3: cout<<"Enter autor name:"; cin>>name; c.find_by_autor(name);
break; case 4: c.show(); break; } if(a==5) break; n++; a=0; cout<<"-------------------------------------------------"<<endl;} } 2.4 Знімки з єкрану:
|
||
|
Последнее изменение этой страницы: 2024-06-17; просмотров: 47; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.21 (0.008 с.) |