返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C++类实现通讯录功能
  • 427
分享到

C++类实现通讯录功能

2024-04-02 19:04:59 427人浏览 八月长安
摘要

本文实例为大家分享了c++类实现通讯录功能的具体代码,供大家参考,具体内容如下 软件使用的是Microsoft Visual Studio 编写通讯录之前,先思考一下要实现什么功能,

本文实例为大家分享了c++类实现通讯录功能的具体代码,供大家参考,具体内容如下

软件使用的是Microsoft Visual Studio

编写通讯录之前,先思考一下要实现什么功能,大概的结构,要创建几个类等等。

首先,是思考要实现什么功能。

一般的通讯录有添加,删除,修改,查找,显示等功能,一般联系人的信息包括:姓名,性别,年龄,电话号码,家庭地址。

我们首先新建一个类,用来初始化姓名,年龄,性别,电话号码,家庭地址,这几个变量

#pragma once
#include<iOStream>
#include<string>
//#include "MailList.hpp"
using namespace std;
class MailList
{
public:
    void setName(string);//给变量赋值函数
    void setAge(string);
    void setSex(string);
    void setTel(string);
    void setAddress(string);
    string getName();//返回变量值函数
    string getAge();
    string getSex();
    string getTel();
    string getAddress();
 
private:
    string name;//私有函数成员,定义变量
    string age;
    string sex;
    string tel;
    string address;
};
 
 
void MailList::setName(string name)
{
    this->name=name;
}
void MailList::setAge(string age)
{
    this->age=age;
}
void MailList::setSex(string sex)
{
    this->sex=sex;
}
void MailList::setTel(string tel)
{
    this->tel=tel;
}
void MailList::setAddress(string address)
{
    this->address=address;
}
string MailList::getName()
{
    return this->name;
}
string MailList::getAge()
{
    return this->age;
}
string MailList::getSex()
{
    return this->sex;
}
string MailList::getTel()
{
    return this->tel;
}
string MailList::getAddress()
{
    return this->address;
}

这里也可以使用构造函数初始化函数成员,构造函数函数名与类名一样。

然后,创建一个通讯录管理类,先把总的结构搭建起来

class MailListManager//通讯录管理类
{
public:
    MailListManager();//构造函数
    void initList();//初始化通讯录功能,在通讯录里记录为空时使用
    void insertList();//添加联系人功能,在通讯录里有记录时使用
    void showList();//显示联系人功能,显示通讯录中所有联系人的记录
    void deleteList();//删除联系人功能
    void selectList();//查找联系人功能
    void updateList();//修改联系人功能
    void dropList();//清空通讯录功能
    void save();//保存到文件,文件的写入
    void loading();//加载,读出文件
    string pw();//密码加密(我没能实现)
    int exiet(string);//检查联系人是否存在
 
private:
 
    MailList mail[Max];//数组,MailList类型,这属于实例化对象
    int len;//计数器
 
};
MailListManager::MailListManager()//构造函数就是用来初始化函数成员的,未初始化的函数成员不可用。这里初始化一下计数器
{
    len = 0;
}
int MailListManager::exiet(string name)//定义检查函数,检查联系人是否存在,以姓名的匹配为条件
{
 
}
void MailListManager::loading()//定义加载函数
{
 
}
void MailListManager::save()//定义保存函数
{
 
}
void MailListManager::initList()//定义初始化函数
{
 
}
void MailListManager::insertList()//定义添加函数
{
 
}
void MailListManager::showList()//定义显示函数
{
 
}
void MailListManager::updateList()//定义修改函数
{
 
}
void MailListManager::deleteList()//定义删除函数
{
 
}
void MailListManager::selectList()//定义查找函数
{
 
}
void MailListManager::dropList()//定义清空函数
{
 
}

总结构搭建好后,再开始编写里面的定义内容。

//这里声明部分就不显示了,直接看定义
 
void MailListManager::loading()//加载函数的定义
{
    len = 0;//计数器len,每次调用加载函数的时候都要重新初始化为0,这样做是防止之后添加联系人时重复加载导致保存多次。
    string name, sex, age, tel, address;//局部变量,每次使用都要声明一下的
    ifstream in;//实例化文件类“fstream”对象
    in.open("maillist/mail.txt");//打开文件
    if (!in)//如果文件未打开
    {
 
        cout << "--文件打开失败--" << endl;
        system("pause");
    }
    else
    {
        while (!in.eof())//如果未达到文件末尾
        {
            in >> name >> age >> sex >> tel >> address;
            if (in.fail())break;//ifstream类的作用是从文件中读出数据到控制台上,但没有显示出来,这就相当于再次赋值给数组,就是给之前声明的MailList类的数组,所以这里使用数组mail[*].***保存数据,因为不知道到底有多少数据,所以用死循环来控制,跳出条件是达到文件末尾就跳出,这样就可以保证将文件中的内容全部存到数组里
            mail[len].setName(name);
            mail[len].setAge(age);
            mail[len].setSex(sex);
            mail[len].setTel(tel);
            mail[len].setAddress(address);
            len++;
        }
    }
    in.close();
}
int MailListManager::exiet(string name)//检验联系人是否存在
{
    for (int i = 0; i < len; i++)//每当调用检验联系人的函数之前,一定要加载一下,让数据全部保存到控制台的数组中,且要从控制台输入一个名字传给检验联系人函数,让传入的名字与数组中的数据逐一对比,从而检验联系人是否存在
    {
        if (mail[i].getName() == name)
        {
            return i;//如果存在,返回数组下标
        }
    }
    return -1;//不存在,返回-1
}
void MailListManager::save()//保存文件函数
{
    ofstream out;//ofstream类的作用是把控制台上的数据写入文件
    out.open("maillist/mail.txt");//打开文件
    if (!out)//如果文件未打开
    {
        cout << "--文件打开失败--" << endl;
    }
    else
    {
        for (int i = 0; i < len; i++)//这里的计数器len的值来自之后定义的函数中,len的值取决于谁调用的保存函数
        {
            out << mail[i].getName() << " " << mail[i].getAge() << " " << mail[i].getSex() << " " << mail[i].getTel() << " " << mail[i].getAddress() << endl;
        }
    }
 
 
    out.close();
}
 
 
void MailListManager::initList()//初始化联系人。之前我先写了添加,修改,删除,在解决一些问题的时候发现添加功能调用加载函数与删除修改功能调用加载函数有冲突,导致重复显示,所以在老师的帮助下加入了这个初始化联系人功能,当然有更好的方法,只是我暂时还不会用(TvT)
{
    string name, age, sex, tel, address;
    cout << "请输入联系人的信息(在姓名后输入stop停止输入):" << endl;
    while (true)
    {
        cout << "姓名:";
        cin >> name;
        if (name == "stop") break;
        else
        {
            mail[len].setName(name);//简单的调用函数,不想讲了
            cout << "年龄:";
            cin >> age;
            mail[len].setAge(age);
            cout << "性别:";
            cin >> sex;
            mail[len].setSex(sex);
            cout << "电话号码:";
            cin >> tel;
            mail[len].setTel(tel);
            cout << "家庭地址:";
            cin >> address;
            mail[len].setAddress(address);
            len++;//这个len最终的值会给到save.....emmm..说“给”好像不太准确,找不到合适的词了,反正代码顺着往下执,len加到最后不会再变了,save直接用它。
        }
    }
    save();
 
}
void MailListManager::insertList()//添加联系人函数
{
    this->loading();//加载一下初始化联系人的数据
    string name, age, sex, tel, address;//局部变量要重新声明
    cout << "请输入插入联系人的数量:" << endl;
    int count = 0;//再来个计数器,控制每次想要添加的联系人的数量
    cin >> count;//让用户来指定每次添加多少人
    for (int i = 0; i < count; i++)
    {
        cout << "姓名:";
        cin >> name;
        mail[i].setName(name);//函数调用过程,还是说一下吧。mail[]数组的类型是MailList,然后它是MailListManager这个类的函数成员,通过它作为桥梁来调用MailListManager类成员函数
        cout << "年龄:";
        cin >> age;
        mail[i].setAge(age);
        cout << "性别:";
        cin >> sex;
        mail[i].setSex(sex);
        cout << "电话号码:";
        cin >> tel;
        mail[i].setTel(tel);
        cout << "家庭地址:";
        cin >> address;
        mail[i].setAddress(address);
    }
    ofstream out;//添加有单独的保存文件定义,因为只有添加功能需要使用文件追加
    out.open("maillist/mail.txt", ios::app);
    if (!out)
    {
        cout << "--文件打开失败--" << endl;
    }
    else
    {
        for (int i = 0; i < count; i++)
        {
            out << mail[i].getName() << " " << mail[i].getAge() << " " << mail[i].getSex() << " " << mail[i].getTel() << " " << mail[i].getAddress() << endl;
        }
        out.close();
    }
}
void MailListManager::showList()//显示联系人
{
 
    loading();
    MailList temp;
    for (int j=0;j<len;j++)//这里是给联系人排序,通过名字排序
    {
        for (int i = j+1; i < len; i++)
        {
            if (mail[j].getName() > mail[i].getName())
            {
                temp = mail[i];
                mail[i] = mail[j];//交换
                mail[j] = temp;    
            }
        }
        
    }
    for (int i = 0; i < len; i++)//这里的len值来自loading()
    {
        cout << setw(10) << mail[i].getName() << "  " << setw(8) << mail[i].getAge() << "  " << setw(4) <<
            mail[i].getSex() << "  " << setw(15) << mail[i].getTel() << "  " << setw(20) << mail[i].getAddress();//setw()是格式控制函数
        cout << endl << endl;
    }
}
void MailListManager::updateList()//修改联系人,修改联系人之前要找到这个联系人,存在才能删除
{
    loading();//加载一下
    string name, age, sex, tel, address;
    cout << "请输入要修改的联系人姓名:";
    cin >> name;
    int ret = exiet(name);//检验一下是否存在,存在exiet()会返回该联系人所在的数组下标,在这个数组下标里重新输入一遍数据覆盖掉原有数据就是修改联系人了
    if (ret != -1)
    {
        cout << "请重新输入联系人信息:" << endl;
        cout << "姓名:";
        cin >> name;
        mail[ret].setName(name);
        cout << "年龄:";
        cin >> age;
        mail[ret].setAge(age);
        cout << "性别:";
        cin >> sex;
        mail[ret].setSex(sex);
        cout << "电话号码:";
        cin >> tel;
        mail[ret].setTel(tel);
        cout << "家庭地址:";
        cin >> address;
        mail[ret].setAddress(address);
    }
    else
        cout << "啊哦~联系人不存在喔(-o-)";
    save();//改完记得重新保存一下,不然是没有任何改动的哦
}
void MailListManager::deleteList()//删除联系人,理同修改一样,只不过是信息的覆盖变为了内容前移覆盖
{
    loading();
    string name;
    int o;
    cout << "请输入要删除的联系人的姓名:  ";
    cin >> name;
    int ret = exiet(name);
    if (ret == -1)
    {
        cout << "啊哦~联系人不存在喔(-o-)";
    }
    else
    {
        cout << "确定要删除吗?" << endl << "1.确定" << "    " << "2.我再想想" << endl << "请选择:";
        cin >> o;
        if (o == 2)
            cout << "好的~";
        else
        {
 
            for (int i = ret; i < len; i++)
            {
                mail[i] = mail[i + 1];
            }
 
 
            cout << "删除成功!";
        }
    }
    save();
 
}
void MailListManager::selectList()//查找联系人,查找联系人就更简单啦,调用一下检验存在的函数,然后根据下标直接输出此联系人信息就好
{
    loading();
    string name;
    cout << "请输入要查找的人的姓名:   ";
    cin >> name;
    int ret = exiet(name);
    if (ret != -1)
    {
        cout << "姓名:" << mail[ret].getName() << endl;
        cout << "年龄:" << mail[ret].getAge() << endl;
        cout << "性别:" << mail[ret].getSex() << endl;
        cout << "电话号码:" << mail[ret].getTel() << endl;
        cout << "家庭地址:" << mail[ret].getAddress() << endl;
    }
    else
        cout << "啊哦~联系人不存在喔(-o-)";
}
void MailListManager::dropList()//清空通讯录,重新写入文件,写入一个空字符覆盖之前的数据,就清空啦
{
    int n;
    cout << "确定清空吗?" << endl << "  " << "1.YES" << "   " << "2.NO" << "请选择:";
    cin >> n;
    if (n == 2)
    {
        cout << "好的~";
    }
    else
    {
        ofstream out;
        out.open("maillist/mail.txt");
        if (!out)
        {
            cout << "--文件打开失败--" << endl;
        }
        else
        {
            out << " ";
            cout << "清除成功" << endl;
        }
        out.close();
    }
}
string MailListManager::pw()//密码加密,未完成
{
    char psw[100] = { 0 }, c;
    int i = 0;
;
    while ((c = getch()) != '\r')
    {
        if (c != '\b')
        {
            cout << "*";
            psw[i++];
        }
        else
        {
            cout << "\b \b";
            i--;
        }
    }
    psw[i] = '\0';
    cout << psw;
    
}

然后再写个登陆类

#include<iostream>
#include<fstream>
#include<string>
using namespace std;
class User
{
public:
    User();
    void loading();
    int check(string);
    int login(string, string);
    void sign(string,string);
private:
    string s[50];
    int len;
 
};
User::User()
{
    len = 0;
}
 
void User::loading()//加载函数
{
    string name, passWord;
    ifstream in;
    in.open("User/user.txt");
    if (!in)
    {
        cout << "错误!";
    }
    else
    {
        while (!in.eof())
        {
            in >> s[len];
            if (in.fail())break;
            len++;
        }
 
    }
    in.close();
}
int User::check(string name)//检验函数
{
    loading();
    for (int i = 0; i < len; i=i+2)
    {
        if (name == s[i])
        {
            return i;
        }
        else
        {
            return -1;
        }
    }
}
int User::login(string name, string password)//登陆函数
{
    if (check(name) == -1)
    {
        cout << "用户根本不存在喔!";
    }
    else
    {
        if (s[check(name) + 1] == password)
        {
            return 1;
        }
        else
        {
            cout << "密码输入错误!";
        }
    }
}
void User::sign(string name,string password)//注册函数
{
    loading();
    if (check(name) != -1)//已有用户名
    {
        cout << "用户名已存在!";
    }
    else
    {
        ofstream out;
        out.open("User/user.txt", ios::app);
        if (!out)
        {
            cout << "文件打开失败!";
        }
        else
        {
            out <<endl<< name<<" "<< password;
        }
        out.close();
        cout << "                                            注册成功!";
        system("pause");
    }
}

登陆类的加载函数,检验函数逻辑同之前管理类的一样,登陆函数与注册函数,实际上就是文件读出与写入。

最后,写主函数

#include"MailListManager.hpp"
#include"userl.hpp"
void menu()
{
    cout << endl << endl << endl ;
    cout << "                                            -----------(^O^)---------" << endl;
    cout << "                                            -     1、初始化联系人   -" << endl;
    cout << "                                            -     2、显示联系人     -" << endl;
    cout << "                                            -     3、删除联系人     -" << endl;
    cout << "                                            -     4、查找联系人     -" << endl;
    cout << "                                            -     5、修改联系人     -" << endl;
    cout << "                                            -     6、清空联系人     -" << endl;
    cout << "                                            -     7、添加联系人     -" << endl;
    cout << "                                            -     0、退出通讯录     -" << endl;
    cout << "                                            ---------(·v·)---------" << endl;
}//手动格式控制O(∩_∩)O哈哈~
int main()
{
    User u;//实例化对象
    int e;
    cout << endl << endl << endl << endl << endl << endl;
    cout << "                            ******************欢迎使用通讯录管理系统~******************" << endl;
    cout << "                            *                                                         *" << endl;
    cout << "                            *                                                         *" << endl;
    cout << "                            *                                                         *" << endl;
    cout << "                            **********************              ***********************" << endl;
    cout << "                            **1.我已有账户,登录**" <<"              "<< "** 2.我没有账户,注册**" << endl;
    cout << "                            **********************              ***********************" << endl;//这是一个登陆界面,有账户才能管理通讯录哦
    cout << endl<<endl;
    cout<<"                                 请选择:";
    cin >> e;
    if (e == 1)
    {
        while (true)
        {
            MailListManager* m = new MailListManager;//来个指针指向堆区
            system("cls");
            string name, password;
            cout <<endl<<endl<< "                                            请输入:" << endl << "                                            用户名:";
            cin >> name;
            cout << endl << "                                            密码:";
            cin >> password;
              //这两段本来是用来密码加密的,但我没实现所以注释掉了
            
            
            int i = u.login(name, password);//调用User里的登陆函数,并将返回值给i,i=1就证明用户名密码输入正确,反之就是输入错误
            if (i == 1)
            {
                int n;
                while (true)
                {
                    system("cls");
                    cout <<endl<<endl<< "                                            登录成功!欢迎" << name << endl;
                    cout << "                                            通讯录管理系统功能选项" << endl;
                    menu();
                    cout << "                                            请选择:";
                    cin >> n;
                    switch (n)
                    {
                    case 7:system("cls"); m->insertList(); system("pause"); break;
                    case 2:system("cls"); m->showList(); system("pause"); break;
                    case 3:system("cls"); m->deleteList();  system("pause"); break;
                    case 4:system("cls"); m->selectList(); system("pause"); break;
                    case 5:system("cls"); m->updateList(); system("pause"); break;
                    case 6:system("cls"); m->dropList(); system("pause"); break;
                    case 1:system("cls"); m->initList(); system("pause"); break;//调用各种函数
                    case 0:exit(0); break;
                    }
                }
                delete m;
                m = NULL;
            }
            else
            {
                cout<<endl<<endl << "                                            请重新输入" << endl;
                system("pause");
            }
        }
 
    }
    else
    {
        u.loading();//调用User类里的加载函数
        while (true)
        {
            system("cls");
            string name, password;
            cout <<endl<<endl<< "                                            请输入:" << endl << "                                            用户名:";
            cin >> name;
            if (u.check(name) !=-1)
            {
                cout << "                                            用户名已存在!请重新输入:"<<endl;
                system("pause");
            }
            else
            {
                MailListManager* m = new MailListManager;
                cout << endl << "                                            密码:";
                cin >> password;
                
                u.sign(name, password);//调用User类的注册函数,保存注册用户信息
                int n;
                while (true)
                {
                    system("cls");
                    cout <<endl<<endl<< "                                            注册成功!欢迎" << name << endl;
                    cout << "                                            通讯录管理系统功能选项" << endl;
                    menu();
                    cout << "                                            请选择:";
                    cin >> n;
                    switch (n)
                    {
                    case 1:system("cls"); m->insertList(); system("pause"); break;
                    case 2:system("cls"); m->showList(); system("pause"); break;
                    case 3:system("cls"); m->deleteList();  system("pause"); break;
                    case 4:system("cls"); m->selectList(); system("pause"); break;
                    case 5:system("cls"); m->updateList(); system("pause"); break;
                    case 6:system("cls"); m->dropList(); system("pause"); break;
                    case 7:system("cls"); m->initList(); system("pause"); break;//调用各种函数
                    case 0: exit(0); break;
                    }
                }
            }
        }
    }
    return 0;
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: C++类实现通讯录功能

本文链接: https://lsjlt.com/news/152061.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • C++类实现通讯录功能
    本文实例为大家分享了C++类实现通讯录功能的具体代码,供大家参考,具体内容如下 软件使用的是Microsoft Visual Studio 编写通讯录之前,先思考一下要实现什么功能,...
    99+
    2024-04-02
  • C++类怎么实现通讯录功能
    这篇文章主要介绍了C++类怎么实现通讯录功能的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C++类怎么实现通讯录功能文章都会有所收获,下面我们一起来看看吧。首先,是思考要实现什么功能。一般的通讯录有添加,删除,...
    99+
    2023-07-02
  • C++实现通讯录功能
    本文实例为大家分享了C++实现通讯录的具体代码,供大家参考,具体内容如下 简介:通讯录由一个拥有者以及通讯信息组成。 基本功能:增删改查 拥有者和通讯信息的基础结构相同,由struc...
    99+
    2024-04-02
  • C++实现通讯录小功能
    本文实例为大家分享了C++实现通讯录功能的具体代码,供大家参考,具体内容如下 思路: 1.显示菜单栏 void menu() {       cout << "—————...
    99+
    2024-04-02
  • C++如何实现通讯录功能
    这篇文章主要介绍“C++如何实现通讯录功能”,在日常操作中,相信很多人在C++如何实现通讯录功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C++如何实现通讯录功能”的疑惑有所帮助!接下来,请跟着小编一起来...
    99+
    2023-07-02
  • C++实现简易通讯录功能
    目录实现功能一、定义通讯录和通讯录人员结构体二、实现通讯录输入菜单1.定义菜单函数:2.主函数循环体中循环展示菜单信息三、实现增删改查和清空通讯录功能四、运行截图展示本文实例为大家分...
    99+
    2024-04-02
  • C语言实现通讯录小功能
    本文实例为大家分享了C语言实现通讯录功能的具体代码,供大家参考,具体内容如下 头文件contact.h #pragma once #define _CRT_SECURE_NO_...
    99+
    2024-04-02
  • C++如何实现通讯录小功能
    这篇文章主要介绍“C++如何实现通讯录小功能”,在日常操作中,相信很多人在C++如何实现通讯录小功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C++如何实现通讯录小功能”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-07-02
  • C语言实现简单通讯录功能
    本文实例为大家分享了C语言实现简单通讯录功能的具体代码,供大家参考,具体内容如下 1.存放联系人信息 2.信息:名字+年龄+性别+电话+住址 3.增加联系人 4.删除联系人 5.查找...
    99+
    2024-04-02
  • C++如何实现简易通讯录功能
    这篇文章主要讲解了“C++如何实现简易通讯录功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C++如何实现简易通讯录功能”吧!实现功能提示:这里可以添加本文要记录的大概内容:通过c++语法...
    99+
    2023-07-02
  • C#怎么实现窗体通讯录系统功能
    本文小编为大家详细介绍“C#怎么实现窗体通讯录系统功能”,内容详细,步骤清晰,细节处理妥当,希望这篇“C#怎么实现窗体通讯录系统功能”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。具体如下:1.首先创建DBhelp...
    99+
    2023-06-30
  • C语言基于单链表实现通讯录功能
    本文实例为大家分享了C语言基于单链表实现通讯录功能的具体代码,供大家参考,具体内容如下 #include<stdio.h> #include<stdlib.h&...
    99+
    2024-04-02
  • C语言多功能动态通讯录实现示例
    目录前言一、预设置1,头文件的包含2,联系人的信息格式3,通讯录的信息格式4,通讯录相关宏定义5,通讯录功能枚举6,基本主函数二、功能函数实现1,初始化函数2,查找函数3,打印菜单4...
    99+
    2023-01-31
    C语言多功能动态通讯录 C语言 通讯录
  • C语言实现通讯录功能的流程与代码
    用C语言制作一个拥有添加,删除,查找,修改,排序,清空,打印功能的通讯录 用分模块的方法来实现这个通讯录,函数的声明,类型的声明放在一个.h文件中,函数的实现放在一个.c文件中,在主...
    99+
    2024-04-02
  • 如何使用C语言代码实现通讯录功能
    今天小编给大家分享一下如何使用C语言代码实现通讯录功能的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。首先创建一个test.c...
    99+
    2023-07-02
  • C++使用链表存储实现通讯录功能管理
    本文实例为大家分享了C++使用链表存储实现通讯录功能管理的具体代码,供大家参考,具体内容如下 简介 这是第二周老师给的一个小项目要求实现基本通讯录功能,有数据的增删改查,包含插入时间...
    99+
    2024-04-02
  • C++实现完整功能的通讯录管理系统详解
    目录一、确定结构体二、简易菜单三、为通讯录添加功能四、各功能与实现详解功能之添加联系人功能之显示联系人功能之查找联系人功能之修改联系人功能之删除联系人功能之清空通讯录四、源码五、运行...
    99+
    2024-04-02
  • C++如何使用链表存储实现通讯录功能管理
    本文小编为大家详细介绍“C++如何使用链表存储实现通讯录功能管理”,内容详细,步骤清晰,细节处理妥当,希望这篇“C++如何使用链表存储实现通讯录功能管理”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。代码详情头文件...
    99+
    2023-07-02
  • 用C语言实现通讯录
    相信大家都见识过通讯录,通讯录里面一般有的内容为姓名,联系方式,年龄等信息。通讯录的主要功能有:增加、删除、查找、排序、修改、展示等操作。 那么具体应该用C语言怎么实现这个呢?接下来...
    99+
    2024-04-02
  • C语言实现通讯录程序
    本文实例为大家分享了C语言实现通讯录程序的具体代码,供大家参考,具体内容如下 设计要求: 可以存放1000个人的信息,每个人的信息包括姓名、年龄、性别、电话、住址 通讯录功能包括: ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作