.


:




:

































 

 

 

 


-

++

:

03-781-1 ..

 

:

..., һ ..

 

, 2014

: ++.

 

.

 

:

- ;

- (, -);

- ( );

- 20;

- (-) 2;

- (-) 3;

- , + 50% ( );

- ;

- ( );

- () ;

- - ;

- () ;

- ( );

- ( ) ( );

- ;

- .

 

:

1. .

2. .

3. (-) .

4. ++.

5. ++.

 


 

C++ .

- , , , . - : 1) , ; 2) - ; 3) .

- . , . - , ( ) ( ) , . - - ; , .[4]

- . . - . , , . , , .

. . . . .

. . , , .

- : - : , . () , , , .

, , . (private) . () . .

( -). . . , .

, () , () () . , , . . [4]

, , .

, . . (, , ). class, . .[3]

.

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

.

, . , .

. , ( , ::).

. - .

(public), (private) (protected).

private .

protected .

public , ( ).

-, ( ) (public, private, protected), . -.

Private-

, protected public, private .

Protected-

, protected public protected . .

Public-

, protected public, , , protected public , .[2]

 


 

. 2- : . - , - (- + 50%). , , , , .


 

baza
Attributes: + zver* zv + ptic* pt + int kolzv + int kolpt + int maxdzv + int maxpt
Operatoins: +baza() +vivodzv() +vivodpt() +Filtr1() +Edit() +Edit2() +Edit3() +WriteToFile() +Sortzv() +Sortpt() +Add() +Delet()

 

zhivotnoe
Attributes: + char name[15]; + char razmer[15]; + char pol[3]; + char semeistvo[20];
Operatoins: zhivotnoe() + verh() + GetName(char buf[]); + GetRazmer(char buf[]); + GetPol(char buf[]); + GetSemeistvo(char buf[]); + SetName(char buf[]); + SetRazmer(char buf[]); + SetPol(char buf[]); + SetSemeistvo(char buf[]);

 
 

 


zver
Attributes: + char poroda[20]; + char okras[10]; + int vozrast;
Operatoins: + zver(); + zver(int s); + zver(FILE *file); + vivod(); + ZapisF(FILE *file); + Setvozrast(); + GetPoroda(char buf[]); + GetOkras(char buf[]); + GetVozrast(int &buf); + SetPoroda(char buf[]); + SetOkras(char buf[]); + SetVozrast(int &buf);

 

ptic
Attributes: + char arealobitania[20] + int chislennostSemeistvoa + int ves
Operatoins: + ptic(); + ptic(int s); + ptic(FILE *file); + vivod(); + ZapisF(FILE *file); + GetAreal(char buf[]); + GetChisl(int &buf); + GetVes(int &buf); + SetAreal(char buf[]); + SetChisl(int buf); + SetVes(int buf);

 

 


 


main.cpp

#define _CRT_SECURE_NO_DEPRECATE

#include <iostream>

#include <stdio.h>

#include <iomanip>

#include <conio.h>

#include <string.h>

#include "func.h"

 

int main()

{

setlocale(LC_CTYPE, "Russian");

baza bk;

bool p = true;

char sw;

Menu();

while (p)

{

sw = _getch();

switch (sw)

{

case '1':

system("cls");

Menu();

bk.vivodpt();

cout << endl;

bk.vivodzv();

break;

case '2':

system("cls");

Menu();

bk.Filtr1();

system("cls");

Menu();

break;

case '3':

system("cls");

bk.Edit();

system("cls");

Menu();

break;

case '4':

bk.WriteToFile();

system("cls");

Menu();

break;

case '5':

bk.Sortpt();

system("cls");

Menu();

break;

case '6':

bk.Sortzv();

system("cls");

Menu();

break;

case '7':

bk.Add();

system("cls");

Menu();

break;

case '8':

bk.Delet();

system("cls");

Menu();

break;

case 'c':

system("cls");

Menu();

break;

case 'x':

exit(0);

default:

break;

}

}

return 0;

}


 

Func.cpp

#define _CRT_SECURE_NO_DEPRECATE

#include <iostream>

#include <stdio.h>

#include <iomanip>

#include <conio.h>

#include "func.h"

 

using namespace std;

 

void Menu()//

{

cout << "1) " << endl

<< "2)" << endl

<< "3) " << endl

<< "4) "<< endl

<< "5) " << endl

<< "6) "<< endl

<< "7) " << endl

<< "8) " << endl

<< "Z) " << endl

<< ")" << endl;

}

void Menu2()//

{

cout << "1)" << endl

<< "2)" << endl

<< "3)" << endl

<< "4)" << endl

<< "5) " << endl

<< "9)";

}

void MenuObshee()//

{

cout << "1)" << endl << "2)" << endl << "9)";

}

void Menuzv()//

{

cout << "1)" << endl << "2)" << endl << "3)" << endl

<< "4)" << endl << "5)" << endl << "6)" << endl << "7)" << endl << "9)";

}

void Menupt()//

{

cout << "1) " << endl << "2)" << endl << "3)" << endl << "4)" << endl

<< "5) " << endl << "6) " << endl << "7)" << endl << "9)";

}

zhivotnoe::zhivotnoe(){}

 

void zhivotnoe::GetName(char buf[])

{

strcpy(buf, name);

}

void zhivotnoe::GetRazmer(char buf[])

{

strcpy(buf, razmer);

}

void zhivotnoe::GetPol(char buf[])

{

strcpy(buf, pol);

}

void zhivotnoe::GetSemeistvo(char buf[])

{

strcpy(buf, semeistvo);

};

void ptic::GetAreal(char buf[])

{

strcpy(buf, arealobitania);

};

void ptic::GetChisl(int &buf)

{

buf = chislennostSemeistvoa;

};

void ptic::GetVes(int &buf)

{

buf = ves;

};

void zver::GetPoroda(char buf[])

{

strcpy(buf, poroda);

};

void zver::GetOkras(char buf[])

{

strcpy(buf, okras);

};

void zver::GetVozrast(int &buf)

{

buf = vozrast;

};

void zver::SetPoroda(char buf[])

{

strcpy(poroda, buf);

};

void zver::SetOkras(char buf[])

{

strcpy(okras, buf);

};

void zver::SetVozrast(int &buf)

{

vozrast = buf;

};

void zhivotnoe::SetName(char buf[])

{

strcpy(name, buf);

}

void zhivotnoe::SetRazmer(char buf[])

{

strcpy(razmer, buf);

}

void zhivotnoe::SetPol(char buf[])

{

strcpy(pol, buf);

}

void zhivotnoe::SetSemeistvo(char buf[])

{

strcpy(semeistvo, buf);

}

void ptic::SetAreal(char buf[])

{

strcpy(arealobitania, buf);

}

void ptic::SetChisl(int buf)

{

chislennostSemeistvoa = buf;

}

void ptic::SetVes(int buf)

{

ves = buf;

}

 

 

zver::zver()

{}

zver::zver(FILE *file)

{

fscanf(file, "%s %s %s %s %s %s %d", name, pol, razmer, semeistvo, poroda, okras, &vozrast);

}

void zver::ZapisF(FILE *file)

{

fprintf(file, "%s %s %s %s %s %s %d", name, pol, razmer, semeistvo, poroda, okras, vozrast);

fprintf(file, "%c", '\n');

}

void zver::vivod()

{

cout << "* " << setw(10) << left << name << "* " << setw(3) << pol << "* " << setw(7)

<< razmer << "* " << setw(10) << semeistvo << "* " << setw(10) << poroda

<< "* " << setw(10) << okras << "* " << setw(7) << vozrast << "*" << endl;

}

ptic::ptic()

{}

ptic::ptic(FILE *file)

{

fscanf(file, "%s %s %s %s %s %d %d", name, pol, razmer, semeistvo, arealobitania, &chislennostSemeistvoa, &ves);

}

void ptic::vivod()

{

 

cout << "* " << setw(10) << left << name << "* " << setw(3) << pol << "* " << setw(10) << razmer

<< "* " << setw(12) << semeistvo << "* " << setw(11) << arealobitania << "* " << setw(10)

<< chislennostSemeistvoa << "* " << setw(3) << ves << "*" << endl;

}

void ptic::ZapisF(FILE *file)

{

fprintf(file, "%s %s %s %s %s %d %d", name, pol, razmer, semeistvo, arealobitania, chislennostSemeistvoa, ves);

fprintf(file,"%c", '\n');

};

 

zver::zver(int s)

{

cout << endl << "Vvedite novie dannie (name, pol, sem-vo, razmer, poroda, okras, vozrast):" << endl;

cin >> name >> pol >> razmer >> semeistvo >> poroda >> okras >> vozrast;

}

 

baza::baza()

{

FILE *f1 = fopen("1.txt", "r");

FILE *f2 = fopen("2.txt", "r");

fscanf(f1, "%d", &kolzv);

fscanf(f2, "%d", &kolpt);

maxzv = kolzv + (kolzv / 2);

maxpt = kolpt + (kolpt / 2);

pt = new ptic[maxpt];

zv = new zver[maxzv];

int kol = 0;

while (!feof(f1))

{

zver bufzv(f1);

zv[kol] = bufzv;

kol++;

}

int kol1 = 0;

while (!feof(f2))

{

ptic bufpt(f2);

pt[kol1] = bufpt;

kol1++;

}

fclose(f1);

fclose(f2);

}

 

void baza::vivodzv()

{

cout << "* " << setw(10) << left << "" << "* " << setw(3) << "" << "* " << setw(7) << "" << "* "

<< setw(10) << "" << "* " << setw(10) << "" << "* " << setw(10) << "" << "* " << setw(7)

<< "" << "*" << endl;

 

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

{

zv[i].vivod();

}

}

 

void baza::vivodpt()

{

cout << "* " << setw(10) << left << "" << "* " << setw(3) << "" << "* " << setw(10)

<< "" << "* " << setw(12) << "" << "* " << setw(10) << "- -" << "* " << setw(10)

<< " " << "* " << setw(2) << "" << "*" << endl;

 

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

{

pt[i].vivod();

}

}

 

void baza::Filtr1()//

{

bool p = true;

char fil;

char str1[15], str2[15];

system("cls");

Menu2();

cout << endl << " ";

char namefile[20];

cin >> namefile;

FILE *fout = fopen(namefile, "w");

while (p)

{

fil = _getch();

switch (fil)

{

case '1':

system("cls");

Menu2();

cout << " ";

cin >> str1;

cout << "*" << setw(10) << left << "" << "* " << setw(3) << "" << "* " << setw(10)

<< "" << "* " << setw(10) << "" << "* " << setw(10) << "- -" << "* " << setw(10)

<< "- " << "* " << setw(2) << "" << "*" << endl;

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

{

pt[i].GetName(str2);

if (strcmp(str1, str2) == 0){ pt[i].vivod(); pt[i].ZapisF(fout); }

}

cout << "* " << setw(7) << left << "" << "* " << setw(3) << "" << "* " << setw(10) << "" << "* "

<< setw(10) << "" << "* " << setw(10) << "" << "* " << setw(10) << "" << "* " << setw(7)

<< "" << "*" << endl;

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

{

zv[i].GetName(str2);

if (strcmp(str1, str2) == 0){ zv[i].vivod(); zv[i].ZapisF(fout); }

}

break;

case '2':

system("cls");

Menu2();

cout << " ";

cin >> str1;

cout << "*" << setw(10) << left << "" << "* " << setw(3) << "" << "* " << setw(10)

<< "" << "* " << setw(10) << "" << "* " << setw(10) << "- -" << "* " << setw(10)

<< "- " << "* " << setw(2) << "" << "*" << endl;

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

{

pt[i].GetPol(str2);

if (strcmp(str1, str2) == 0){ pt[i].vivod(); pt[i].ZapisF(fout); }

}

cout << "* " << setw(7) << left << "" << "* " << setw(3) << "" << "* " << setw(10) << "" << "* "

<< setw(10) << "" << "* " << setw(10) << "" << "* " << setw(10) << "" << "* " << setw(7)

<< "" << "*" << endl;

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

{

zv[i].GetPol(str2);

if (strcmp(str1, str2) == 0){ zv[i].vivod(); zv[i].ZapisF(fout); }

}

break;

case '3':

system("cls");

Menu2();

cout << " ";

cin >> str1;

cout << "*" << setw(10) << left << "" << "* " << setw(3) << "" << "* " << setw(10)

<< "" << "* " << setw(10) << "" << "* " << setw(10) << "- -" << "* " << setw(10)

<< "- " << "* " << setw(2) << "" << "*" << endl;

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

{

pt[i].GetRazmer(str2);

if (strcmp(str1, str2) == 0){ pt[i].vivod(); pt[i].ZapisF(fout); }

}

cout << "* " << setw(7) << left << "" << "* " << setw(3) << "" << "* " << setw(10) << "" << "* "

<< setw(10) << "" << "* " << setw(10) << "" << "* " << setw(10) << "" << "* " << setw(7)

<< "" << "*" << endl;

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

{

zv[i].GetRazmer(str2);

if (strcmp(str1, str2) == 0){ zv[i].vivod(); zv[i].ZapisF(fout); }

}

break;

case '4':

system("cls");

Menu2();

cout << " ";

cin >> str1;

cout << "*" << setw(10) << left << "" << "* " << setw(3) << "" << "* " << setw(10)

<< "" << "* " << setw(10) << "" << "* " << setw(10) << "- -" << "* " << setw(10)

<< "- " << "* " << setw(2) << "" << "*" << endl;

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

{

pt[i].GetSemeistvo(str2);

if (strcmp(str1, str2) == 0){ pt[i].vivod(); pt[i].ZapisF(fout); }

}

cout << "* " << setw(7) << left << "" << "* " << setw(3) << "" << "* " << setw(10) << "" << "* "

<< setw(10) << "" << "* " << setw(10) << "" << "* " << setw(10) << "" << "* " << setw(7)

<< "" << "*" << endl;

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

{

zv[i].GetSemeistvo(str2);

if (strcmp(str1, str2) == 0){ zv[i].vivod(); zv[i].ZapisF(fout); }

}

case '5':

system("cls");

Menu2();

cout << " ";

cin >> str1;

cout << "*" << setw(10) << left << "" << "* " << setw(3) << "" << "* " << setw(10)

<< "" << "* " << setw(10) << "" << "* " << setw(10) << "- -" << "* " << setw(10)

<< "- " << "* " << setw(2) << "" << "*" << endl;

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

{

pt[i].GetAreal(str2);

if (strcmp(str1, str2) == 0){ pt[i].vivod(); pt[i].ZapisF(fout); }

}

cout << "* " << setw(7) << left << "" << "* " << setw(3) << "" << "* " << setw(10) << "" << "* "

<< setw(10) << "" << "* " << setw(10) << "" << "* " << setw(10) << "" << "* " << setw(7)

<< "" << "*" << endl;

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

{

zv[i].GetPoroda(str2);

if (strcmp(str1, str2) == 0){ zv[i].vivod(); zv[i].ZapisF(fout); }

}

 

break;

case '9':

p = false;

break;

default:

break;

}

}

fclose(fout);

}

 

void baza::Edit()

{

// 1- 2- 9-

bool p = true;

char ed;

MenuObshee();

while (p)

{

ed = _getch();

switch (ed)

{

case '1':

Edit2();

system("cls");

MenuObshee();

break;

case '2':

Edit3();

system("cls");

MenuObshee();

break;

case '9':

p = false;

break;

default:

break;

}

}

}

 

void baza::Edit2()//

{

system("cls");

cout << "Vvedite nomer: ";

int nomt; //

cin >> nomt;

if ((nomt <= kolzv) && (nomt > 0)) //

{

bool p = true;

char ed;

system("cls");

Menuzv();

while (p)

{

//1- , 2-, 3-, 4-, 9-

ed = _getch();

switch (ed)

{

case '1':

cout << endl << "Vvedite novoe name" << endl;

char bufname[11];

cin >> bufname;

zv[nomt - 1].SetName(bufname);

system("cls");

Menuzv();

break;

case '2':

cout << endl << "Vvedite pol " << endl;

char bufpol[11];

cin >> bufpol;

zv[nomt - 1].SetPol(bufpol);

system("cls");

Menuzv();

break;

case '3':

cout << endl << "Vvedite razmer" << endl;

char bufpodsem[11];

cin >> bufpodsem;

zv[nomt - 1].SetRazmer(bufpodsem);

system("cls");

Menuzv();

break;

case '4':

cout << endl << "Vvedite sem-vo" << endl;

char bufsemeistvo[11];

cin >> bufsemeistvo;

zv[nomt - 1].SetSemeistvo(bufsemeistvo);

system("cls");

Menuzv();

break;

case '5':

cout << endl << "Vvedite porodu" << endl;

char bufpor[11];

cin >> bufpor;

zv[nomt - 1].SetPoroda(bufpor);

system("cls");

Menuzv();

case '6':

cout << endl << "Vvedite okras" << endl;

char bufokr[11];

cin >> bufokr;

zv[nomt - 1].SetOkras(bufokr);

system("cls");

Menuzv();

case '7':

cout << endl << "Vvedite vozrast" << endl;

int bufvoz;

cin >> bufvoz;

zv[nomt - 1].SetVozrast(bufvoz);

system("cls");

Menuzv();

break;

case '9':

p = false;

break;

default:

break;

}

}

}

else

{

cout << "Oshibka! Vvedite drugoy nomer\n";

system("pause");

}

}

void baza::Edit3()//

{

cout << endl << "Vvedite nomer ptic";

int nomc; //

cin >> nomc;

if ((nomc <= kolpt) && (nomc > 0))

{

bool p = true;

char ed;

system("cls");

Menupt();

while (p)

{

//1- , 2-, 3-, 4-, 9-

ed = _getch();

switch (ed)

{

case '1':

cout << endl << "Vvedite novoe name" << endl;

char bufname[11];

cin >> bufname;

pt[nomc - 1].SetName(bufname);

system("cls");

Menupt();

break;

case '2':

cout << endl << "Vvedite pol" << endl;

char bufpol[11];

cin >> bufpol;

pt[nomc - 1].SetPol(bufpol);

system("cls");

Menupt();

break;

case '3':

cout << endl << "Vvedite noviy razmer" << endl;

char bufpodsem[11];

cin >> bufpodsem;

pt[nomc - 1].SetRazmer(bufpodsem);

system("cls");

Menupt();

break;

case '4':

cout << endl << "Vvedite sem-vo" << endl;

char bufsemeistvo[11];

cin >> bufsemeistvo;

pt[nomc - 1].SetSemeistvo(bufsemeistvo);

system("cls");

Menupt();

case '5':

cout << endl << "Vvedite Areal obitania" << endl;

char bufareal[11];

cin >> bufareal;

pt[nomc - 1].SetAreal(bufareal);

system("cls");

Menupt();

case '6':

cout << endl << "Vvedite Chislennost semeistvoa" << endl;

int bufchisl;

cin >> bufchisl;

pt[nomc - 1].SetChisl(bufchisl);

system("cls");

Menupt();

case '7':

cout << endl << "Vvedite ves" << endl;

int bufves;

cin >> bufves;

pt[nomc - 1].SetVes(bufves);

system("cls");

Menupt();

case '9':

p = false;

break;

default:

break;

}

}

}

else

{

cout << "Oshibka! Vvedite drugoy nomer\n";

system("pause");

}

};

 

ptic::ptic(int s)

{

//

cout << endl << "Vvedite novie dannie (name, semeistvo, pol, arealobitania, chislennostSemeistvoa,ves):" << endl;

cin >> name >> razmer >> pol >> semeistvo >> arealobitania >> chislennostSemeistvoa >> ves;

};

 

 

void baza::WriteToFile()

{

//

cout << endl << "Vvedite nazvanie file (fout.txt)";

char namefile[20]; //

cin >> namefile;

FILE *fout = fopen(namefile, "w");

for (int i = 0; i < kolpt; i++) //

{

pt[i].ZapisF(fout);

}

for (int i = 0; i < kolzv; i++) //

{

zv[i].ZapisF(fout);

}

fclose(fout);

}

 

void baza::Sortpt() //

{

char sort;

bool p = true, ex = true;

ptic buf;

system("cls");

while (ex)

{

//1- , 2-,3-, 4-, 5- , 6- , 7-

// 2 2- (i- i+1-) i-

system("cls");

Menupt();

cout << endl;

vivodpt();

sort = _getch();

switch (sort)

{

case '1':

p = true;

while (p){

p = false;

char str1[11], str2[11];

for (int i = 0; i < kolpt - 1; i++){

pt[i].GetName(str1); pt[i + 1].GetName(str2);

if (strcmp(str1, str2) == 1){ buf = pt[i]; pt[i] = pt[i + 1]; pt[i + 1] = buf; p = true; }

}

}

break;

case '2':

p = true;

while (p){

p = false;

char str1[11], str2[11];

for (int i = 0; i < kolpt - 1; i++){

pt[i].GetPol(str1); pt[i + 1].GetPol(str2);

if (strcmp(str1, str2) == 1){ buf = pt[i]; pt[i] = pt[i + 1]; pt[i + 1] = buf; p = true; }

}

}

break;

case '3':

p = true;

while (p){

p = false;

char str1[11], str2[11];

for (int i = 0; i < kolpt - 1; i++){

pt[i].GetRazmer(str1); pt[i + 1].GetRazmer(str2);

if (strcmp(str1, str2) == 1){ buf = pt[i]; pt[i] = pt[i + 1]; pt[i + 1] = buf; p = true; }

}

}

break;

case '4':

p = true;

while (p){

p = false;

char str1[11], str2[11];

for (int i = 0; i < kolpt - 1; i++){

pt[i].GetSemeistvo(str1); pt[i + 1].GetSemeistvo(str2);

if (strcmp(str1, str2) == 1){ buf = pt[i]; pt[i] = pt[i + 1]; pt[i + 1] = buf; p = true; }

}

}

break;

case '5':

p = true;

while (p){

p = false;

char str1[11], str2[11];

for (int i = 0; i < kolpt - 1; i++){

pt[i].GetAreal(str1); pt[i + 1].GetAreal(str2);

if (strcmp(str1, str2) == 1){ buf = pt[i]; pt[i] = pt[i + 1]; pt[i + 1] = buf; p = true; }

}

}

break;

case '6':

p = true;

while (p){

p = false;

int ch1, ch2;

for (int i = 0; i < kolpt - 1; i++){

pt[i].GetChisl(ch1); pt[i + 1].GetChisl(ch2);

if (ch1 > ch2){ buf = pt[i]; pt[i] = pt[i + 1]; pt[i + 1] = buf; p = true; }

}

}

break;

case '7':

p = true;

while (p){

p = false;

int ch1, ch2;

for (int i = 0; i < kolpt - 1; i++){

pt[i].GetVes(ch1); pt[i + 1].GetVes(ch2);

if (ch1 > ch2){ buf = pt[i]; pt[i] = pt[i + 1]; pt[i + 1] = buf; p = true; }

}

}

break;

case '9':

ex = false;

break;

default:

break;

}

}

}

 

void baza::Sortzv() //

{

char sort;

bool p = true, ex = true;

zver buf;

system("cls");

while (ex)

{

//1- , 2-,3-, 4-, 5-, 6-, 7-

// 2 2- (i- i+1-) i-

system("cls");

Menuzv();

cout << endl;

vivodzv();

sort = _getch();

switch (sort)

{

case '1':

p = true;

while (p){

p = false;

char str1[11], str2[11];

for (int i = 0; i < kolzv - 1; i++){

zv[i].GetName(str1); zv[i + 1].GetName(str2);

if (strcmp(str1, str2) == 1){ buf = zv[i]; zv[i] = zv[i + 1]; zv[i + 1] = buf; p = true; }

}

}

break;

case '2':

p = true;

while (p){

p = false;

char str1[11], str2[11];

for (int i = 0; i < kolzv - 1; i++){

zv[i].GetPol(str1); zv[i + 1].GetPol(str2);

if (strcmp(str1, str2) == 1){ buf = zv[i]; zv[i] = zv[i + 1]; zv[i + 1] = buf; p = true; }

}

}

break;

case '3':

p = true;

while (p){

p = false;

char str1[11], str2[11];

for (int i = 0; i < kolzv - 1; i++){

zv[i].GetRazmer(str1); zv[i + 1].GetRazmer(str2);

if (strcmp(str1, str2) == 1){ buf = zv[i]; zv[i] = zv[i + 1]; zv[i + 1] = buf; p = true; }

}

}

break;

case '4':

p = true;

while (p){

p = false;

char str1[11], str2[11];

for (int i = 0; i < kolzv - 1; i++){

zv[i].GetSemeistvo(str1); zv[i + 1].GetSemeistvo(str2);

if (strcmp(str1, str2) == 1){ buf = zv[i]; zv[i] = zv[i + 1]; zv[i + 1] = buf; p = true; }

}

}

break;

case '5':

p = true;

while (p){

p = false;

char str1[11], str2[11];

for (int i = 0; i < kolzv - 1; i++){

zv[i].GetPoroda(str1); zv[i + 1].GetPoroda(str2);

if (strcmp(str1, str2) == 1){ buf = zv[i]; zv[i] = zv[i + 1]; zv[i + 1] = buf; p = true; }

}

}

break;

case '6':

p = true;

while (p){

p = false;

char str1[11], str2[11];

for (int i = 0; i < kolzv - 1; i++){

zv[i].GetOkras(str1); zv[i + 1].GetOkras(str2);

if (strcmp(str1, str2) == 1){ buf = zv[i]; zv[i] = zv[i + 1]; zv[i + 1] = buf; p = true; }

}

}

break;

case '7':

p = true;

while (p){

p = false;

int ch1, ch2;

for (int i = 0; i < kolzv - 1; i++){

zv[i].GetVozrast(ch1); zv[i + 1].GetVozrast(ch2);

if (ch1 > ch2){ buf = zv[i]; zv[i] = zv[i + 1]; zv[i + 1] = buf; p = true; }

}

}

break;

case '9':

ex = false;

break;

default:

break;

}

}

}

 

void baza::Add()

{

//

//1- , 2-

bool p = true;

char add;

system("cls");

MenuObshee();

while (p)

{

add = _getch();

switch (add)

{

case '1':

{

if (kolzv < maxzv) //

{

zver bufzv(0); // ,

zv[kolzv] = bufzv;

kolzv++;

system("cls");

MenuObshee();

}

else

{

cout << "Dostignuto maximalnoe kol-vo zvashnih koshek";

}

break;

}

case '2':

{

if (kolpt < maxpt) //

{

ptic bufpt(0);// ,

pt[kolpt] = bufpt;

kolpt++;

system("cls");

MenuObshee();

}

else

{

cout << "Dostignuto maximalnoe kol-vo ptih koshek";

}

break;

}

case '9':

p = false;

break;

default:

break;

}

}

}

 

void baza::Delet()

{

//

//1- 2-

bool p = true;

char del;

system("cls");

MenuObshee();

while (p)

{

del = _getch();

switch (del)

{

case '1':

cout << endl << "Vvedite nomer zver";

int nomt; //

cin >> nomt;

if ((nomt > 0) && (nomt <= kolzv))//,

{

for (int i = nomt; i < kolzv; i++)

zv[i - 1] = zv[i];

kolzv--;//

system("cls");

MenuObshee();

}

else

cout << "Takogo nomera netu";

break;

case '2':

cout << endl << "Vvedite nomer ptic";

int nomk;

cin >> nomk;

if ((nomk > 0) && (nomk <= kolpt))

{

for (int i = nomk; i < kolpt; i++)

pt[i - 1] = pt[i];

kolpt--;

system("cls");

MenuObshee();

}

else

cout << "Takogo nomera netu";

break;

case '9':

p = false;

break;

default:

break;

}

}

}

 

func.h


#define _CRT_SECURE_NO_DEPRECATE

#include <iostream>

#include <stdio.h>

#include <iomanip>

#include <process.h>

#include <conio.h>

#include <string.h>

 

using namespace std;

 

class zhivotnoe

{

protected:

char name[15];

char razmer[15];

char pol[3];

char semeistvo[20];

public:

zhivotnoe();

void verh();

void GetName(char buf[]);

void GetRazmer(char buf[]);

void GetPol(char buf[]);

void GetSemeistvo(char buf[]);

void SetName(char buf[]);

void SetRazmer(char buf[]);

void SetPol(char buf[]);

void SetSemeistvo(char buf[]);

};

class zver: public zhivotnoe

{

private:

char poroda[20];

char okras[10];

int vozrast;

public:

zver();

zver(int s);

zver(FILE *file);

void vivod();

void ZapisF(FILE *file);

void Setvozrast();

void GetPoroda(char buf[]);

void GetOkras(char buf[]);

void GetVozrast(int &buf);

void SetPoroda(char buf[]);

void SetOkras(char buf[]);

void SetVozrast(int &buf);

};

class ptic: public zhivotnoe

{

protected:

char arealobitania[20];

int chislennostSemeistvoa;

int ves;

public:

ptic();

ptic(int s);

ptic(FILE *file);

void vivod();

void ZapisF(FILE *file);

void GetAreal(char buf[]);

void GetChisl(int &buf);

void GetVes(int &buf);

void SetAreal(char buf[]);

void SetChisl(int buf);

void SetVes(int buf);

};

class baza

{

protected:

zver* zv;

ptic* pt;

int kolzv;

int kolpt;

int maxzv;

int maxpt;

public:

baza();

void vivodzv();

void vivodpt();

void Filtr1();

void Edit();

void Edit2();

void Edit3();

void WriteToFile();

void Sortzv();

void Sortpt();

void Add();

void Delet();

};

void Menu();

void Menu2();

void MenuObshee();

void Menuzv();

void Menupt();


 

 



<== | ==>
, |
:


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


:

:

, .
==> ...

826 - | 666 -


© 2015-2024 lektsii.org - -

: 0.845 .