c++通讯管理系统.cpp与.h文件分开写

这是一个管理系统,它的不同点在于它的.cpp文件与.c文件时分开写的。

通讯管理系统分为四个部分:AddressBook.h,main.h,AddressBook.cpp,main.cpp。

1.AddressBook.h文件

#include"main.h"

class AddressBook
{
private:
    /* data */
    
public:
    void catalog();
    struct Person;
    struct Add_Person ;
    void cata1();
    void cata2();
    void cata3();
    void cata4();
    void cata5();
    void cata6();
};

2.main.h

#pragma once

#include <iostream>
#include <locale>
#include <string>
#include <limits>
#include <stdlib.h>

using namespace std;

3.AddressBook.cpp文件

#include"AddressBook.h"
#define Max 145
void AddressBook::catalog()
{
    cout<< "**************************************" <<endl;
    cout<< "**********   1.添加联系人   **********" <<endl;
    cout<< "**********   2.显示联系人   **********" <<endl;
    cout<< "**********   3.删除联系人   **********" <<endl;
    cout<< "**********   4.查找联系人   **********" <<endl;
    cout<< "**********   5.修改联系人   **********" <<endl;
    cout<< "**********   6.清空联系人   **********" <<endl;
    cout<< "**********   0.退出通讯录   **********" <<endl;
    cout<< "**************************************" <<endl;
}

// 联系人结构体
struct Person
{
    string name;    // 姓名
    int sex;        // 性别,1男人,2女人
    int age;        // 年龄
    string phone;   // 电话
    string address; // 地址
    };
//通讯录结构体
    struct Add_Person{ 
        struct Person personArray [Max];
        int m_size;
    }sons;
//1.添加联系人,添加联系人,姓名,性别,年龄,联系电话,家庭住址
void aa(Add_Person *as){
    if(as->m_size == Max){
        cout<< "通讯录已满" <<endl;
        return;
    }else{
        cout<< "请输入姓名" <<endl;
        cin>> as->personArray[sons.m_size].name;
        cout<< "请输入性别" <<endl;
        cout<< "1.男" <<"2.女" <<endl;
        cin>> as->personArray[sons.m_size].sex;
        cout<< "请输入年龄" <<endl;
        cin>> as->personArray[sons.m_size].age;
        cout<< "请输入联系电话" <<endl;
        cin>> as->personArray[sons.m_size].phone;
        cout<< "请输入家庭住址" <<endl;
        cin>> as->personArray[sons.m_size].address;
        as->m_size++;
        cout<< "添加成功" <<endl;
    }
}
//2.显示联系人
void bb(Add_Person *as){
    if(sons.m_size == 0){
        cout<< "抱歉您现在通讯录为空,请添加联系人" <<endl;
        cout<< sons.m_size <<endl;
        return;
    }else{
        for(int i = 0;i < sons.m_size;i++){
            //cout<<sons.m_size<<endl;
            cout<< "姓名:" << as->personArray[i].name <<endl;
            cout<< "性别:" << as->personArray[i].sex <<endl;
            cout<< "年龄:" << as->personArray[i].age <<endl;
            cout<< "联系电话:" << as->personArray[i].phone <<endl;
            cout<< "家庭住址:" << as->personArray[i].address <<endl;
            cout<< "----------------------------------------" <<endl;

        }
    }
}
//3.删除联系人
void cc(Add_Person *as){
    if(sons.m_size == 0){
        cout<< "抱歉您现在通讯录为空,请添加联系人" <<endl;
        return;
    }else{
        cout<< "请输入您要删除的联系人姓名" <<endl;
        string name;
        cin>> name;
        for(int i = 0;i < sons.m_size;i++){
            int j = i;
            if(as->personArray[i].name == name){
                for(int i = j;i < sons.m_size;i++){
                    as->personArray[i] = as->personArray[i+1];
                }
                sons.m_size--;//数据更新
                cout<< "删除成功" <<endl;
                return;
            }else{
                cout<< "您输入的联系人不存在" <<endl;
                continue;
            }
        }
    }
}
//4.查找联系人
void dd(Add_Person *as){
    if(sons.m_size == 0){
        cout<< "抱歉您现在通讯录为空,请添加联系人" <<endl;
        return;
    }else{
        cout<< "请输入您要查找的联系人姓名" <<endl;
        string name;
        cin>> name;
        for(int i = 0;i < sons.m_size;i++){
            if(as->personArray[i].name == name){
                cout<<"您要查找的人信息如下:"<<endl;
                cout<< "姓名:" << as->personArray[i].name <<endl;
                cout<< "性别:" << as->personArray[i].sex <<endl;
                cout<< "年龄:" << as->personArray[i].age <<endl;
                cout<< "电话:" << as->personArray[i].phone <<endl;
                cout<< "地址:" << as->personArray[i].address <<endl;
                return;
            }
        }
        cout<< "您输入的联系人不存在" <<endl;
        return;
    }
}
//5.修改联系人
void ee(Add_Person *as){
    if(sons.m_size == 0){
        cout<<"抱歉你的通讯录目前为空,请添加联系人"<<endl;
    }else{
        cout<< "请输入您要修改的联系人姓名" <<endl;
        string name;
        cin>> name;
        for(int i = 0;i < sons.m_size;i++){
            if(as->personArray[i].name == name){
                cout<< "请确认您要修改的信息" <<endl;
                cout<< "姓名:" << as->personArray[i].name <<endl;
                cout<< "性别:" << as->personArray[i].sex <<endl;
                cout<< "年龄:" << as->personArray[i].age <<endl;
                cout<< "电话:" << as->personArray[i].phone <<endl;
                cout<< "地址:" << as->personArray[i].address <<endl;
                system("pause");
                cout<<"1.确认"<<endl;
                cout<<"2.取消"<<endl;
                int a;
                cin>> a;
                if(a == 1){
                    //姓名
                    cout<< "请输入您要修改的姓名" <<endl;
                    string name1;
                    cin>> name1;
                    as->personArray[i].name = name1;
                    //性别
                    cout<< "请输入您要修改的性别" <<endl;
                    cout<<"1-男,2-女"<<endl;
                    int sex;
                    cin>> sex;
                    as->personArray[i].sex = sex;
                    //年龄
                    cout<< "请输入您要修改的年龄" <<endl;
                    int age;
                    cin>> age;
                    as->personArray[i].age = age;
                    //电话
                    cout<< "请输入您要修改的电话" <<endl;
                    string phone;
                    cin>> phone;
                    as->personArray[i].phone = phone;
                    //地址
                    cout<< "请输入您要修改的地址" <<endl;
                    string address;
                    cin>> address;
                    as->personArray[i].address = address;
                    cout<< "修改成功" <<endl;
                    break;
                }else if (a == 2)
                {
                    cout<<"取消"<<endl;
                    break;
                }
                
            }
        }
    }
}
//6.清空联系人
void ff(Add_Person *as){
    if(sons.m_size == 0){
        cout<<"抱歉你的通讯录目前为空"<<endl;
    }else{
        cout<<"请确认你要清空联系人"<<endl;
        cout<<"1.确认"<<endl;
        cout<<"2.取消"<<endl;
        int a;
        cin>>a;
        if(a == 1){
            sons.m_size = 0;
            system("pause");
            system("cls");
            cout<<"联系人已清空"<<endl;   
        }else if(a == 2){
            cout<<"取消"<<endl;
            return;
        }
    }
}

void AddressBook::cata1()
{
    aa(&sons);
}
void AddressBook::cata2()
{
    bb(&sons);
}
void AddressBook::cata3()
{
    cc(&sons);
}
void AddressBook::cata4(){
    dd(&sons);
}
void AddressBook::cata5(){
    ee(&sons);
}
void AddressBook::cata6(){
    ff(&sons);
}

main.cpp文件

#include"AddressBook.h"

int main(){
    //通讯录系统:
    /*1.添加联系人,信息包括(姓名,性别,年龄,联系电话,家庭住址)最多纪录145人
    2.显示联系人
    3.删除联系人
    4.查找联系人
    5.修改联系人
    6.清空联系人
    7.退出当前
    */
    AddressBook ab;   
    while(true){  
        int x = 0;
        ab.catalog();
        cin >> x ;
        switch (x)
        {
        case 1:
            ab.cata1();
            break;  
        case 2:
            ab.cata2();
            break;
        case 3:
            ab.cata3();
            break;
        case 4:
            ab.cata4();
            break;
        case 5: 
            ab.cata5();
            break;
        case 6:
            ab.cata6();
            break;
        case 0:
            cout << "欢迎下次使用" << endl;
            system("pause");
            return 0;
            break;
        default:
            cout << "输入错误" << endl;
            break;
        }

    }
    return 0;

}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值