实现的功能如下:
- 增加电话号码;
- 删除电话号码;
- 显示电话号码信息;
- 查找(按手机号码、按联系人);
- 修改(修改联系人信息);
- 其他功能(自行设计)。
-
#include<iostream> #include<algorithm> #include<string.h> #include<iomanip> #include<stdlib.h> #include<vector> #include<fstream> #include<windows.h> using namespace std; class People{ public: void toString(); void SetName(char n[]); void Setid(int id); void SetSex(char sex[]); void SetNumber(char num[]); void SetAge(int age); string GetName(); int Getid(); string GetSex(); string GetNum(); int GetAge(); People(char na[],int id,char s[],char n[],int age); People(){} ~People(){} protected: char name[20]; //名字 int id; //编号 char sex[10]; //性别 char num[20]; //电话号码 int age; //年龄 }; class Manager{ public: void Add(); int Delete(); void Display(); void Modify(); void Search(); void ExitSystem(); void Sort(); private: vector<People> p; }; People::People(char na[],int id,char s[],char n[],int age) { strcpy(name,na); this->id=id; strcpy(sex,s); strcpy(num,n); this->age=age; } void People::toString() { cout<<"编号"<<"\t"<<"姓名"<<"\t"<<"性别"<<"\t"<<"电话号码"<<"\t"<<"年龄"<<endl; cout<<id<<"\t"<<name<<"\t"<<sex<<"\t"<<num<<"\t"<<age<<endl; } void People::SetName(char n[]) { strcpy(name,n); } void People::Setid(int id) { this->id=id; } void People::SetSex(char s[]) { strcpy(sex,s); } void People::SetNumber(char n[]) { strcpy(num,n); } void People::SetAge(int age) { this->age=age; } string People::GetName() { return name; } int People::Getid() { return id; } string People::GetSex() { return sex; } string People::GetNum() { return num; } int People::GetAge() { return age; } void Manager::ExitSystem() { cout<<"谢谢使用!"; exit(0); } void Manager::Add() { char name[20]; int id; char sex[10]; char num[20]; long age; cout<<"请输入姓名:"; cin>>name; cout<<"请输入编号:"; cin>>id; cout<<"请输入性别:"; cin>>sex; cout<<"请输入电话号码:"; cin>>num; cout<<"请输入年龄:"; cin>>age; People m(name,id,sex,num,age); p.push_back(m); cout<<"添加成功!!!"<<endl; } int Manager::Delete() { if(p.empty()) { cout<<"Empty!"<<endl; return 0; }else { char name1[20]; cout<<"请输入需要删除的联系人姓名:"; cin>>name1; for(int i=0;i<p.size();i++) { if(name1==p[i].GetName()) { p.erase(p.begin()+i); i--; cout<<"删除成功!"<<endl; return 1; } } } cout<<"未找到该联系人"<<endl; return 0; } void Manager::Search() { if(p.empty()) { cout<<"Empty!"<<endl; return; } cout<<"1.按手机号码查找按联系人"<<endl; cout<<"2.按联系人查找"<<endl; int m; cin>>m; if(m==1) { char number[20]; cout<<"请输入要查找的电话号码:"; cin>>number; for(int i=0;i<p.size();i++) { if(p[i].GetNum()==number) p[i].toString(); } }else if(m==2) { char name[20]; cout<<"请输入要查找的姓名:"; cin>>name; for(int i=0;i<p.size();i++) { if(p[i].GetName()==name) p[i].toString(); } }else cout<<"输入有误,请重新输入"<<endl; } void Manager::Modify() { if(p.empty()) { cout<<"Empty!"<<endl; return; } cout<<"请输入该联系人姓名:"; char name[20]; cin>>name; for(int i=0;i<p.size();i++) { if(p[i].GetName()==name) { cout<<"请问您想修改什么信息??"<<endl; cout<<"1.年龄"<<endl; cout<<"2.性别"<<endl; cout<<"3.电话号码"<<endl; cout<<"4.编号"<<endl; int m; cin>>m; if(m==1) { int age; cout<<"请输入修改后的年龄:"; cin>>age; p[i].SetAge(age); cout<<"修改成功!"<<endl; }else if(m==2) { char sex[10]; cout<<"请输入修改后的性别:"; cin>>sex; p[i].SetSex(sex); cout<<"修改成功!"<<endl; }else if(m==3) { char number[20]; cout<<"请输入修改后的电话号码:"; cin>>number; p[i].SetNumber(number); cout<<"修改成功!"<<endl; }else if(m==4) { int id; cout<<"请输入修改后的编号"; cin>>id; p[i].Setid(id); cout<<"修改成功"<<endl; }else cout<<"输入有误,请检查!"<<endl; } } } void Manager::Display() { if(p.empty()) { return; } else { cout<<"编号"<<"\t"<<"姓名"<<"\t"<<"性别"<<"\t"<<"电话号码"<<"\t"<<"年龄"<<endl; for(int i=0;i<p.size();i++) { cout<<p[i].Getid()<<"\t"<<p[i].GetName()<<"\t"<<p[i].GetSex()<<"\t"<<p[i].GetNum()<<"\t"<<p[i].GetAge()<<endl; } } } void Manager::Sort() { if(p.empty()) { cout<<"Empty!"<<endl; return; } int i,j; People g; for(i=0;i<p.size()-1;i++) { for(j=i+1;j<p.size();j++) { if(p[i].Getid()>p[j].Getid()) { g=p[j]; p[j]=p[i]; p[i]=g; } } } cout<<"排序成功!下面是排序结果"<<endl; } void menu() { cout<<"**********电话号码簿管理系统**********"<<endl<<endl; cout<<"1.增加电话号码"<<endl<<endl; cout<<"2.删除电话号码"<<endl<<endl; cout<<"3.显示联系人信息"<<endl<<endl; cout<<"4.查找联系人"<<endl<<endl; cout<<"5.修改联系人信息"<<endl<<endl; cout<<"6.根据编号排序并输出"<<endl<<endl; cout<<"7.退出管理系统"<<endl<<endl; cout<<"请输入你的选择:"; } void HideCursor() { CONSOLE_CURSOR_INFO cursor_info = {1, 0}; SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cursor_info); } int main() { system("color F9"); menu(); int m; Manager mysystem; do{ system("cls"); menu(); cin>>m; switch(m) { case 1: mysystem.Add(); system("pause"); break; case 2: mysystem.Delete(); system("pause"); break; case 3: mysystem.Display(); system("pause"); break; case 4: mysystem.Search(); system("pause"); break; case 5: mysystem.Modify(); system("pause"); break; case 6: mysystem.Sort(); mysystem.Display(); system("pause"); break; case 7: mysystem.ExitSystem(); break; default: cout<<"输入有误!请检查"<<endl; system("pause"); break; } }while(m!=-1); return 0; }