国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

通訊錄管理系統(tǒng) C++

這篇具有很好參考價值的文章主要介紹了通訊錄管理系統(tǒng) C++。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

一、前言

二、設(shè)計要求

?三、概要設(shè)計

3.1 主界面設(shè)計

3.1.1 設(shè)計圖

3.1.2設(shè)計代碼

3.2 存儲結(jié)構(gòu)設(shè)計

3.3 系統(tǒng)功能設(shè)計

3.3.1 系統(tǒng)流程圖?編輯

3.3.2 系統(tǒng)子程序及功能介紹?

四、詳細設(shè)計

4.1 頭文件

4.2?數(shù)據(jù)定義

4.3 系統(tǒng)主要子程序詳細設(shè)計

4.3.1 主函數(shù)

4.3.2 添加聯(lián)系人

4.3.3 顯示聯(lián)系人

4.3.4 以姓名查找聯(lián)系人(返回聯(lián)系人編號)

4.3.5 以電話號碼查找聯(lián)系人(返回聯(lián)系人編號)

4.3.6 以住址查找聯(lián)系人(并返回聯(lián)系人編號)

4.3.7 刪除聯(lián)系人

4.3.8 查找聯(lián)系人

4.3.9 修改聯(lián)系人

4.3.10 備份通訊錄

4.3.11 恢復(fù)通訊錄

4.3.12 清空通訊錄

4.3.13 退出程序

五、源代碼清單


一、前言

????????通訊錄管理系統(tǒng)是一個比較實用的小型管理系統(tǒng)。隨著生活節(jié)奏的加快,人們追求豐富便捷的電子產(chǎn)品體驗,因此也提高對便捷方式的喜愛。當今社會下人們的交際范圍越來越廣泛,通訊錄系統(tǒng)的出現(xiàn),給人們的生活帶來了極大便利和幫助,幫助人們處理繁瑣復(fù)雜的工作,可以幫人們高效的處理和存儲信息。

二、設(shè)計要求

????????使用C++實現(xiàn)一個通訊錄管理系統(tǒng),具有實現(xiàn)通訊錄聯(lián)系人的添加、 刪除、查找、修改以及通訊錄的清空、備份與還原等功能。

添加聯(lián)系人:向通訊錄中添加聯(lián)系人,信息包括(姓名、性別、年齡、聯(lián)系方式、住址)最多記錄1000人。

顯示聯(lián)系人:顯示通訊錄中所有聯(lián)系人信息。

刪除聯(lián)系人:按照用戶需求進行刪除指定聯(lián)系人。

查找聯(lián)系人:按照用戶需求查看指定聯(lián)系人信息。

修改聯(lián)系人:按照用戶需求重新修改指定聯(lián)系人。

備份通訊錄:將通訊錄數(shù)據(jù)備份到文件中。

恢復(fù)通訊錄:將備份的數(shù)據(jù)恢復(fù)到通訊錄中。

清空通訊錄:清空通訊錄中所有信息。

退出通訊錄:退出當前使用的通訊錄。

?三、概要設(shè)計

3.1 主界面設(shè)計

3.1.1 設(shè)計圖

通訊錄管理系統(tǒng) C++

3.1.2設(shè)計代碼

void showMenu()
{
    cout << "***********************" << endl
         << "*****1、添加聯(lián)系人*****" << endl
         << "*****2、顯示聯(lián)系人*****" << endl
         << "*****3、刪除聯(lián)系人*****" << endl
         << "*****4、查找聯(lián)系人*****" << endl
         << "*****5、修改聯(lián)系人*****" << endl
         << "*****6、備份通訊錄*****" << endl
         << "*****7、恢復(fù)通訊錄*****" << endl
         << "*****8、清空通訊錄*****" << endl
         << "*****0、退出通訊錄*****" << endl
         << "***********************" << endl;
}

3.2 存儲結(jié)構(gòu)設(shè)計

? ? ? ? 聲明一個通訊錄結(jié)構(gòu)體,存儲聯(lián)系人結(jié)構(gòu)體和人數(shù)。聯(lián)系人結(jié)構(gòu)體存儲的內(nèi)容有姓名、性別、年齡、電話號碼、住址。?

通訊錄管理系統(tǒng) C++

3.3 系統(tǒng)功能設(shè)計

3.3.1 系統(tǒng)流程圖通訊錄管理系統(tǒng) C++

3.3.2 系統(tǒng)子程序及功能介紹?

函數(shù)名

功能

int main()

主函數(shù)

void showMenu()

菜單調(diào)用

void addPerson(addressbook *abs)

添加聯(lián)系人

void showPerson(const addressbook *abs)

顯示聯(lián)系人

int namefind(addressbook *abs)

int phonefind(addressbook *abs)

int addressfind(addressbook *abs)

按需求查找聯(lián)系人

(姓名、電話號碼、住址)

返回聯(lián)系人編號

void deletePerson(addressbook *abs)

刪除聯(lián)系人

void findPerson(addressbook *abs)

查找聯(lián)系人

void modifyPerson(addressbook *abs)

修改聯(lián)系人

void ofaddressbook(const addressbook *abs)

備份通訊錄

void ifaddressbook(addressbook *abs)

恢復(fù)通訊錄

void cleanPerson(addressbook *abs)

清空聯(lián)系人

void end()

退出通訊錄

四、詳細設(shè)計

4.1 頭文件

#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;

4.2?數(shù)據(jù)定義

const int MAX= 1e3+10; //最大人數(shù)

struct Person
{
    string name;    //姓名
    string sex;     //性別
    int age;        //年齡
    string phone;   //電話號碼
    string address; //住址
};

struct addressbook
{
    Person personarray[MAX]; //通訊錄中保存的聯(lián)系人數(shù)組
    int size;                //通訊錄中人員個數(shù)
};

4.3 系統(tǒng)主要子程序詳細設(shè)計

4.3.1 主函數(shù)

int main()
{
    int select;
    addressbook abs;
    abs.size = 0;
    while (true)
    {
        showMenu(); //菜單調(diào)用
        cin >> select;
        system("clear");
        switch (select)
        {
        case 0: //退出通訊錄
            end();
            break;
        case 1: //添加聯(lián)系人
            addPerson(&abs);
            break;
        case 2: //顯示聯(lián)系人
            showPerson(&abs);
            break;
        case 3: //刪除聯(lián)系人
            deletePerson(&abs);
            break;
        case 4: //查找聯(lián)系人
            findPerson(&abs);
            break;
        case 5: //修改聯(lián)系人
            modifyPerson(&abs);
            break;
        case 6: //備份通訊錄
            ofaddressbook(&abs);
            break;
        case 7: //恢復(fù)通訊錄
            ifaddressbook(&abs);
            break;
        case 8: //清空通訊錄
            cleanPerson(&abs);
            break;
        default:
            cout << "輸入錯誤,請重新輸入" << endl;
            cout << "請按任意鍵并回車繼續(xù)" << endl; // MAC系統(tǒng)
            cin >> select;                          // MAC系統(tǒng)
            system("clear");                        // MAC系統(tǒng)
            // system("pause");WINDOWS系統(tǒng)
            // system("cls");WINDOWS系統(tǒng)
            continue;
        }
        cout << "請按任意鍵并回車繼續(xù)" << endl; // MAC系統(tǒng)
        cin >> select;                          // MAC系統(tǒng)
        system("clear");                        // MAC系統(tǒng)
        // system("pause");WINDOWS系統(tǒng)
        // system("cls");WINDOWS系統(tǒng)
    }
    return 0;
}

4.3.2 添加聯(lián)系人

????????在主菜單按“1”運行,分別輸入姓名、性別、年齡、電話、住址。

void addPerson(addressbook *abs)
{
    if (abs->size == MAX) //判斷通訊錄人數(shù)是否已滿
    {
        cout << "通訊錄人數(shù)已滿" << endl;
    }
    else
    {
        cout << "請輸入姓名:";
        cin >> abs->personarray[abs->size].name;
        cout << "請輸入性別:";
        cin >> abs->personarray[abs->size].sex;
        cout << "請輸入年齡:";
        cin >> abs->personarray[abs->size].age;
        cout << "請輸入電話號碼:";
        cin >> abs->personarray[abs->size].phone;
        cout << "請輸入住址:";
        cin >> abs->personarray[abs->size].address;
        abs->size++;
        cout << "聯(lián)系人添加成功" << endl;
    }
}

4.3.3 顯示聯(lián)系人

????????在主菜單按“2”運行,分別顯示輸入的所有聯(lián)系人信息。

void showPerson(const addressbook *abs)
{
    if (abs->size) //判斷人數(shù)是否為零
    {
        for (int i = 0; i < abs->size; i++)
        {
            cout << "姓名:" << abs->personarray[i].name
                 << "\t性別:" << abs->personarray[i].sex
                 << "\t年齡:" << abs->personarray[i].age
                 << "\t電話號碼:" << abs->personarray[i].phone
                 << "\t住址:" << abs->personarray[i].address
                 << endl;
        }
    }
    else
    {
        cout << "通訊錄為空" << endl;
    }
}

4.3.4 以姓名查找聯(lián)系人(返回聯(lián)系人編號)

int namefind(addressbook *abs)
{
    string name;
    cout << "請輸入您要查找聯(lián)系人的姓名" << endl;
    cin >> name;
    for (int i = 0; i < abs->size; i++) //查找輸入的聯(lián)系人
    {
        if (name.compare(abs->personarray[i].name) == 0)
        {
            return i;
        }
    }
    return -1;
}

4.3.5 以電話號碼查找聯(lián)系人(返回聯(lián)系人編號)

int phonefind(addressbook *abs)
{
    string phone;
    cout << "請輸入您要查找聯(lián)系人的電話號碼" << endl;
    cin >> phone;
    for (int i = 0; i < abs->size; i++) //查找輸入的聯(lián)系人
    {
        if (phone.compare(abs->personarray[i].phone) == 0)
        {
            return i;
        }
    }
    return -1;
}

4.3.6 以住址查找聯(lián)系人(并返回聯(lián)系人編號)

int addressfind(addressbook *abs)
{
    string address;
    cout << "請輸入您要查找聯(lián)系人住址" << endl;
    cin >> address;
    for (int i = 0; i < abs->size; i++) //查找輸入的聯(lián)系人
    {
        if (address.compare(abs->personarray[i].address) == 0)
        {
            return i;
        }
    }
    return -1;
}

4.3.7 刪除聯(lián)系人

????????在主菜單按“3”運行,選擇按1.姓名2.電話號碼3.住址,然后輸入一定的數(shù)據(jù),通訊錄有該聯(lián)系人則刪除,沒有則輸出查無此人。

void deletePerson(addressbook *abs)
{
    int n;
    cout << "請輸入查詢方式\n1.姓名\n2.電話號碼\n3.住址" << endl;
    cin >> n;
    switch (n) //選擇查詢方式
    {
    case 1:
        n = namefind(abs);
        break;
    case 2:
        n = phonefind(abs);
        break;
    case 3:
        n = addressfind(abs);
        break;
    default:
        cout << "您輸入有誤,請重新輸入" << endl;
    }
    system("clear");
    if (n != -1)
    {
        abs->personarray[n] = abs->personarray[abs->size - 1]; //替換將刪除的聯(lián)系人
        abs->size--;                                           //通訊錄人數(shù)-1
        cout << "刪除成功" << endl;
    }
    else
    {
        cout << "查無此人" << endl;
    }
}

4.3.8 查找聯(lián)系人

????????在主菜單按“4”運行,選擇按1.姓名2.電話號碼3.住址,然后輸入一定的數(shù)據(jù),通訊錄有該聯(lián)系人則顯示,沒有則輸出查無此人。

void findPerson(addressbook *abs)
{
    int n;
    cout << "請輸入查詢方式\n1.姓名\n2.電話號碼\n3.住址" << endl;
    cin >> n;
    switch (n) //選擇查詢方式
    {
    case 1:
        n = namefind(abs);
        break;
    case 2:
        n = phonefind(abs);
        break;
    case 3:
        n = addressfind(abs);
        break;
    default:
        cout << "您輸入有誤,請重新輸入" << endl;
    }
    system("clear");
    if (n != -1)
    {
        cout << "姓名:" << abs->personarray[n].name
             << "\t性別:" << abs->personarray[n].sex
             << "\t年齡:" << abs->personarray[n].age
             << "\t電話號碼:" << abs->personarray[n].phone
             << "\t住址:" << abs->personarray[n].address
             << endl;
    }
    else
    {
        cout << "查無此人" << endl;
    }
}

4.3.9 修改聯(lián)系人

????????在主菜單按“5”運行,選擇按1.姓名2.電話號碼3.住址,然后輸入一定的數(shù)據(jù),通訊錄有該聯(lián)系人提示用戶輸入數(shù)據(jù)并修改,沒有則輸出查無此人。

void modifyPerson(addressbook *abs)
{
    int n;
    cout << "請輸入查詢方式\n1.姓名\n2.電話號碼\n3.住址" << endl;
    cin >> n;
    switch (n) //選擇查詢方式
    {
    case 1:
        n = namefind(abs);
        break;
    case 2:
        n = phonefind(abs);
        break;
    case 3:
        n = addressfind(abs);
        break;
    default:
        cout << "您輸入有誤,請重新輸入" << endl;
    }
    system("clear");
    if (n != -1)
    {
        cout << "請輸入修改后的姓名:";
        cin >> abs->personarray[n].name;
        cout << "請輸入修改后的性別:";
        cin >> abs->personarray[n].sex;
        cout << "請輸入修改后的年齡:";
        cin >> abs->personarray[n].age;
        cout << "請輸入修改后的電話號碼:";
        cin >> abs->personarray[n].phone;
        cout << "請輸入修改后的住址:";
        cin >> abs->personarray[n].address;
        cout << "修改成功" << endl;
    }
    else
    {
        cout << "查無此人" << endl;
    }
}

4.3.10 備份通訊錄

????????在主菜單按“6”運行,將通訊錄數(shù)據(jù)備份到文件中。

void ofaddressbook(const addressbook *abs)
{
    ofstream ofs;
    ofs.open("addressbook.txt", ios::out); //打開文件
    ofs << "姓名\t性別\t年齡\t電話號碼\t住址" << endl;
    for (int i = 0; i < abs->size; i++)
    {
        ofs << abs->personarray[i].name
            << "\t\t" << abs->personarray[i].sex
            << "\t\t" << abs->personarray[i].age
            << "\t\t" << abs->personarray[i].phone
            << "\t\t" << abs->personarray[i].address
            << endl;
    }
    ofs.close(); //關(guān)閉文件
    cout << "備份成功" << endl;
}

4.3.11 恢復(fù)通訊錄

????????在主菜單按“7”運行,將文件數(shù)據(jù)恢復(fù)到通訊錄中。

void ifaddressbook(addressbook *abs)
{
    string temp;
    ifstream ifs;
    ifs.open("addressbook.txt", ios::in); //打開文件
    if (ifs.is_open())
    {
        getline(ifs, temp); //將文件上方的標簽輸入到臨時字符串
        while (ifs >> abs->personarray[abs->size].name >> abs->personarray[abs->size].sex >> abs->personarray[abs->size].age >> abs->personarray[abs->size].phone >> abs->personarray[abs->size].address)
        {
            abs->size++; //人數(shù)+1
        }
        ifs.close(); //關(guān)閉文件
        cout << "恢復(fù)成功" << endl;
    }
    else
    {
        cout << "文件打開失敗" << endl;
    }
}

4.3.12 清空通訊錄

????????在主菜單按“8”運行,將通訊錄中成員全部清空。

void cleanPerson(addressbook *abs)
{
    abs->size = 0; //將通訊錄清空
    cout << "通訊錄已清空" << endl;
}

4.3.13 退出程序

????????在主菜單按“0”運行,退出通訊錄管理系統(tǒng)。文章來源地址http://www.zghlxwxcb.cn/news/detail-490307.html

void end()
{
    cout << "歡迎下次使用" << endl;
    exit(0); //退出程序
}

五、源代碼清單

#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;

const int MAX = 1e3 + 10; // 最大人數(shù)

struct Person
{
    string name;    // 姓名
    string sex;     // 性別
    int age;        // 年齡
    string phone;   // 電話號碼
    string address; // 住址
};

struct addressbook
{
    Person personarray[MAX]; // 通訊錄中保存的聯(lián)系人數(shù)組
    int size;                // 通訊錄中人員個數(shù)
};

void showMenu();
void addPerson(addressbook *abs);
void showPerson(const addressbook *abs);
int namefind(addressbook *abs);
int phonefind(addressbook *abs);
int addressfind(addressbook *abs);
void deletePerson(addressbook *abs);
void findPerson(addressbook *abs);
void modifyPerson(addressbook *abs);
void ofaddressbook(const addressbook *abs);
void ifaddressbook(addressbook *abs);
void cleanPerson(addressbook *abs);
void end();

int main()
{
    int select;
    addressbook abs;
    abs.size = 0;
    while (true)
    {
        showMenu(); // 菜單調(diào)用
        cin >> select;
        system("clear");
        switch (select)
        {
        case 0: // 退出通訊錄
            end();
            break;
        case 1: // 添加聯(lián)系人
            addPerson(&abs);
            break;
        case 2: // 顯示聯(lián)系人
            showPerson(&abs);
            break;
        case 3: // 刪除聯(lián)系人
            deletePerson(&abs);
            break;
        case 4: // 查找聯(lián)系人
            findPerson(&abs);
            break;
        case 5: // 修改聯(lián)系人
            modifyPerson(&abs);
            break;
        case 6: // 備份通訊錄
            ofaddressbook(&abs);
            break;
        case 7: // 恢復(fù)通訊錄
            ifaddressbook(&abs);
            break;
        case 8: // 清空通訊錄
            cleanPerson(&abs);
            break;
        default:
            cout << "輸入錯誤,請重新輸入" << endl;
            cout << "請按任意鍵并回車繼續(xù)" << endl; // MAC系統(tǒng)
            cin >> select;                          // MAC系統(tǒng)
            system("clear");                        // MAC系統(tǒng)
            // system("pause");WINDOWS系統(tǒng)
            // system("cls");WINDOWS系統(tǒng)
            continue;
        }
        cout << "請按任意鍵并回車繼續(xù)" << endl; // MAC系統(tǒng)
        cin >> select;                          // MAC系統(tǒng)
        system("clear");                        // MAC系統(tǒng)
        // system("pause");WINDOWS系統(tǒng)
        // system("cls");WINDOWS系統(tǒng)
    }
    return 0;
}

void showMenu()
{
    cout << "***********************" << endl
         << "*****1、添加聯(lián)系人*****" << endl
         << "*****2、顯示聯(lián)系人*****" << endl
         << "*****3、刪除聯(lián)系人*****" << endl
         << "*****4、查找聯(lián)系人*****" << endl
         << "*****5、修改聯(lián)系人*****" << endl
         << "*****6、備份通訊錄*****" << endl
         << "*****7、恢復(fù)通訊錄*****" << endl
         << "*****8、清空通訊錄*****" << endl
         << "*****0、退出通訊錄*****" << endl
         << "***********************" << endl;
}

void addPerson(addressbook *abs)
{
    if (abs->size == MAX) // 判斷通訊錄人數(shù)是否已滿
    {
        cout << "通訊錄人數(shù)已滿" << endl;
    }
    else
    {
        cout << "請輸入姓名:";
        cin >> abs->personarray[abs->size].name;
        cout << "請輸入性別:";
        cin >> abs->personarray[abs->size].sex;
        cout << "請輸入年齡:";
        cin >> abs->personarray[abs->size].age;
        cout << "請輸入電話號碼:";
        cin >> abs->personarray[abs->size].phone;
        cout << "請輸入住址:";
        cin >> abs->personarray[abs->size].address;
        abs->size++;
        cout << "聯(lián)系人添加成功" << endl;
    }
}

void showPerson(const addressbook *abs)
{
    if (abs->size) // 判斷人數(shù)是否為零
    {
        for (int i = 0; i < abs->size; i++)
        {
            cout << "姓名:" << abs->personarray[i].name
                 << "\t性別:" << abs->personarray[i].sex
                 << "\t年齡:" << abs->personarray[i].age
                 << "\t電話號碼:" << abs->personarray[i].phone
                 << "\t住址:" << abs->personarray[i].address
                 << endl;
        }
    }
    else
    {
        cout << "通訊錄為空" << endl;
    }
}

int namefind(addressbook *abs)
{
    string name;
    cout << "請輸入您要查找聯(lián)系人的姓名" << endl;
    cin >> name;
    for (int i = 0; i < abs->size; i++) // 查找輸入的聯(lián)系人
    {
        if (name.compare(abs->personarray[i].name) == 0)
        {
            return i;
        }
    }
    return -1;
}

int phonefind(addressbook *abs)
{
    string phone;
    cout << "請輸入您要查找聯(lián)系人的電話號碼" << endl;
    cin >> phone;
    for (int i = 0; i < abs->size; i++) // 查找輸入的聯(lián)系人
    {
        if (phone.compare(abs->personarray[i].phone) == 0)
        {
            return i;
        }
    }
    return -1;
}

int addressfind(addressbook *abs)
{
    string address;
    cout << "請輸入您要查找聯(lián)系人住址" << endl;
    cin >> address;
    for (int i = 0; i < abs->size; i++) // 查找輸入的聯(lián)系人
    {
        if (address.compare(abs->personarray[i].address) == 0)
        {
            return i;
        }
    }
    return -1;
}

void deletePerson(addressbook *abs)
{
    int n;
    cout << "請輸入查詢方式\n1.姓名\n2.電話號碼\n3.住址" << endl;
    cin >> n;
    switch (n) // 選擇查詢方式
    {
    case 1:
        n = namefind(abs);
        break;
    case 2:
        n = phonefind(abs);
        break;
    case 3:
        n = addressfind(abs);
        break;
    default:
        cout << "您輸入有誤,請重新輸入" << endl;
    }
    system("clear");
    if (n != -1)
    {
        abs->personarray[n] = abs->personarray[abs->size - 1]; // 替換將刪除的聯(lián)系人
        abs->size--;                                           // 通訊錄人數(shù)-1
        cout << "刪除成功" << endl;
    }
    else
    {
        cout << "查無此人" << endl;
    }
}

void findPerson(addressbook *abs)
{
    int n;
    cout << "請輸入查詢方式\n1.姓名\n2.電話號碼\n3.住址" << endl;
    cin >> n;
    switch (n) // 選擇查詢方式
    {
    case 1:
        n = namefind(abs);
        break;
    case 2:
        n = phonefind(abs);
        break;
    case 3:
        n = addressfind(abs);
        break;
    default:
        cout << "您輸入有誤,請重新輸入" << endl;
    }
    system("clear");
    if (n != -1)
    {
        cout << "姓名:" << abs->personarray[n].name
             << "\t性別:" << abs->personarray[n].sex
             << "\t年齡:" << abs->personarray[n].age
             << "\t電話號碼:" << abs->personarray[n].phone
             << "\t住址:" << abs->personarray[n].address
             << endl;
    }
    else
    {
        cout << "查無此人" << endl;
    }
}

void modifyPerson(addressbook *abs)
{
    int n;
    cout << "請輸入查詢方式\n1.姓名\n2.電話號碼\n3.住址" << endl;
    cin >> n;
    switch (n) // 選擇查詢方式
    {
    case 1:
        n = namefind(abs);
        break;
    case 2:
        n = phonefind(abs);
        break;
    case 3:
        n = addressfind(abs);
        break;
    default:
        cout << "您輸入有誤,請重新輸入" << endl;
    }
    system("clear");
    if (n != -1)
    {
        cout << "請輸入修改后的姓名:";
        cin >> abs->personarray[n].name;
        cout << "請輸入修改后的性別:";
        cin >> abs->personarray[n].sex;
        cout << "請輸入修改后的年齡:";
        cin >> abs->personarray[n].age;
        cout << "請輸入修改后的電話號碼:";
        cin >> abs->personarray[n].phone;
        cout << "請輸入修改后的住址:";
        cin >> abs->personarray[n].address;
        cout << "修改成功" << endl;
    }
    else
    {
        cout << "查無此人" << endl;
    }
}

void ofaddressbook(const addressbook *abs)
{
    ofstream ofs;
    ofs.open("addressbook.txt", ios::out); // 打開文件
    ofs << "姓名\t性別\t年齡\t電話號碼\t住址" << endl;
    for (int i = 0; i < abs->size; i++)
    {
        ofs << abs->personarray[i].name
            << "\t\t" << abs->personarray[i].sex
            << "\t\t" << abs->personarray[i].age
            << "\t\t" << abs->personarray[i].phone
            << "\t\t" << abs->personarray[i].address
            << endl;
    }
    ofs.close(); // 關(guān)閉文件
    cout << "備份成功" << endl;
}

void ifaddressbook(addressbook *abs)
{
    string temp;
    ifstream ifs;
    ifs.open("addressbook.txt", ios::in); // 打開文件
    if (ifs.is_open())
    {
        getline(ifs, temp); // 將文件上方的標簽輸入到臨時字符串
        while (ifs >> abs->personarray[abs->size].name >> abs->personarray[abs->size].sex >> abs->personarray[abs->size].age >> abs->personarray[abs->size].phone >> abs->personarray[abs->size].address)
        {
            abs->size++; // 人數(shù)+1
        }
        ifs.close(); // 關(guān)閉文件
        cout << "恢復(fù)成功" << endl;
    }
    else
    {
        cout << "文件打開失敗" << endl;
    }
}

void cleanPerson(addressbook *abs)
{
    abs->size = 0; // 將通訊錄清空
    cout << "通訊錄已清空" << endl;
}

void end()
{
    cout << "歡迎下次使用" << endl;
    exit(0); // 退出程序
}

到了這里,關(guān)于通訊錄管理系統(tǒng) C++的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 通訊錄管理系統(tǒng)

    通訊錄管理系統(tǒng)

    作者:獅子也瘋狂 專欄:《項目集錦》 堅持做好每一步,幸運之神自然會駕凌在你的身上 該項目是用于日常生活中記錄聯(lián)系人信息的一款智能小工具。實現(xiàn)了對聯(lián)系人的姓名、年齡、性別、電話號碼、住址的添加及修改、查找、刪除、排序等功能。該項目是以 Windows 控制臺

    2024年02月05日
    瀏覽(99)
  • 簡單通訊錄管理系統(tǒng)(Java)

    簡單通訊錄管理系統(tǒng)(Java)

    提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔 ? ? 任務(wù) : 在之前的練習任務(wù)中,我們已經(jīng)實現(xiàn)了通訊錄的增刪改查等基本功能,主要實現(xiàn)一個通訊錄的菜單管理功能。 仔細閱讀右側(cè)編輯區(qū)內(nèi)給出的代碼框架及注釋,在 Begin-End 中實現(xiàn)通訊錄菜單管

    2024年02月09日
    瀏覽(97)
  • 【C語言】實現(xiàn)通訊錄管理系統(tǒng)

    【C語言】實現(xiàn)通訊錄管理系統(tǒng)

    大家好,我是蘇貝,本篇博客帶大家實現(xiàn)通訊錄,如果你覺得我寫的還不錯的話,可以給我一個贊??嗎,感謝?? 本文將使用C語言來實現(xiàn)通訊錄管理系統(tǒng),該通訊錄包括若干聯(lián)系人,和每個聯(lián)系人的姓名、年齡、性別、電話、地址。此通訊錄的功能包括:增加聯(lián)系人信息,

    2024年02月08日
    瀏覽(95)
  • 數(shù)據(jù)結(jié)構(gòu)--學生通訊錄管理系統(tǒng)

    數(shù)據(jù)結(jié)構(gòu)--學生通訊錄管理系統(tǒng)

    文章目錄 一、問題描述 二、系統(tǒng)功能設(shè)計 三、各個代碼部分 四、整體代碼及其運行 五、總結(jié) 學生通訊錄管理系統(tǒng)--C語言實現(xiàn) 在現(xiàn)實中,用學號和姓名來記錄學生需要花費大量的紙質(zhì)材料,并且出現(xiàn)容易丟失、查找困難等問題。 “學生通訊管理系統(tǒng)”是為了幫助老師、同

    2024年02月11日
    瀏覽(98)
  • 【C語言】優(yōu)化通訊錄管理系統(tǒng)

    【C語言】優(yōu)化通訊錄管理系統(tǒng)

    大家好,我是蘇貝,本篇博客帶大家優(yōu)化上一篇的通訊錄,如果你覺得我寫的還不錯的話,可以給我一個贊??嗎,感謝?? 在上一篇博文 實現(xiàn)通訊錄管理系統(tǒng) 的最后,我們了解了那段代碼的問題:通訊錄的大小是固定的100個元素,如果想要存放1000個人的信息,那么空間就

    2024年02月06日
    瀏覽(97)
  • Java--通訊錄管理系統(tǒng)【課程設(shè)計】

    Java--通訊錄管理系統(tǒng)【課程設(shè)計】

    目錄 1 設(shè)計任務(wù) 1.1需求分析 1.2任務(wù)分析 2 系統(tǒng)分析 2.1 總體設(shè)計分析 2.1.1設(shè)計要求 2.1.2設(shè)計任務(wù) 2.1.3設(shè)計思路 2.2?可行性分析 2.2.1 技術(shù)可行性分析 2.2.2?經(jīng)濟可行性分析 2.2.3?操作可行性分析 2.3?功能結(jié)構(gòu)分析 3 系統(tǒng)設(shè)計 4 系統(tǒng)實現(xiàn) 5?系統(tǒng)測試 5.1新建聯(lián)系人 5.2修改聯(lián)系人

    2023年04月19日
    瀏覽(91)
  • 學生通訊錄管理系統(tǒng)的設(shè)計與實現(xiàn)

    學生通訊錄管理系統(tǒng)的設(shè)計與實現(xiàn)

    1.1 問題的描述 學生通訊錄管理系統(tǒng)是為了幫助老師、同學,或者其他一些需要使用通訊錄的人員進行管理和分析的一種應(yīng)用程序。 1.2 問題分析和任務(wù)定義 (1)輸入數(shù)據(jù)建立通訊錄; (2)查詢通訊錄中滿足要求的信息; (3)插入新的通訊錄信息; (4)刪除不需要的通訊

    2024年02月10日
    瀏覽(96)
  • c語言:通訊錄管理系統(tǒng)(文件版本)

    c語言:通訊錄管理系統(tǒng)(文件版本)

    前言: 本通訊錄管理系統(tǒng)一共三個版本,除此文章以外還有如下倆個版本,大家可以根據(jù)需求自?。?基礎(chǔ)增刪查改功能版本 :c語言:通訊錄管理系統(tǒng)(增刪查改)-CSDN博客 動態(tài)分配內(nèi)存版本 :c語言:通訊錄管理系統(tǒng)(動態(tài)分配內(nèi)存版)-CSDN博客 ? ? ? ? 本文是在基礎(chǔ)的通

    2024年02月07日
    瀏覽(90)
  • 【C語言】優(yōu)化通訊錄管理系統(tǒng)2

    【C語言】優(yōu)化通訊錄管理系統(tǒng)2

    本篇博客是基于上一篇博客寫出來的,了解上一篇博客 大家好,我是蘇貝,本篇博客帶大家再次優(yōu)化上一篇的通訊錄,實現(xiàn)將錄入的數(shù)據(jù)在程序退出后存儲到文件中,在下一次程序開始時打開文件獲取數(shù)據(jù),如果你覺得我寫的還不錯的話,可以給我一個贊??嗎,感謝?? 既

    2024年02月04日
    瀏覽(89)
  • 通訊錄管理系統(tǒng)(個人學習筆記黑馬學習)

    通訊錄管理系統(tǒng)(個人學習筆記黑馬學習)

    通訊錄是一個可以記錄親人、好友信息的工具。 本教程主要利用C++來實現(xiàn)一個通訊錄管理系統(tǒng)系統(tǒng)中需要實現(xiàn)的功能如下: 添加聯(lián)系人:向通訊錄中添加新人,信息包括(姓名、性別、年齡、聯(lián)系電話、家庭住址)最多記錄1000人 顯示聯(lián)系人:顯示通訊錄中所有聯(lián)系人信息 刪除聯(lián)系

    2024年02月10日
    瀏覽(778)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包