Рисунок 2.1- Робота програми 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Рисунок 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 с.)