Пример9: Классы: различия между версиями

Материал из wiki.nntc.nnov.ru
Перейти к навигации Перейти к поиску
(Новая: <nowiki>#include <iostream> using namespace std; class Person{ public: Person(){} ~Person(){} string GetFamiliya(){ return persFamiliya...)
 
 
Строка 1: Строка 1:
<nowiki>#include <iostream>
+
#include <iostream>
using namespace std;
+
using namespace std;
 
+
class Person{
class Person{
+
public:
 
+
        Person(){}     
public:
+
        ~Person(){}                  
        Person(){}     
+
        string GetFamiliya(){ return persFamiliya;}
        ~Person(){}  
+
        string GetName(){ return persName;}
       
+
        string GetData(){ return persData;}
       
+
        string GetTelefon(){ return persTelefon;}      
        string GetFamiliya(){ return persFamiliya;}
+
        void SetFamiliya(string fam){ persFamiliya=fam;}
        string GetName(){ return persName;}
+
        void SetName(string name){ persName=name;}
        string GetData(){ return persData;}
+
        void SetData(string data){ persData=data;}
        string GetTelefon(){ return persTelefon;}
+
        void SetTelefon(string tel){ persTelefon=tel;}      
 
+
        void Print();      
       
+
private:
        void SetFamiliya(string fam){ persFamiliya=fam;}
+
        string persFamiliya;
        void SetName(string name){ persName=name;}
+
        string persName;
        void SetData(string data){ persData=data;}
+
        string persData;
        void SetTelefon(string tel){ persTelefon=tel;}
+
        string persTelefon;      
 
+
};
       
+
void Person::Print(){
        void Print();
+
        cout<<"Familiya: "<<persFamiliya.c_str()<<endl
       
+
                <<"Im'a: "<<persName.c_str()<<endl
private:
+
                <<"Data rojdeniya: "<<persData.c_str()<<endl
        string persFamiliya;
+
                <<"Telefon: "<<persTelefon.c_str()<<endl;
        string persName;
+
}
        string persData;
+
#include <string>
        string persTelefon;
+
#include <vector>
       
+
void PrintMenu();         
};
+
void PrintAll();         
 
+
void SortPerson();       
 
+
void FindPerson();       
void Person::Print(){
+
void AddPerson();         
        cout<<"Familiya: "<<persFamiliya.c_str()<<endl
+
void DeletePerson();     
                <<"Im'a: "<<persName.c_str()<<endl
+
int GetNumber(int imin, int imax);
                <<"Data rojdeniya: "<<persData.c_str()<<endl
+
vector <Person> pers;  
                <<"Telefon: "<<persTelefon.c_str()<<endl;
+
int main(){
}
+
        bool exit=false;
 
+
        while(true){
#include <string>
+
                PrintMenu();
#include <vector>
+
                switch(GetNumber(1,6)){
 
+
                case 1: PrintAll(); break;
 
+
                case 2: SortPerson(); break;
 
+
                case 3: FindPerson(); break;
 
+
                case 4: AddPerson(); break;
void PrintMenu();         
+
                case 5: DeletePerson(); break;
void PrintAll();         
+
                case 6: exit=true; break;
void SortPerson();       
+
                }
void FindPerson();       
+
                if(exit)
void AddPerson();         
+
                        break;
void DeletePerson();     
+
        }
int GetNumber(int imin, int imax);
+
        return 0;
 
+
}
vector <Person> pers;
+
void PrintMenu(){
 
+
        cout<<endl
int main(){
+
                <<"--------------------  men'u  --------------------"<<endl
        bool exit=false;
+
                <<"1 - Pokazat' vse zapisi"<<endl
        while(true){
+
                <<"2 - Sortirovat' zapisi"<<endl
                PrintMenu();
+
                <<"3 - Nayti zapis'"<<endl
                switch(GetNumber(1,6)){
+
                <<"4 - Dobavit' zapis'"<<endl
                case 1: PrintAll(); break;
+
                <<"5 - Udalit' zapis'"<<endl
                case 2: SortPerson(); break;
+
                <<"6 - Vyhod"<<endl
                case 3: FindPerson(); break;
+
                <<"-------------------------------------------------" << endl;
                case 4: AddPerson(); break;
+
}
                case 5: DeletePerson(); break;
+
void PrintAll(){
                case 6: exit=true; break;
+
        cout<<"---------------  vse zapisi  --------------------\n";
                }
+
        for(int n=0; n<pers.size(); n++){
                if(exit)
+
                cout<<"\n- Zapis' N "<<n+1<<" -\n";
                        break;
+
                pers[n].Print();
        }
+
        }
        return 0;
+
        cout<<"-------------------------------------------------\n";
}
+
}
 
+
int GetNumber(int imin, int imax){
 
+
        int number=imin-1;
void PrintMenu(){
+
        while(true){
        cout<<endl
+
                cin >> number;
                <<"--------------------  men'u  --------------------"<<endl
+
                if((number>=imin) && (number <=imax) && (cin.peek()=='\n'))
                <<"1 - Pokazat' vse zapisi"<<endl
+
                        break;
                <<"2 - Sortirovat' zapisi"<<endl
+
                else{
                <<"3 - Nayti zapis'"<<endl
+
                        cout << "Povtorite vvod (ojidaets'a chislo ot " << imin << " do " << imax << "):" << endl;
                <<"4 - Dobavit' zapis'"<<endl
+
                        cin.clear();
                <<"5 - Udalit' zapis'"<<endl
+
                        while(cin.get()!='\n'){}
                <<"6 - Vyhod"<<endl
+
                }
                <<"-------------------------------------------------" << endl;
+
        }
}
+
        return number;
 
+
}
 
+
int GetNumber(int imin, int imax);
void PrintAll(){
+
void SortPerson() {
        cout<<"---------------  vse zapisi  --------------------\n";
+
        cout<<"---------------  sortirovka  --------------------\n";
        for(int n=0; n<pers.size(); n++){
+
        cout<<"Sortirovka po pol'u\n";
                cout<<"\n- Zapis' N "<<n+1<<" -\n";
+
        cout<<" 1 - Familiya\n"
                pers[n].Print();
+
            <<" 2 - Im'a\n"
        }
+
            <<" 3 - Telefon\n"
        cout<<"-------------------------------------------------\n";
+
            <<" 4 - Exit\n";
}
+
            int vybor=GetNumber(1,4);
 
+
       
 
+
                switch(vybor){
int GetNumber(int imin, int imax){
+
                case 1:{
        int number=imin-1;
+
                        int n, i, k, dl;
        while(true){
+
                        for(n=0; n<=pers.size()-1; n++) {
                cin >> number;
+
                                dl=pers[n].GetFamiliya().size();
                if((number>=imin) && (number <=imax) && (cin.peek()=='\n'))
+
                                for (i=n+1; i<pers.size(); i++)
                        break;
+
                                        for (k=dl; k>=0; k--)
                else{
+
                                                if (pers[i].GetFamiliya()[k]<pers[n].GetFamiliya()[k]) {
                        cout << "Povtorite vvod (ojidaets'a chislo ot " << imin << " do " << imax << "):" << endl;
+
                                                        Person buf=pers[n];
                        cin.clear();
+
                                                        pers[n]=pers[i];
                        while(cin.get()!='\n'){}
+
                                                        pers[i]=buf;
                }
+
                                                }                       
        }
+
                        cout<<"\n- Zapis' N "<<n+1<<" -\n";
        return number;
+
                        pers[n].Print();
}
+
                        }
 
+
                            }
 
+
                        break;           
int GetNumber(int imin, int imax);
+
                case 2:{
void SortPerson() {
+
                        int n, i, k, dl;
        cout<<"---------------  sortirovka  --------------------\n";
+
                        for(n=0; n<=pers.size()-1; n++) {
        cout<<"Sortirovka po pol'u\n";
+
                                dl=pers[n].GetName().size();
        cout<<" 1 - Familiya\n"
+
                                for (i=n+1; i<pers.size(); i++)
            <<" 2 - Im'a\n"
+
                                        for (k=dl; k>=0; k--)
            <<" 3 - Telefon\n"
+
                                                if (pers[i].GetName()[k]<pers[n].GetName()[k]) {
            <<" 4 - Exit\n";
+
                                                        Person buf=pers[n];
            int vybor=GetNumber(1,4);
+
                                                        pers[n]=pers[i];
       
+
                                                        pers[i]=buf;
                switch(vybor){
+
                                                }
                case 1:{
+
                        cout<<"\n- Zapis' N "<<n+1<<" -\n";
                        int n, i, k, dl;
+
                        pers[n].Print();
                        for(n=0; n<=pers.size()-1; n++) {
+
                        }
                                dl=pers[n].GetFamiliya().size();
+
                            }
                                for (i=n+1; i<pers.size(); i++)
+
                        break;      
                                        for (k=dl; k>=0; k--)
+
                case 3:{
                                                if (pers[i].GetFamiliya()[k]<pers[n].GetFamiliya()[k]) {
+
                        int n, i, k, dl;
                                                        Person buf=pers[n];
+
                        for(n=0; n<=pers.size()-1; n++) {
                                                        pers[n]=pers[i];
+
                                dl=pers[n].GetTelefon().size();
                                                        pers[i]=buf;
+
                                for (i=n+1; i<pers.size(); i++)
                                                }                       
+
                                        for (k=dl; k>=0; k--)
                        cout<<"\n- Zapis' N "<<n+1<<" -\n";
+
                                                if (pers[i].GetTelefon()[k]>pers[n].GetTelefon()[k]) {
                        pers[n].Print();
+
                                                        Person buf=pers[n];
                        }
+
                                                        pers[n]=pers[i];
                          }
+
                                                        pers[i]=buf;
                        break;           
+
                                                }
                case 2:{
+
                        cout<<"\n- Zapis' N "<<n+1<<" -\n";
                        int n, i, k, dl;
+
                        pers[n].Print();
                        for(n=0; n<=pers.size()-1; n++) {
+
                        }
                                dl=pers[n].GetName().size();
+
                            }
                                for (i=n+1; i<pers.size(); i++)
+
                        break;
                                        for (k=dl; k>=0; k--)
+
                case 4:{
                                                if (pers[i].GetName()[k]<pers[n].GetName()[k]) {
+
                        break;
                                                        Person buf=pers[n];
+
                            }
                                                        pers[n]=pers[i];
+
                }
                                                        pers[i]=buf;
+
        cout<<"-------------------  gotovo  --------------------\n";
                                                }
+
}
                        cout<<"\n- Zapis' N "<<n+1<<" -\n";
+
void FindPerson(){
                        pers[n].Print();
+
        cout<<"---------------  poisk zapisi  ------------------\n";
                        }
+
        cout<<"Vyberite kriteriy poiska\n";
                          }
+
        cout<<" 1 - Familiya\n"
                        break;
+
            <<" 2 - Im'a\n"
       
+
            <<" 3 - Data rojdeniya\n"
                case 3:{
+
            <<" 4 - Telefon\n"
                        int n, i, k, dl;
+
            <<" 5 - Exit\n";
                        for(n=0; n<=pers.size()-1; n++) {
+
        int vybor=GetNumber(1,5);
                                dl=pers[n].GetTelefon().size();
+
                switch(vybor){
                                for (i=n+1; i<pers.size(); i++)
+
                case 1:{
                                        for (k=dl; k>=0; k--)
+
                        bool find=false;
                                                if (pers[i].GetTelefon()[k]>pers[n].GetTelefon()[k]) {
+
                        string sbuf;
                                                        Person buf=pers[n];
+
                        cout<<"Vvedite familiyu: ";
                                                        pers[n]=pers[i];
+
                        cin>>sbuf;
                                                        pers[i]=buf;
+
                        int n=0;
                                                }
+
                        while(n<pers.size()){
                        cout<<"\n- Zapis' N "<<n+1<<" -\n";
+
                                if(sbuf==pers[n].GetFamiliya()) {
                        pers[n].Print();
+
                                        pers[n].Print();
                        }
+
                                        find=true;
                          }
+
                                        break;}
                        break;
+
                                else
                case 4:{
+
                                        n++;
                        break;
+
                        }
                          }
+
                        if (find==false) cout<<"Net takoy zapisi\n";
                }
+
                        cout<<"-----------------------------------\n";
        cout<<"-------------------  gotovo  --------------------\n";
+
                        break;
}
+
                            }
 
+
                case 2:{
 
+
                        bool find=false;
void FindPerson(){
+
                        string sbuf;
        cout<<"---------------  poisk zapisi  ------------------\n";
+
                        cout<<"Vvedite im'a: ";
        cout<<"Vyberite kriteriy poiska\n";
+
                        cin>>sbuf;
        cout<<" 1 - Familiya\n"
+
                        int n=0;
            <<" 2 - Im'a\n"
+
                        while(n<pers.size()){
            <<" 3 - Data rojdeniya\n"
+
                                if(sbuf==pers[n].GetName()) {
            <<" 4 - Telefon\n"
+
                                        pers[n].Print();
            <<" 5 - Exit\n";
+
                                        find=true;
        int vybor=GetNumber(1,5);
+
                                        break;}
                switch(vybor){
+
                                else
                case 1:{
+
                                        n++;
                        bool find=false;
+
                        }
                        string sbuf;
+
                        if (find==false) cout<<"Net takoy zapisi\n";
                        cout<<"Vvedite familiyu: ";
+
                        cout<<"-----------------------------------\n";
                        cin>>sbuf;
+
                        break;
                        int n=0;
+
                            }            
                        while(n<pers.size()){
+
                case 3:{
                                if(sbuf==pers[n].GetFamiliya()) {
+
                        bool find=false;
                                        pers[n].Print();
+
                        string sbuf;
                                        find=true;
+
                        cout<<"Vvedite datu rojdeniya: ";
                                        break;}
+
                        cin>>sbuf;
                                else
+
                        int n=0;
                                        n++;
+
                        while(n<pers.size()){
                        }
+
                                if(sbuf==pers[n].GetData()) {
                        if (find==false) cout<<"Net takoy zapisi\n";
+
                                        pers[n].Print();
                        cout<<"-----------------------------------\n";
+
                                        find=true;
                        break;
+
                                        break;}
                          }
+
                                else
                case 2:{
+
                                        n++;
                        bool find=false;
+
                        }
                        string sbuf;
+
                        if (find==false) cout<<"Net takoy zapisi\n";
                        cout<<"Vvedite im'a: ";
+
                        cout<<"-----------------------------------\n";
                        cin>>sbuf;
+
                        break;
                        int n=0;
+
                                }
                        while(n<pers.size()){
+
                case 4:{
                                if(sbuf==pers[n].GetName()) {
+
                        bool find=false;
                                        pers[n].Print();
+
                        string sbuf;
                                        find=true;
+
                        cout<<"Vvedite telefon: ";
                                        break;}
+
                        cin>>sbuf;
                                else
+
                        int n=0;
                                        n++;
+
                        while(n<pers.size()){
                        }
+
                                if(sbuf==pers[n].GetTelefon()) {
                        if (find==false) cout<<"Net takoy zapisi\n";
+
                                        pers[n].Print();
                        cout<<"-----------------------------------\n";
+
                                        find=true;
                        break;
+
                                        break;}
                          }
+
                                else
               
+
                                        n++;
                case 3:{
+
                        }
                        bool find=false;
+
                        if (find==false) cout<<"Net takoy zapisi";
                        string sbuf;
+
                        cout<<"-----------------------------------\n";
                        cout<<"Vvedite datu rojdeniya: ";
+
                        break;
                        cin>>sbuf;
+
                                }
                        int n=0;
+
                case 6:{
                        while(n<pers.size()){
+
                        break;
                                if(sbuf==pers[n].GetData()) {
+
                            }
                                        pers[n].Print();
+
                }
                                        find=true;
+
        cout<<"-------------------  gotovo  --------------------\n";
                                        break;}
+
}
                                else
+
void AddPerson(){
                                        n++;
+
        string sbuf;
                        }
+
        Person bufPers;
                        if (find==false) cout<<"Net takoy zapisi\n";
+
        cout<<endl
                        cout<<"-----------------------------------\n";
+
                <<"----------------  novaya zapis' ----------------\n"
                        break;
+
                <<"Familiya: ";
                                }
+
        cin>>sbuf;
                case 4:{
+
        bufPers.SetFamiliya(sbuf);  
                        bool find=false;
+
        cout<<endl
                        string sbuf;
+
                <<"Im'a: ";
                        cout<<"Vvedite telefon: ";
+
        cin>>sbuf;
                        cin>>sbuf;
+
        bufPers.SetName(sbuf);
                        int n=0;
+
        cout<<endl
                        while(n<pers.size()){
+
                <<"Data rojdeniya: ";
                                if(sbuf==pers[n].GetTelefon()) {
+
        cin>>sbuf;
                                        pers[n].Print();
+
        bufPers.SetData(sbuf);  
                                        find=true;
+
        cout<<endl
                                        break;}
+
                <<"Telefon:";
                                else
+
        cin>>sbuf;
                                        n++;
+
        bufPers.SetTelefon(sbuf);
                        }
+
        pers.push_back(bufPers);
                        if (find==false) cout<<"Net takoy zapisi";
+
        cout<<"-------------------  gotovo  --------------------\n";
                        cout<<"-----------------------------------\n";
+
}
                        break;
+
void DeletePerson(){
                                }
+
        string sbuf;
                case 6:{
+
        cout<<"----------------  udalenie zapisi ---------------\n";
                        break;
+
        cout<<"Vvedite familiyu: ";
                          }
+
        cin>>sbuf;  
                }
+
        int n=0;
        cout<<"-------------------  gotovo  --------------------\n";
+
        bool find=false;
 
+
        while(n<pers.size()){
}
+
                if(sbuf==pers[n].GetFamiliya()){
 
+
                        pers[n].Print();
 
+
                        find=true;
void AddPerson(){
+
                        pers.erase(pers.begin()+n);
        string sbuf;
+
                        cout<<endl;
        Person bufPers;
+
                }
        cout<<endl
+
                else             
                <<"----------------  novaya zapis' ----------------\n"
+
                        n++;
                <<"Familiya: ";
+
        }
        cin>>sbuf;
+
        if (find==false) cout<<"Net takoy zapisi\n";     
        bufPers.SetFamiliya(sbuf);
+
        cout<<"-------------------  gotovo  --------------------\n";
 
+
}
        cout<<endl
 
                <<"Im'a: ";
 
        cin>>sbuf;
 
        bufPers.SetName(sbuf);
 
 
 
        cout<<endl
 
                <<"Data rojdeniya: ";
 
        cin>>sbuf;
 
        bufPers.SetData(sbuf);
 
 
 
        cout<<endl
 
                <<"Telefon:";
 
        cin>>sbuf;
 
        bufPers.SetTelefon(sbuf);
 
 
 
        pers.push_back(bufPers);
 
        cout<<"-------------------  gotovo  --------------------\n";
 
}
 
 
 
 
 
void DeletePerson(){
 
        string sbuf;
 
        cout<<"----------------  udalenie zapisi ---------------\n";
 
        cout<<"Vvedite familiyu: ";
 
        cin>>sbuf;
 
 
 
        int n=0;
 
        bool find=false;
 
        while(n<pers.size()){
 
                if(sbuf==pers[n].GetFamiliya()){
 
                        pers[n].Print();
 
                        find=true;
 
                        pers.erase(pers.begin()+n);
 
                        cout<<endl;
 
                }
 
                else             
 
                        n++;
 
        }
 
        if (find==false) cout<<"Net takoy zapisi\n";     
 
        cout<<"-------------------  gotovo  --------------------\n";
 
}
 
</nowiki>
 

Текущая версия на 09:29, 14 января 2009

#include <iostream>
using namespace std;
class Person{
public:
        Person(){}    
        ~Person(){}                   
        string GetFamiliya(){ return persFamiliya;}
        string GetName(){ return persName;}
        string GetData(){ return persData;}
        string GetTelefon(){ return persTelefon;}       
        void SetFamiliya(string fam){ persFamiliya=fam;}
        void SetName(string name){ persName=name;}
        void SetData(string data){ persData=data;}
        void SetTelefon(string tel){ persTelefon=tel;}       
        void Print();        
private:
        string persFamiliya;
        string persName;
        string persData;
        string persTelefon;        
};
void Person::Print(){
        cout<<"Familiya: "<<persFamiliya.c_str()<<endl
                <<"Im'a: "<<persName.c_str()<<endl
                <<"Data rojdeniya: "<<persData.c_str()<<endl
                <<"Telefon: "<<persTelefon.c_str()<<endl;
}
#include <string>
#include <vector>
void PrintMenu();        
void PrintAll();         
void SortPerson();       
void FindPerson();       
void AddPerson();        
void DeletePerson();     
int GetNumber(int imin, int imax);
vector <Person> pers; 
int main(){
        bool exit=false;
        while(true){
                PrintMenu();
                switch(GetNumber(1,6)){
                case 1: PrintAll(); break;
                case 2: SortPerson(); break;
                case 3: FindPerson(); break;
                case 4: AddPerson(); break;
                case 5: DeletePerson(); break;
                case 6: exit=true; break;
                }
                if(exit)
                        break;
        }
        return 0;
}
void PrintMenu(){
        cout<<endl
                <<"--------------------  men'u  --------------------"<<endl
                <<"1 - Pokazat' vse zapisi"<<endl
                <<"2 - Sortirovat' zapisi"<<endl
                <<"3 - Nayti zapis'"<<endl
                <<"4 - Dobavit' zapis'"<<endl
                <<"5 - Udalit' zapis'"<<endl
                <<"6 - Vyhod"<<endl
                <<"-------------------------------------------------" << endl;
}
void PrintAll(){
        cout<<"---------------  vse zapisi  --------------------\n";
        for(int n=0; n<pers.size(); n++){
                cout<<"\n- Zapis' N "<<n+1<<" -\n";
                pers[n].Print();
        }
        cout<<"-------------------------------------------------\n";
}
int GetNumber(int imin, int imax){
        int number=imin-1;
        while(true){
                cin >> number;
                if((number>=imin) && (number <=imax) && (cin.peek()=='\n'))
                        break;
                else{
                        cout << "Povtorite vvod (ojidaets'a chislo ot " << imin << " do " << imax << "):" << endl;
                        cin.clear();
                        while(cin.get()!='\n'){}
                }
        }
        return number;
}
int GetNumber(int imin, int imax);
void SortPerson() {
        cout<<"---------------  sortirovka  --------------------\n";
        cout<<"Sortirovka po pol'u\n";
        cout<<" 1 - Familiya\n"
            <<" 2 - Im'a\n"
            <<" 3 - Telefon\n"
            <<" 4 - Exit\n";
            int vybor=GetNumber(1,4);
        
                switch(vybor){
                case 1:{
                        int n, i, k, dl;
                        for(n=0; n<=pers.size()-1; n++) {
                                dl=pers[n].GetFamiliya().size();
                                for (i=n+1; i<pers.size(); i++)
                                        for (k=dl; k>=0; k--)
                                                if (pers[i].GetFamiliya()[k]<pers[n].GetFamiliya()[k]) {
                                                        Person buf=pers[n];
                                                        pers[n]=pers[i];
                                                        pers[i]=buf;
                                                }                       
                        cout<<"\n- Zapis' N "<<n+1<<" -\n";
                        pers[n].Print();
                        }
                           }
                        break;          
                case 2:{
                        int n, i, k, dl;
                        for(n=0; n<=pers.size()-1; n++) {
                                dl=pers[n].GetName().size();
                                for (i=n+1; i<pers.size(); i++)
                                        for (k=dl; k>=0; k--)
                                                if (pers[i].GetName()[k]<pers[n].GetName()[k]) {
                                                        Person buf=pers[n];
                                                        pers[n]=pers[i];
                                                        pers[i]=buf;
                                                }
                        cout<<"\n- Zapis' N "<<n+1<<" -\n";
                        pers[n].Print();
                        }
                           }
                        break;        
                case 3:{
                        int n, i, k, dl;
                        for(n=0; n<=pers.size()-1; n++) {
                                dl=pers[n].GetTelefon().size();
                                for (i=n+1; i<pers.size(); i++)
                                        for (k=dl; k>=0; k--)
                                                if (pers[i].GetTelefon()[k]>pers[n].GetTelefon()[k]) {
                                                        Person buf=pers[n];
                                                        pers[n]=pers[i];
                                                        pers[i]=buf;
                                                }
                        cout<<"\n- Zapis' N "<<n+1<<" -\n";
                        pers[n].Print();
                        }
                           }
                        break;
                case 4:{
                        break;
                           }
                }
        cout<<"-------------------  gotovo  --------------------\n";
}
void FindPerson(){
        cout<<"---------------  poisk zapisi  ------------------\n";
        cout<<"Vyberite kriteriy poiska\n";
        cout<<" 1 - Familiya\n"
            <<" 2 - Im'a\n"
            <<" 3 - Data rojdeniya\n"
            <<" 4 - Telefon\n"
            <<" 5 - Exit\n";
        int vybor=GetNumber(1,5);
                switch(vybor){
                case 1:{
                        bool find=false;
                        string sbuf;
                        cout<<"Vvedite familiyu: ";
                        cin>>sbuf;
                        int n=0;
                        while(n<pers.size()){
                                if(sbuf==pers[n].GetFamiliya()) {
                                        pers[n].Print();
                                        find=true;
                                        break;}
                                else
                                        n++;
                        }
                        if (find==false) cout<<"Net takoy zapisi\n";
                        cout<<"-----------------------------------\n";
                        break;
                           }
                case 2:{
                        bool find=false;
                        string sbuf;
                        cout<<"Vvedite im'a: ";
                        cin>>sbuf;
                        int n=0;
                        while(n<pers.size()){
                                if(sbuf==pers[n].GetName()) {
                                        pers[n].Print();
                                        find=true;
                                        break;}
                                else
                                        n++;
                        }
                        if (find==false) cout<<"Net takoy zapisi\n";
                        cout<<"-----------------------------------\n";
                        break;
                           }              
                case 3:{
                        bool find=false;
                        string sbuf;
                        cout<<"Vvedite datu rojdeniya: ";
                        cin>>sbuf;
                        int n=0;
                        while(n<pers.size()){
                                if(sbuf==pers[n].GetData()) {
                                        pers[n].Print();
                                        find=true;
                                        break;}
                                else
                                        n++;
                        }
                        if (find==false) cout<<"Net takoy zapisi\n";
                        cout<<"-----------------------------------\n";
                        break;
                                }
                case 4:{
                        bool find=false;
                        string sbuf;
                        cout<<"Vvedite telefon: ";
                        cin>>sbuf;
                        int n=0;
                        while(n<pers.size()){
                                if(sbuf==pers[n].GetTelefon()) {
                                        pers[n].Print();
                                        find=true;
                                        break;}
                                else
                                        n++;
                        }
                        if (find==false) cout<<"Net takoy zapisi";
                        cout<<"-----------------------------------\n";
                        break;
                                }
                case 6:{
                        break;
                           }
                }
        cout<<"-------------------  gotovo  --------------------\n";
}
void AddPerson(){
        string sbuf;
        Person bufPers;
        cout<<endl
                <<"----------------  novaya zapis' ----------------\n"
                <<"Familiya: ";
        cin>>sbuf;
        bufPers.SetFamiliya(sbuf); 
        cout<<endl
                <<"Im'a: ";
        cin>>sbuf;
        bufPers.SetName(sbuf);
        cout<<endl
                <<"Data rojdeniya: ";
        cin>>sbuf;
        bufPers.SetData(sbuf); 
        cout<<endl
                <<"Telefon:";
        cin>>sbuf;
        bufPers.SetTelefon(sbuf);
        pers.push_back(bufPers);
        cout<<"-------------------  gotovo  --------------------\n";
}
void DeletePerson(){
        string sbuf;
        cout<<"----------------  udalenie zapisi ---------------\n";
        cout<<"Vvedite familiyu: ";
        cin>>sbuf; 
        int n=0;
        bool find=false;
        while(n<pers.size()){
                if(sbuf==pers[n].GetFamiliya()){
                        pers[n].Print();
                        find=true;
                        pers.erase(pers.begin()+n);
                        cout<<endl;
                }
                else            
                        n++;
        }
        if (find==false) cout<<"Net takoy zapisi\n";    
        cout<<"-------------------  gotovo  --------------------\n";
}