.


:




:

































 

 

 

 


-

..

, ,

 

..., . ..

, ,

 

 

__________________________________________________

 

2012

 

 

һ

( ӻ)

 

 

 

 

 

: , , , , . , , .

-111 _____________

, ,

( , )

__________________ 26 .,_ 9, __________________

_____________________________ 0. _________________________

_____________________________________________

________

________________________________________

 

 

... ..

, ,

 

.. , ,

 

 

 

 

.

1. .....6

1.1. 6

1.2. ........6

1.3. .....6

2 7

2.1 充..............7

2.1.1 STL...7

2.1.2. ....8

2.1.3. ..12

2.1.4. 13

2.1.5..15

2.1.6 .....16

2.1.7 . . ....17

2.2. ....18

2.2.1 - ...18

2.2.2 - .....19

2.2.3 ...20

2.2.4 .24

3. ..............26

4. .... .27

 

 

 

++ - , , - , , , , , , () , . , , . C++ , . - C, - - .

, C++ . , , , , , (). C++, , . , x86 GCC, Visual C++, Intel C++ Compiler, Embarcadero (Borland) C++ Builder . C++ , Java C#.

C++ C. C. , C++ C; , C, C++, , C.

 

 

1.1

 

++ . . - (STL). .

 

1.2

 

(STL) ++ .

 

1.3

 

:

1) ;

2) ;

3) ;

4) ;

5)

6) ;

 

 

2.1

 

2.1.1 STL

 

STL . , . (, , ). , , C++ . , STL . STL , , . STL , . , , , . STL . -. , . , STL . -, . (, , .) : . , , . STL, . , .

 

 

2.1.2

 

, . (..1). , vector , deque , list . (sequence containers), STL - . STL (associative containers), .

, /. map. /, . .

 

.1-

, . . , , . . , , . , , . , , , . , , - , , . STL vector. . , , . , , , - , . . STL , . . . , , LIFO ( ). , . , , FIFO ( ): , . , , . , . , , , .

 

. , . , . , . ( ), , . , . STL : . , , . , . , , . , , - , . , , . , person, . name. , ( person name). , , int, . , , , , , (), . . : () . , . , , , . , . . , , , , . , , .

 

 

2.1.3

 

(allocator). . allocator, , . .

. , - deque. - : template <class T, class Allocator = allocator<T> > class deque T , deque. , deque, Allocator; - . , . , .

 

 

2.1.4

 

, . , . (..2)

 

 

.2-

 

, , . , . . , , . , , , . , . , ->, ++, *, == !=. , * . , ->, +, ++, -, --, *, <, >, <=, >=, -=, +=, ==,!= []. * . , , (..3).

 

 

.3-

 

(..4).

 

 

.4-

 

 

2.1.5

 

. , , , , . .

:

 

find ()- , .

count()-, .

sort()- .

search()- , , .

merge()- , , .

for_each ()- . , , . , .

transform()- - , ( ). , c , , .

 

 

2.1.6

 

STL , . , .

.

push_front(), front() pop_front() pop_back() .

 

2.1.7 . .

 

, , . , . - , []. . ( ) . , , , .

:

push_back() -

size() - , .

swap() - ,

back() -

insert - : .

erase() -

, , . STL .

 

2.2

 

2.2.1 -

 

 

 

 


.5--

 

2.2.2 -

 
 

 


 

 


 

 

.6 -

 

2.2.3

#include <iostream>

#include <conio.h>

#include <vector>

using namespace std;

class Adventures_of_SIB

{

public:

char naimenovanie_tyra[30];

char familia_klienta[30];

int stoimost_1_dnia_poezdki;

int kolichestvo_dnei;

char data_otpravlenia[30];

};

int main()

{ int i, n, k, m;

Adventures_of_SIB client1, client2;

char dano[30];

vector <Adventures_of_SIB>object;

 

for(;;){

cout << "Dobro pogalovat' v tyristicheskoe agenstvo\n";

cout << " Adventures of SIB\n\n\n";

cout << "vvedite <1> dlia dobavlenia clienta\n";

cout << "vvedite <2> dlia vivoda vseh dannih\n";

cout << "vvedite <3> dlia poiska po naimenovaniy tyra\n";

cout << "vvedite <4> dlia poiska po familii klienta\n";

cout << "vvedite <5> dlia poiska po date otpravlenia\n";

cout << "vvedite <6> dlia ydalenie tyra\n";

cout << "vvedite <7> dlia zameni tyra\n";

cout << "vvedite <8> dlia vyhoda\n\n";

 

cin >> m;

switch (m)

{case 1:

{

cout<<"vvedite naimenovanie tyra\n";

cin >> client1.naimenovanie_tyra;

cout <<"\n"<<"familiya klienta\n";

cin >>client1.familia_klienta;

cout <<"\n"<<"stoimost' 1 dnia poezdki\n";

cin >>client1.stoimost_1_dnia_poezdki;

cout <<"\n"<<"kolichestvo dnei\n";

cin >>client1.kolichestvo_dnei;

cout <<"\n"<<"data opravleniya(DD.MM.GGGG)\n";

cin >>client1.data_otpravlenia;

cout << "\n";

object.push_back(client1);

}

case 2:

{ for(i=0; i< object.size(); i++){

client1 = object [i];

cout << client1.naimenovanie_tyra<<"\n";

cout<<client1.familia_klienta<<"\n";

cout<< client1.stoimost_1_dnia_poezdki<<"\n";

cout<< client1.kolichestvo_dnei<<"\n";

cout<<client1.data_otpravlenia<<"\n";

}

getch();

}

case 3:

{

cout << "vvedite naimenovanie tyra\n";

cin >> dano;

for(i=0; i< object.size(); i++){

client1 = object [i];

n=strcmp(dano,client1.naimenovanie_tyra);

if (n==0) {

cout <<client1.naimenovanie_tyra<<"\n";

cout<<client1.familia_klienta<<"\n ";

cout<<client1.stoimost_1_dnia_poezdki<<"\n";

cout<< client1.kolichestvo_dnei<<"\n";

cout<<client1.data_otpravlenia<<"\n";

}

k=i+1;

}

if(k== object.size()) cout<<"ne naideno!\n";

}

case 4:

{

cout << "vvedite familiyu clienta\n";

cin >> dano;

for(i=0; i< object.size(); i++){

client1 = object [i];

n=strcmp(dano,client1.familia_klienta);

if (n==0){

cout << client1.naimenovanie_tyra<<"\n";

cout<<client1.familia_klienta<<"\n";

cout<<client1.stoimost_1_dnia_poezdki<<"\n";

cout<< client1.kolichestvo_dnei<<"\n";

cout<<client1.data_otpravlenia<<"\n";

}

k=i+1;

}

if(k== object.size()) cout<<"ne naideno!\n";

}

case 5:

{

cout << "vvedite daty otpravlenia (DD.MM.GGGG)\n";

cin >> dano;

for(i=0; i< object.size(); i++) {

client1 = object [i];

n=strcmp(dano,client1.data_otpravlenia);

if (n==0) {

cout << client1.naimenovanie_tyra<<"\n";

cout<<client1.familia_klienta<<"\n ";

cout<<client1.stoimost_1_dnia_poezdki<<"\n";

cout<< client1.kolichestvo_dnei<<"\n";

cout<<client1.data_otpravlenia<<"\n";

}

k=i+1;

}

if(k== object.size()) cout<<"ne naideno!\n";

}

case 6:

{

cout << "vvedite naimenovanie tyra, kotoryi nado udalit'\n";

cin >>dano;

vector<Adventures_of_SIB>::iterator a = object.begin();

for(i=0; i< object.size(); i++){

client1 = object [i];

n=strcmp(dano,client1.naimenovanie_tyra);

if (n==0){

a=a+i;

object.erase(a); }

k=i+1;

}

if(k== object.size()) cout<<"ne naideno!\n";

}

case 7:

{

cout << "vvedite naimenovanie tyra, kotoryi nuzhno zamenit'\n";

cin >> dano;

vector<Adventures_of_SIB>::iterator a = object.begin();

vector<Adventures_of_SIB>::iterator b = object.begin();

for(i=0; i< object.size(); i++){

client1 = object [i];

n=strcmp(dano,client1.naimenovanie_tyra);

if (n==0){

a=a+i;

b= object.erase(a);

cout<<"vvedite naimenovanie tyra\n";

cin >> client2.naimenovanie_tyra;

cout <<"\n"<<"vvedite familiy klienta\n";

cin >>client2.familia_klienta;

cout <<"\n"<<"vvedite stoimost' 1 dnia poezdki\n";

cin >>client2.stoimost_1_dnia_poezdki;

cout <<"\n"<<"vvedite kolichestvo dnei\n";

cin >>client2.kolichestvo_dnei;

cout <<"\n"<<"vvedite daty otpravlenia(DD.MM.GGGG)\n";

cin >>client2.data_otpravlenia;

cout << "\n";

object.insert(b,client2);

}

k=i+1;

}

if(k== object.size()) cout<<"ne naideno!\n";

}

case 8:

return 0;

}

 

}

 

2.2.4

 

 

 

.7- 1

 

 

.8- 2

 

 

.9- 3

 

 

- . . . .

 

 

 

1. : STL

2. , " ++", , "", 1995

3. , , "++ " , "", 1993

4. . . - ++. , 2011

5. .., .. ++. - UML. / . . - .: <>, 2002.

6. . ++: . - .: < <>, 1999.

 



<== | ==>
| . . World Arts and Festivals Federation - WAFF
:


: 2016-09-03; !; : 423 |


:

:

- , - .
==> ...

1270 - | 1219 -


© 2015-2024 lektsii.org - -

: 0.172 .