用类写一个简单的通讯录

#include <iostream>
#include <string>
using namespace std;
class addressbook
{
private:
 string Name;
 string Num;
 string Address;
 string Phone;
  bool sex;
 int Age;
 addressbook *next;
public:
 addressbook()
 {
Name="no name";
Num="no num";
sex=wu;
Age=0;
Address="no address";
Phone="no phone";
next=NULL;
 }
 void setname()
 {
cout<<"输入姓名"<<endl;
cin>>Name;
 } 
 string getname()
 {
return Name;
 }
 void setnum()
 {
cout<<"输入编号"<<endl;
cin>>Num;
 } 
 string getnum()
 {
return Num;
 }
 void setsex()
 {
int x;cout<<"输入0或1,0代表男性,1代表女性"<<endl;
cin>>x;

 }
 string getsex()
 {
return (sex==Man)?"Man":"Woman";
 }
 void setage()
 {
cout<<"输入年龄"<<endl;
cin>>Age;
 }
 int getage()
 {
return Age;
 }
 void setaddress()
 {
cout<<"输入地址"<<endl;
cin>>Address;
 }
 string getaddress()
 {
return Address;
 }
 void setphone()
 {
cout<<"输入电话号码"<<endl;cin>>Phone;
 }
 string getphone()
 {
return Phone;
 }
 void setnext(addressbook *people)
 {
next=people;
 }
 addressbook* getnext()
 {
return next;
 }


};
int main()
{
 addressbook *head=new addressbook();
 addressbook *st[999];
 int i; 
 int n;
 cout<<"请输入指令 0,1,2,3,4,5"<<endl;
 cout<<"0、退出通讯录系统"<<endl;
 cout<<"1、 录入功能"; 
 cout<<"性别的输入应是男或女";
 cout<<"输入的年龄应在0~100之间"<<endl;
 cout<<"2、 增加功能"<<endl;
 cout<<"3、 删除功能"<<endl;
 cout<<"4、 查找功能"<<endl;
 cout<<"5、 修改功能"<<endl;
 cout<<"请输入:"<<endl;
 cin>>n;
 while(!(0<=n&&n<=5)
 {
  cin>>n;
 }
 while(n)
 {
   switch (n)
   {
  case 1:
{
    int num;
    cout<<"请输入需要录入的学生人数"<<endl;
    cin>>num;
    
    for(i=0;i<num;i++)
{
     st[i]=new addressbook();
     st[i]->setname();
     st[i]->setage();
     st[i]->setnum();
     st[i]->setphone();
     st[i]->setaddress();
     st[i]->setsex();
     st[i]->setnext(head->getnext());
     head->setnext(st[i]);
    }
    break;
   }
  case 2:
{
    addressbook* p;
    p=new addressbook();
    p->setname();
    p->setage();
    p->setnum();
    p->setphone();
    p->setaddress();
    p->setsex();
    p->setnext(head->getnext());
    head->setnext(p);
    break;
      }
  case 3:{
     string number;
     cout<<"输入要删除的人的编号"<<endl;
     cin>>number;
     addressbook* p;
addressbook* q;
     p=head;
     if(head->getnext()==NULL) 
cout<<"通讯录为空"<<endl;
     while(p->getnum()!=number)
{
      q=p;
      p=p->getnext();
     }
     if(p->getnext()==NULL) 
      cout<<"查无此人"<<endl;
     else
{
      q->setnext(p->getnext());
      p->~addressbook();
      cout<<"编号为"<<number<<"的人已经删除"<<endl;
     }
     break; 
      }


  case 4:
 {
     string na;
     cout<<"请输入姓名"<<endl;
     cin>>na;
     addressbook * p=head->getnext();
     while(p)
{
      if(p->getname()==na) break;
      p=p->getnext();
     }
     if(p==NULL) 
cout<<"查无此人"<<endl;
     else
{
      cout<<"修改姓名"<<endl;
      p->setname();
      cout<<"修改编号"<<endl;
      p->setnum();
      cout<<"修改年龄"<<endl;
      p->setage();
      cout<<"修改地址"<<endl;
      p->setaddress();
      cout<<"修改性别"<<endl;
      p->setsex();
      cout<<"修改电话号码"<<endl;
      p->setphone();
      cout<<"修改完毕"<<endl;
     }
     break;
      }     
 }
 cout<<"请输入指令 0,1,2,3,4,5"<<endl;
 cout<<"0、退出通讯录系统"<<endl;
 cout<<"1、 录入功能"; 
 cout<<"性别的输入应是男或女";
 cout<<"输入的年龄应在0~100之间"<<endl;
 cout<<"2、 增加功能"<<endl;
 cout<<"3、 删除功能"<<endl;
 cout<<"4、 查找功能"<<endl;
 cout<<"5、 修改功能"<<endl;
 cout<<"请输入:"<<endl;
 cin>>n;
  }
}
  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是一个简单通讯录程序,使用 MFC 编。 首先,你需要创建一个 MFC 对话框项目。接下来,我们需要设计 UI 界面,包括添加、删除联系人和显示联系人列表。 在对话框中,添加以下控件: - 一个“添加联系人”按钮(ID 为 ID_ADD_BUTTON) - 一个“删除联系人”按钮(ID 为 ID_DELETE_BUTTON) - 一个列表框控件(ID 为 IDC_CONTACT_LIST) 接下来,在类向导中添加一个新类,作为联系人项的数据结构: ```cpp class CContact { public: CString m_strName; CString m_strPhone; }; ``` 在对话框类的头文件中,添加以下变量和函数声明: ```cpp class CMyDlg : public CDialogEx { // ... private: CArray<CContact, CContact&> m_arrContacts; // 存储联系人列表 void UpdateContactList(); // 更新联系人列表框 void AddContact(); // 添加联系人 void DeleteContact(); // 删除选中的联系人 }; ``` 在对话框类的实现文件中,添加以下函数实现: ```cpp void CMyDlg::UpdateContactList() { // 先清空列表框内容 m_lstContacts.ResetContent(); // 遍历联系人列表,添加每个联系人的名称到列表框中 for (int i = 0; i < m_arrContacts.GetSize(); i++) { m_lstContacts.AddString(m_arrContacts[i].m_strName); } } void CMyDlg::AddContact() { // 创建一个新的联系人项 CContact contact; contact.m_strName = _T("New Contact"); contact.m_strPhone = _T(""); // 将新的联系人项添加到列表中 m_arrContacts.Add(contact); // 更新列表框内容 UpdateContactList(); } void CMyDlg::DeleteContact() { // 获取当前选中的联系人项的索引 int nIndex = m_lstContacts.GetCurSel(); // 如果没有选中任何项,则直接返回 if (nIndex == LB_ERR) { return; } // 从联系人列表中删除该项 m_arrContacts.RemoveAt(nIndex); // 更新列表框内容 UpdateContactList(); } ``` 最后,在对话框类的消息映射中添加以下代码: ```cpp BEGIN_MESSAGE_MAP(CMyDlg, CDialogEx) // ... ON_BN_CLICKED(ID_ADD_BUTTON, &CMyDlg::OnBnClickedAddButton) ON_BN_CLICKED(ID_DELETE_BUTTON, &CMyDlg::OnBnClickedDeleteButton) END_MESSAGE_MAP() void CMyDlg::OnBnClickedAddButton() { AddContact(); } void CMyDlg::OnBnClickedDeleteButton() { DeleteContact(); } ``` 现在,你可以编译并运行程序了。点击“添加联系人”按钮可以添加一个新的联系人项,点击“删除联系人”按钮可以删除选择的联系人项。列表框中会显示所有联系人的名称。 这只是一个简单的示例程序,你可以根据自己的需求扩展它。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值