РефератыИнформатикаОбОбъектно ориентированое програмирование на С

Объектно ориентированое програмирование на С

Міністерство освіти і науки України


Запорізький національний університет


Кафедра інформаційних технологій


Індивідуальна робота


З теми: «С++. Класи і об’єкти»


Виконав:


студ. 2 курсу


матем. ф-ту


гр. 8226-1


Лапін С.М.


Перевірив:


Борю С.Ю.


Запоріжжя 2007


Цель:
Разработка простейших классов на примере разработки моделей элементарных объектов и динамических информационных структур (одно и двунаправленных списков).



1 часть работы "разработка простых классов"



Постановка задачи


Разработать класс, набор методов (конструктор и минимум два метода) для программной модели заданного объекта. Описание объекта и его основных свойств приводится ниже. Разработать вызывающую программу (main), использующей объекты разработанного класса и тестирующие работоспособность всех методов.


Варианты заданий


14. Объект «прямоугольник заданный длинами двух сторон». Предусмотреть возможность операции присваивания, определения площади и периметра, а так же логический метод, отвечающий на вопрос – является ли прямоугольник квадратом. Конструктор должен позволить создавать объекты без и с начальной инициализацией.



Програма:


#ifndef rectangle__h


#define rectangle__h


#include <math.h>


class rectangle


{


private:


double a, b;


public:


rectangle();


rectangle(double, double);


~rectangle();


rectangle & operator=(const rectangle & x);


double square(void);


double perimeter(void);


double diagonal(void);


int is_square(void);


void print_rectangle(void);


};


#endif


#ifndef conrectangle__h


#define conrectangle__h


#include <iostream.h>


#include "rectangle.h"


rectangle::rectangle()


{


cout<<"The constructor "rectangle()" worked.n";


a=1.0;


b=1.0;


};


rectangle::rectangle(double x, double y)


{


cout<<"The constructor "rectangle(double, double)" worked.n";


a=x;


b=y;


};


rectangle::~rectangle()


{


cout<<"The destructor "~rectangle()" worked.n";


a=0.0;


b=0.0;


};


rectangle & rectangle::operator=(const rectangle & x)


{


if(this==&x) return *this;


this->a=x.a;


this->b=x.b;


return *this;


};


double rectangle::square(void)


{


return a*b;


};


double rectangle::perimeter()


{


return 2*a+2*b;


};


double rectangle::diagonal()


{


return sqrt(a*a+b*b);


};


int rectangle::is_square()


{


if(a==b) return 1;


return 0;


};


void rectangle::print_rectangle()


{


char msg1[]=" ", msg2[]=" not ";


cout<<"a="<<a<<" b="<<b;


cout<<"nS= "<<square()<<" m^2 P="<<perimeter()<<" m d="<<diagonal()<<" m";


cout<<"nRectangle is";


if(is_square())


cout<<msg1;


else


cout<<msg2;


cout<<"square.n";


return;


};


#endif


#include <iostream.h>


#include "conrectangle.h"


void main()


{


rectangle r1;


double a,b;


char s[1];


cout<<"nESLI VAM ETA PROGA POKAZHETSA TUPOY... NE PEREZHYVAITE! ETO DEISTVITEL'NO TAK :)n";


do


{


cout<<"n Our rectangle:n";


r1.print_rectangle();


cout<<"Input a, b:n";


cin>>a>>b;


rectangle r2(a, b);


cout<<"n Your rectangle:n";


r2.print_rectangle();


r1=r2;


cout<<"n Your rectangle is our now:n";


r1.print_rectangle();


cout<<"Repeat or quit?(r/q)...";


cin>>s;


}


while (s[0]!='q');


return;


};


Результати:


D:StudiesLabsCppIndivid_6>ind1


The constructor "rectangle()" worked.


ESLI VAM ETA PROGA POKAZHETSA TUPOY... NE PEREZHYVAITE! ETO DEISTVITEL'NO TAK :)


Our rectangle:


a=1 b=1


S= 1 m^2 P=4 m d=1.41421 m


Rectangle is square.


Input a, b:


456.125


789.5452485


The constructor "rectangle(double, double)" worked.


Your rectangle:


a=456.125 b=789.545


S= 360131 m^2 P=2491.34 m d=911.829 m


Rectangle is not square.


Your rectangle is our now:


a=456.125 b=789.545


S= 360131 m^2 P=2491.34 m d=911.829 m


Rectangle is not square.


Repeat or quit?(r/q)...r


The destructor "~rectangle()" worked.


Our rectangle:


a=456.125 b=789.545


S= 360131 m^2 P=2491.34 m d=911.829 m


Rectangle is not square.


Input a, b:


0.4876


0.4876


The constructor "rectangle(double, double)" worked.


Your rectangle:


a=0.4876 b=0.4876


S= 0.237754 m^2 P=1.9504 m d=0.689571 m


Rectangle is square.


Your rectangle is our now:


a=0.4876 b=0.4876


S= 0.237754 m^2 P=1.9504 m d=0.689571 m


Rectangle is square.


Repeat or quit?(r/q)...r


The destructor "~rectangle()" worked.


Our rectangle:


a=0.4876 b=0.4876


S= 0.237754 m^2 P=1.9504 m d=0.689571 m


Rectangle is square.


Input a, b:


16.23


31.06


The constructor "rectangle(double, double)" worked.


Your rectangle:


a=16.23 b=31.06


S= 504.104 m^2 P=94.58 m d=35.0448 m


Rectangle is not square.


Your rectangle is our now:


a=16.23 b=31.06


S= 504.104 m^2 P=94.58 m d=35.0448 m


Rectangle is not square.


Repeat or quit?(r/q)...q


The destructor "~rectangle()" worked.


The destructor "~rectangle()" worked.


D:StudiesLabsCppIndivid_6>



2 часть работы «Информационные динамические структуры»



Постановка задачи


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


Для каждого вариант разработать следующие методы:


1. Конструктор пустого списка.


2. Добавление элемента в список (в соответствии со своим вариантом).


3. Удаление элемента из списка (в соответствии со своим вариантом).


4. Печать списка.


5. Запись списка в файл.


6. Восстановление списка из файла.


7. Деструктор списка (уничтожение).


Порядок выполнения работы


1. Разработать описание класса, выделить публичные и приватные поля данных. Разработать интерфейс класса – прототипы методов.


2. Написать функцию для создания списка. Функция может создавать пустой список, а затем добавлять в него элементы.


3. Написать функцию для печати списка. Функция должна предусматривать вывод сообщения, если список пустой.


4. Написать функции для удаления и добавления элементов списка в соответствии со своим вариантом.


5. Выполнить изменения в списке и печать списка после каждого изменения.


6. Написать функцию для записи списка в файл.


7. Написать функцию для уничтожения списка.


8. Записать список в файл, уничтожить его и выполнить печать (при печати должно быть выдано сообщение "Список пустой").


9. Написать функцию для восстановления списка из файла.


10. Восстановить список и распечатать его.


11. Уничтожить список.


Варианты заданий


14. Записи в линейном списке содержат поле данных звена типа *char(строка символов). Сформировать двунаправленный список. Удалить из него К элементов с указанными номерами. Добавить К элементов с указанными номерами.


Програма:


#ifndef list_h


#define list_h


class list


{


private:


struct element


{


char* info;


element* up;


element* down;


};


element *first, *last, *current;


public:


list(); //constructor


~list(); //destructor


void del_list(); //ochishchajet spisok


void init_list(int,char*); //initsializatsia spiska fonarhym metodom


void print_list(); //vyvod na ekran spiska


int current_element(int); //zdelat element s nomerom "int" tekushchim, vernetsa 0;


//Esli doidem do kontsa spiska,to vernetsa nomer poslednego elementa,kotoryi i budet tekushchim


int next_element(); //sdelat tekushchim sledujushchiy element tekuschuego


int previous_element(); //sdelat tekushchim predydushchiy element tekuschuego


int num_current(); //nomer v spiske tekushchego elementa


char* read_element(int &); //prochitat element s nomerom; Robe jogo tekushchim


char* read_element(); //prochitat tekushchiy element


void add_element(char*, int &);//dobavit element na nomer "int"; Robe novyi element tekushchim


void add_after(char*); //dobavit element posle tekushchego; Robe novyi element tekushchim


void add_before(char*); //dobavit element do tekushchego; Robe novyi element tekushchim


void del_element(); //udalit tekushchiy element; Robe sleduushchiy element tekushchim


void del_element(int &); //udalit element z nomerom "int"; Robe sleduushchiy element tekushchim


int fput_list(char*); //zapisat spisok v fail s imenem char*


int fget_list(char*); //vostanovit spisok iz faila s imenem char*


int num_list(); //kol-vo zvenjev u spiska


};


#endif


#ifndef list__h


#define list__h


#include "list.h"


#include <iostream.h>


list::list()


{


current=last=first=NULL;


};


void list::add_after(char* s)


{


if (current==NULL)


{


current=new element[1];


current->info=new char[strlen(s)+1];


strcpy(current->info,s);


current->up=current->down=NULL;


first=last=current;


return;


};


if (current==last)


{


last=new element[1];


last->info=new char[strlen(s)+1];


strcpy(last->info,s);


last->down=NULL;


last->up=current;


current->down=last;


current=last;


return;


};


//put in buffer adress down


last->down=current->down;


current->down=new element[1];


current->down->up=current;


current=current->down;


current->down=last->down;


//clear buffer


last->down->up=current;


last->down=NULL;


current->info=new char[strlen(s)+1];


strcpy(current->info,s);


return;


};


void list::add_before(char* s)


{


if (current==NULL)


{


add_after(s);


return;


};


if (current==first)


{


first=new element[1];


first->up=NULL;


first->down=current;


current=current->up=first;


first->info=new char[strlen(s)+1];


strcpy(first->info,s);


return;


};


first->up=current->up;


current->up=new element[1];


current->up->down=current;


current=current->up;


current->up=first->up;


first->up->down=current;


first->up=NULL;


current->info=new char[strlen(s)+1];


strcpy(current->info,s);


return;


};


void list::add_element(char* s, int &k)


{


int i;


i=current_element(k);


if ((i<k)&&(i!=0))


{


cout<<"V spiske vsego "<<i<<" elmentov. Po etomu vmesto "<<k<<" nomera, functsia dobavit info elementa na "<<i+1<<"-e mesto(poslednee v spiske)!!!n";


k=i+1;


add_after(s);


};


if(i==0)


add_before(s);


return;


};


void list::del_element()


{


if (first==NULL)


{


cout<<"Nemogu udalit element so spiska. Spisok pust.n";


return;


};


if (current==first)


{


if (current==last)


{first=last=NULL;}


else


{


first=current->down;


first->up=NULL;


};


delete[]current->info;


delete[]current;


current=first;


return;


};


if (current==last)


{


last=current->up;


last->down=NULL;


delete[]current->info;


delete[]current;


current=last;


return;


};


last->down=current->down;


current->up->down=current->down;


current->down->up=current->up;


delete[]current->info;


delete[]current;


current=last->down;


last->down=NULL;


return;


};


void list::del_element(int &k)


{


int i=current_element(k);


if ((i<k)&&(i!=0))


{


cout<<"V spiske vsego "<<i<<" elmentov. Po etomu vmesto "<<k<<" elementa, functsia udalit "<<i<<" element!!!n";


k=i;


};


del_element();


return;


};


list::~list()


{


del_list();


};


void list::del_list()


{


while (last!=first)


{


current=last;


delete [] last->info;


last=last->up;


delete [] current;


};


if (first) delete [] first->info;


delete[]first;


current=first=last=NULL;


return;


};


//current ostaetsa netronutym


int list::num_list()


{


if(first==NULL) return 0;


int i(1);


element* temp=first->down;


while (temp!=NULL)


{


i++;


temp=temp->down;


};


return i;


};


//if OK return 0, esle return i (number current element)


int list::current_element(int k)


{


if (first==NULL)


{


cout<<"V spiske 0 elementov.n";


return 0;


};


int i(1);


current=first;


if(i==k) return 0;


while (current->down)


{


current=current->down;


if (++i==k) return 0;


};


return i;


};


//Esli sled. element sdelalsa tekuschim return 1, else 0


int list::next_element()


{


if (current->down)


{


current=current->down;


return 1;


};


return 0;


};


//Esli pred. element sdelalsa tekuschim return 1, else 0


int list::previous_element()


{


if (current->up)


{


current=current->up;


return 1;


};


return 0;


};


int list::num_current()


{


if(current==NULL)return 0;


int i(1);


element* temp=current;


while (temp->up!=NULL)


{


i++;


temp=temp->up;


};


return i;


};


char* list::read_element()


{


return current->info;


};


char* list::read_element(int &k)


{


int i;


i=current_element(k);


if ((i<k)&&(i!=0))


{


cout<<"V spiske vsego "<<i<<" elmentov. Po etomu vmesto "<<k<<" elementa, functsia vozvrashchaet "<<i<<" element!!!n";


k=i;


};


return current->info;


};


void list::init_list(int k, char* str)


{


if (k==0) return;


int f(2);


char* s;


s=new char[strlen(str)+7];


if (first!=NULL)


{


cout<<"Spisok ne pust!!!n";


cout<<"Chto delat?(0/1/2)n";


cout<<" 0)Otmenit initsializatsiu;n";


cout<<" 1)Dopisat fonarnuu infomatsiu v konets spiska;n";


cout<<" 2)Zamenit spisok novoi fonarnoi informatsyei.n";


cin>>f;


};


if(f==0) return;


if(f==1) current=last;


if(f==2)


{


del_list();


first=new element[1];


first->info=new char[strlen(str)+3];


sprintf(first->info,"%s 1",str);


first->up=first->down=NULL;


current=last=first;


};


for (int j=f; j<=k; j++)


{


sprintf(s,"%s %d",str,j);


add_after(s);


};


return;


};


void list::print_list()


{


cout<<"Vmestimoe spiska:n";


element* temp=first;


if (first==NULL)


{


cout<<"Spisok pust!!!n";


return;


};


do


{


cout<<"| "<<temp->info<<" |";


temp=temp->down;


}


while (temp);


cout<<"n";


return;


};


int list::fput_list(char* s)


{


FILE* f;


if ((f=fopen(s,"w+"))==NULL)


{


cout << "Can not open file "<<s<<"n";


return 0;


};


if (!first) fclose(f);


element* temp=first;


do


{


fputs(temp->info,f);


fputs("n",f);


temp=temp->down;


}


while (temp);


fclose(f);


return 1;


};


int list::fget_list(char* s)


{


int ff=2;


if (first!=NULL)


{


cout<<"Spisok ne pust!!!nChto delat?(0/1/2)n 0)Otmenit vostanovlenie iz faila;n";


cout<<" 1)Vostanovit infomatsiu iz faila v konets spiska;n";


cout<<" 2)Zamenit spisok informatsyei iz faila.n";


cin>>ff;


};


if(!ff) return ff;


FILE* f;


if ((f=fopen(s,"r"))==NULL)


{


cout<<"Can not open file "<<s<<"n";


return 0;


};


char str[255];


if(ff==1)


current=last;


char *sss;


if(ff==2)


del_list();


while (fgets(str,256,f))


{


sss=new char[strlen(str)];


int j=0;


while(str[j]!='n')


sss[j]=str[j++];


sss[j]='0';


add_after(sss);


delete [] sss;


};


fclose(f);


return ff;


};


#endif


#include "list_.h"


void main()


{


int n=16;


cout<<"Rozhdenie spiska...n";


list s;


char a[255];


strcpy(a,"Seha");


s.print_list();


cout<<"nVsego elementov v spiske: "<<s.num_list();


cout<<"nTekuschiy element spiska: "<<s.num_current()<<'n';


cout<<"Press <Enter> for go on...n";


getchar();


cout<<"Skol'ko proinitsializirovat' elementov spiska?nn=";


cin>>n;


cout<<"Initsialitsia spiska...n";


s.init_list(n,a);


s.print_list();


cout<<"nVsego elementov v spiske: "<<s.num_list();


cout<<"nTekuschiy element spiska: ";


cout<<s.num_current()<<'n';


cout<<"Press <Enter> for go on...n";


getchar();//clear iostream


getchar();


cout<<"Kakoi element v spiske sdelat' tekeschim?nn=";


cin>>n;


s.current_element(n);


cout<<"nVsego elementov v spiske: "<<s.num_list()<<"nTekuschiy element spiska: "<<s.num_current()<<'n';


cout<<"Skol'ko elementov dobavit'?n";


cin>>n;


getchar();//clear iostream


for (int i=0; i<n; i++)


{


cout<<"Vvedite stroku dlja dobavlenija v spisokn";


gets(a);


cout<<"Dobavlenie posle tekuschego...n";


s.add_after(a);


s.print_list();


cout<<"nVsego elementov v spiske: "<<s.num_list()<<"nTekuschiy element spiska: "<<s.num_current()<<'n';


cout<<"Press <Enter> for go on...n";


getchar();


};


cout<<"Delaem tekuschim sledujushiy element...n";


s.next_element();


cout<<"nVsego elementov v spiske: "<<s.num_list()<<"nTekuschiy element spiska: "<<s.num_current()<<'n';


cout<<"Press <Enter> for go on...n";


getchar();


cout<<"Skol'ko eschje elementov spiska nuzhno dobavit'?n";


cin>>n;


getchar();//clear iostream


for (int i=0; i<n; i++)


{


cout<<"Vvedite stroku dlja dobavlenija v spisokn";


gets(a);


cout<<"Dobavlenie do tekuschego...n";


s.add_before(a);


s.print_list();


cout<<"nVsego elementov v spiske: "<<s.num_list()<<"nTekuschiy element spiska: "<<s.num_current()<<'n';


cout<<"Press <Enter> for go on...n";


getchar();


};


cout<<"Skol'ko eschje elementov spiska nuzhno dobavit'?n";


cin>>n;


getchar();//clear iostream


for (int k,i=0; i<n; i++)


{


cout<<"Vvedite stroku dlja dobavlenija v spisokn";


gets(a);


cout<<"Vvedite nomer elementa, na kakoe mesto nuzhno dobavit' novyi elementn";


cin>>k;


cout<<"Dobavlenie "<<k<<"-togo elementa...n";


s.add_element(a,k);


s.print_list();


cout<<"nVsego elementov v spiske: "<<s.num_list()<<"nTekuschiy element spiska: "<<s.num_current()<<'n';


cout<<"Press <Enter> for go on...n";


getchar();//clear iostream


getchar();


};


cout<<"Kakoi element v spiske sdelat' tekeschim?nn=";


cin>>n;


s.current_element(n);


cout<<"nVsego elementov v spiske: "<<s.num_list()<<"nTekuschiy element spiska: "<<s.num_current()<<'n';


cout<<"Skol'ko elementov udalit'?n";


cin>>n;


getchar();//clear iostream


for (int i=0; i<n; i++)


{


cout<<"Udalenie tekuschego...n";


s.del_element();


s.print_list();


cout<<"nVsego elementov v spiske: "<<s.num_list()<<"nTekuschiy element spiska: "<<s.num_current()<<'n';


cout<<"Press <Enter> for go on...n";


getchar();


};


cout<<"Skol'ko eschje elementov spiska nuzhno udalit?n";


cin>>n;


getchar();//clear iostream


for (int k,i=0; i<n; i++)


{


cout<<"Vvedite nomer elementa, kotoryi nuzhno udalit'n";


cin>>k;


cout<<"Udalenie "<<k<<"-togo elementa...n";


s.del_element(k);


s.print_list();


cout<<"nVsego elementov v spiske: "<<s.num_list()<<"nTekuschiy element spiska: "<<s.num_current()<<'n';


cout<<"Press <Enter> for go on...n";


getchar();//clear iostream


getchar();


};


cout<<"Zapis' spiska v fail...n";


s.fput_list("Seha.lsm");


cout<<"Udalenie spiska...n";


s.del_list();


s.print_list();


cout<<"nVsego elementov v spiske: "<<s.num_list()<<"nTekuschiy element spiska: "<<s.num_current()<<'n';


cout<<"Press <Enter> for go on...n";


getchar();


cout<<"Vostanovlenie spiska...n";


s.fget_list("Seha.lsm");


s.print_list();


cout<<"nVsego elementov v spiske: "<<s.num_list()<<"nTekuschiy element spiska: "<<s.num_current()<<'n';


cout<<"Press <Enter> for go on...n";


getchar();


cout<<"Delaem tekuschim predyduschiy element...n";


s.previous_element();


cout<<"nVsego elementov v spiske: "<<s.num_list()<<"nTekuschiy element spiska: "<<s.num_current()<<'n';


cout<<"Press <Enter> for go on...n";


getchar();


cout<<"Press <Enter> for exit...";


getchar();


};


Результат:


D:StudiesLabsProgramingLabsCppIndivid_6ind2>ind2


Rozhdenie spiska...


Vmestimoe spiska:


Spisok pust!!!


Vsego elementov v spiske: 0


Tekuschiy element spiska: 0


Press <Enter> for go on...


Skol'ko proinitsializirovat' elementov spiska?


n=9


Initsialitsia spiska...


Vmestimoe spiska:


| Seha 1 || Seha 2 || Seha 3 || Seha 4 || Seha 5 || Seha 6 || Seha 7 || Seha 8 || Seha 9 |


Vsego elementov v spiske: 9


Tekuschiy element spiska: 9


Press <Enter> for go on...


Kakoi element v spiske sdelat' tekeschim?


n=6


Vsego elementov v spiske: 9


Tekuschiy element spiska: 6


Skol'ko elementov dobavit'?


3


Vvedite stroku dlja dobavlenija v spisok


Sveta 1


Dobavlenie posle tekuschego...


Vmestimoe spiska:


| Seha 1 || Seha 2 || Seha 3 || Seha 4 || Seha 5 || Seha 6 || Sveta 1 || Seha 7 || Seha 8


|| Seha 9 |


Vsego elementov v spiske: 10


Tekuschiy element spiska: 7


Press <Enter> for go on...


Vvedite stroku dlja dobavlenija v spisok


Sveta 2


Dobavlenie posle tekuschego...


Vmestimoe spiska:


| Seha 1 || Seha 2 || Seha 3 || Seha 4 || Seha 5 || Seha 6 || Sveta 1 || Sveta 2 || Seha 7


|| Seha 8 || Seha 9 |


Vsego elementov v spiske: 11


Tekuschiy element spiska: 8


Press <Enter> for go on...


Vvedite stroku dlja dobavlenija v spisok


Sveta 3


Dobavlenie posle tekuschego...


Vmestimoe spiska:


| Seha 1 || Seha 2 || Seha 3 || Seha 4 || Seha 5 || Seha 6 || Sveta 1 || Sveta 2 || Sveta


3 || Seha 7 || Seha 8 || Seha 9 |


Vsego elementov v spiske: 12


Tekuschiy element spiska: 9


Press <Enter> for go on...


Delaem tekuschim sledujushiy element...


Vsego elementov v spiske: 12


Tekuschiy element spiska: 10


Press <Enter> for go on...


Skol'ko eschje elementov spiska nuzhno dobavit'?


3


Vvedite stroku dlja dobavlenija v spisok


Svitlana 1


Dobavlenie do tekuschego...


Vmestimoe spiska:


| Seha 1 || Seha 2 || Seha 3 || Seha 4 || Seha 5 || Seha 6 || Sveta 1 || Sveta 2 || Sveta


3 || Svitlana 1 || Seha 7 || Seha 8 || Seha 9 |


Vsego elementov v spiske: 13


Tekuschiy element spiska: 10


Press <Enter> for go on...


Vvedite stroku dlja dobavlenija v spisok


Svitlana 2


Dobavlenie do tekuschego...


Vmestimoe spiska:


| Seha 1 || Seha 2 || Seha 3 || Seha 4 || Seha 5 || Seha 6 || Sveta 1 || Sveta 2 || Sveta


3 || Svitlana 2 || Svitlana 1 || Seha 7 || Seha 8 || Seha 9 |


Vsego elementov v spiske: 14


Tekuschiy element spiska: 10


Press <Enter> for go on...


Vvedite stroku dlja dobavlenija v spisok


Svitlana 3


Dobavlenie do tekuschego...


Vmestimoe spiska:


| Seha 1 || Seha 2 || Seha 3 || Seha 4 || Seha 5 || Seha 6 || Sveta 1 || Sveta 2 || Sveta


3 || Svitlana 3 || Svitlana 2 || Svitlana 1 || Seha 7 || Seha 8 || Seha 9 |


Vsego elementov v spiske: 15


Tekuschiy element spiska: 10


Press <Enter> for go on...


Skol'ko eschje elementov spiska nuzhno dobavit'?


3


Vvedite stroku dlja dobavlenija v spisok


I


Vvedite nomer elementa, na kakoe mesto nuzhno dobavit' novyi element


10


Dobavlenie 10-togo elementa...


Vmestimoe spiska:


| Seha 1 || Seha 2 || Seha 3 || Seha 4 || Seha 5 || Seha 6 || Sveta 1 || Sveta 2 || Sveta


3 || I || Svitlana 3 || Svitlana 2 || Svitlana 1 || Seha 7 || Seha 8 || Seha 9 |


Vsego elementov v spiske: 16


Tekuschiy element spiska: 10


Press <Enter> for go on...


Vvedite stroku dlja dobavlenija v spisok


like


Vvedite nomer elementa, na kakoe mesto nuzhno dobavit' novyi element


11


Dobavlenie 11-togo elementa...


Vmestimoe spiska:


| Seha 1 || Seha 2 || Seha 3 || Seha 4 || Seha 5 || Seha 6 || Sveta 1 || Sveta 2 || Sveta


3 || I || like || Svitlana 3 || Svitlana 2 || Svitlana 1 || Seha 7 || Seha 8 || Seha 9 |


Vsego elementov v spiske: 17


Tekuschiy element spiska: 11


Press <Enter> for go on...


Vvedite stroku dlja dobavlenija v spisok


you!!!


Vvedite nomer elementa, na kakoe mesto nuzhno dobavit' novyi element


12


Dobavlenie 12-togo elementa...


Vmestimoe spiska:


| Seha 1 || Seha 2 || Seha 3 || Seha 4 || Seha 5 || Seha 6 || Sveta 1 || Sveta 2 || Sveta


3 || I || like || you!!! || Svitlana 3 || Svitlana 2 || Svitlana 1 || Seha 7 || Seha 8 ||


Seha 9 |


Vsego elementov v spiske: 18


Tekuschiy element spiska: 12


Press <Enter> for go on...


Kakoi element v spiske sdelat' tekeschim?


n=4


Vsego elementov v spiske: 18


Tekuschiy element spiska: 4


Skol'ko elementov udalit'?


3


Udalenie tekuschego...


Vmestimoe spiska:


| Seha 1 || Seha 2 || Seha 3 || Seha 5 || Seha 6 || Sveta 1 || Sveta 2 || Sveta 3 || I ||


like || you!!! || Svitlana 3 || Svitlana 2 || Svitlana 1 || Seha 7 || Seha 8 || Seha 9 |


Vsego elementov v spiske: 17


Tekuschiy element spiska: 4


Press <Enter> for go on...


Udalenie tekuschego...


Vmestimoe spiska:


| Seha 1 || Seha 2 || Seha 3 || Seha 6 || Sveta 1 || Sveta 2 || Sveta 3 || I || like || yo


u!!! || Svitlana 3 || Svitlana 2 || Svitlana 1 || Seha 7 || Seha 8 || Seha 9 |


Vsego elementov v spiske: 16


Tekuschiy element spiska: 4


Press <Enter> for go on...


Udalenie tekuschego...


Vmestimoe spiska:


| Seha 1 || Seha 2 || Seha 3 || Sveta 1 || Sveta 2 || Sveta 3 || I || like || you!!! || Sv


itlana 3 || Svitlana 2 || Svitlana 1 || Seha 7 || Seha 8 || Seha 9 |


Vsego elementov v spiske: 15


Tekuschiy element spiska: 4


Press <Enter> for go on...


Skol'ko eschje elementov spiska nuzhno udalit?


3


Vvedite nomer elementa, kotoryi nuzhno udalit'


2


Udalenie 2-togo elementa...


Vmestimoe spiska:


| Seha 1 || Seha 3 || Sveta 1 || Sveta 2 || Sveta 3 || I || like || you!!! || Svitlana 3 |


| Svitlana 2 || Svitlana 1 || Seha 7 || Seha 8 || Seha 9 |


Vsego elementov v spiske: 14


Tekuschiy element spiska: 2


Press <Enter> for go on...


Vvedite nomer elementa, kotoryi nuzhno udalit'


12


Udalenie 12-togo elementa...


Vmestimoe spiska:


| Seha 1 || Seha 3 || Sveta 1 || Sveta 2 || Sveta 3 || I || like || you!!! || Svitlana 3 |


| Svitlana 2 || Svitlana 1 || Seha 8 || Seha 9 |


Vsego elementov v spiske: 13


Tekuschiy element spiska: 12


Press <Enter> for go on...


Vvedite nomer elementa, kotoryi nuzhno udalit'


12


Udalenie 12-togo elementa...


Vmestimoe spiska:


| Seha 1 || Seha 3 || Sveta 1 || Sveta 2 || Sveta 3 || I || like || you!!! || Svitlana 3 |


| Svitlana 2 || Svitlana 1 || Seha 9 |


Vsego elementov v spiske: 12


Tekuschiy element spiska: 12


Press <Enter> for go on...


Zapis' spiska v fail...


Udalenie spiska...


Vmestimoe spiska:


Spisok pust!!!


Vsego elementov v spiske: 0


Tekuschiy element spiska: 0


Press <Enter> for go on...


Vostanovlenie spiska...


Vmestimoe spiska:


| Seha 1 || Seha 3 || Sveta 1 || Sveta 2 || Sveta 3 || I || like || you!!! || Svitlana 3 |


| Svitlana 2 || Svitlana 1 || Seha 9 |


Vsego elementov v spiske: 12


Tekuschiy element spiska: 12


Press <Enter> for go on...


Delaem tekuschim predyduschiy element...


Vsego elementov v spiske: 12


Tekuschiy element spiska: 11


Press <Enter> for go on...


Press <Enter> for exit...


D:StudiesLabsProgramingLabsCppIndivid_6ind2>


Seha
.lsm:


Seha 1


Seha 3


Sveta 1


Sveta 2


Sveta 3


I


like


you!!!


Svitlana 3


Svitlana 2


Svitlana 1


Seha 9

Сохранить в соц. сетях:
Обсуждение:
comments powered by Disqus

Название реферата: Объектно ориентированое програмирование на С

Слов:3815
Символов:40366
Размер:78.84 Кб.