//Comms.cpp
#include<string>
#include<iostream>
#include "Comms.h"
Comms::Comms(int up)//构造函数
{
int i,tc;
cout<<"请输入电话数目:";
cin>>tc;
maxCount = up;
pCe = new CommEntry[maxCount]{};
count = 0;
for(i=0;i<maxCount;i++)
{
pCe[i]=tc;
}
}
Comms::~Comms()//析构函数
{
delete []pCe;
}
void Comms:: inputAll()
{
int iCount;
cout<<"请输入要输入的条数:";
cin>>iCount;
count = iCount;
for (int i=0; i<count; i++)
{
(pCe[i]).input();
}
}
void Comms:: outputAll()
{
int i;
for(i=0;i<count;i++)
{
(pCe[i]).output();
}
}
int Comms::find(string nm)
{
int i;
i = 0;
for (i=0; i<count; i++)
{
if ((pCe[i]).getName()==nm)
{
break;
}
}
return i;
}
//CommEntry.cpp
#include<string>
#include<iostream>
#include "Comms.h"
CommEntry::CommEntry(int tc)//构造函数
{
telCount=tc;
tels = new string[telCount];
telType = new string[telCount];
}
CommEntry::~CommEntry()//析构函数
{
delete []tels;
delete []telType;
}
void CommEntry::input()
{
cout<<"Name:";
cin>>name;
for (int i=0; i<telCount; i++)
{
cout<<"电话类型:";
cin>>telType[i];
cout<<"电话:";
cin>>tels[i];
}
}
void CommEntry::output()
{
int i;
cout<<"Name:";
cout<<name<<endl;
for(i=0; i<telCount; i++)
{
cout<<"telType:";
cout<<telType[i]<<endl;
cout<<"Tel:";
cout<<tels[i]<<endl;
}
}
string CommEntry::getName()
{
return name;
}
string CommEntry::getTel(int iNum)
{
return tels[iNum-1];
}
void CommEntry::setName(string nm)
{
name = nm;
}
void CommEntry::setTel(string t,int iNum)
{
tels[iNum-1] = t;
}
//Comms.h
#ifndef COMMS_H_INCLUDED
#define COMMS_H_INCLUDED
#include <string>
#include <iostream>
using namespace std;
class CommEntry
{
public:
CommEntry(int tc=3);
~CommEntry();
void input();
void output();
void setName(string nm);
void setTel(string t, int iNum);
string getName();
string getTel(int iNum);
private:
string name;
int telCount;//电话个数
string *tels;
string *telType;
};
class Comms
{
public:
Comms(int up=10);
~Comms();
void inputAll();
void outputAll();
int find(string nm);
void modify(string nm, string t);
private:
CommEntry * pCe;
int maxCount;
int count;
};
#endif // COMMS_H_INCLUDED
#include <iostream>
#include<string>
#include"Comms.h"
using namespace std;
int displayMenu()
{
int t;
cout << endl;
cout<<"=================="<<endl;
cout<<"1.输入通讯录条目"<<endl;
cout<<"2.输出通讯录条目"<<endl;
cout<<"3.修改姓名"<<endl;
cout<<"4.修改电话"<<endl;
cout<<"0.退出"<<endl;
cout<<"=================="<<endl;
cout<<"请选择(0-4):";
cin>>t;
return t;
}
int main()
{
int iChoice =1;
int iNum;
Comms a;
string s;
while (iChoice!=0)
{
iChoice = displayMenu();
switch (iChoice)
{
case 1:
{
a.inputAll();
break;
}
case 2:
{
a.outputAll();
break;
}
/*case 3:
{
cout<<"请输入更改后的姓名"<<endl;
cin>>s;
a.setName(s);
break;
}
case 4:
{
cout<<"请输入要修改的电话序号:"<<endl;
cin>>iNum;
cout<<"请输入更改后的电话:"<<endl;
cin>>s;
a.setTel(s,iNum);
break;
}*/
case 0:
{
break;
}
}
}
return 0;
}