通訊錄管理系統(tǒng)C++-創(chuàng)新互聯(lián)

目錄

創(chuàng)新互聯(lián)是一家網(wǎng)站設計公司,集創(chuàng)意、互聯(lián)網(wǎng)應用、軟件技術(shù)為一體的創(chuàng)意網(wǎng)站建設服務商,主營產(chǎn)品:自適應網(wǎng)站建設、品牌網(wǎng)站設計、成都全網(wǎng)營銷推廣。我們專注企業(yè)品牌在網(wǎng)站中的整體樹立,網(wǎng)絡互動的體驗,以及在手機等移動端的優(yōu)質(zhì)呈現(xiàn)。成都網(wǎng)站設計、成都網(wǎng)站建設、移動互聯(lián)產(chǎn)品、網(wǎng)絡運營、VI設計、云產(chǎn)品.運維為核心業(yè)務。為用戶提供一站式解決方案,我們深知市場的競爭激烈,認真對待每位客戶,為客戶提供賞析悅目的作品,網(wǎng)站的價值服務。

一、前言

二、設計要求

三、概要設計

3.1 主界面設計

3.1.1 設計圖

3.1.2設計代碼

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

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

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

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

四、詳細設計

4.1 頭文件

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

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

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 恢復通訊錄

4.3.12 清空通訊錄

4.3.13 退出程序

五、源代碼清單


一、前言

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

二、設計要求

使用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ù)備份到文件中。

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

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

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

三、概要設計 3.1 主界面設計 3.1.1 設計圖

cbc8edc0a1d1401b819febd9d9601b4a.png

3.1.2設計代碼
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、恢復通訊錄*****"<< endl<< "*****8、清空通訊錄*****"<< endl<< "*****0、退出通訊錄*****"<< endl<< "***********************"<< endl;
}
3.2 存儲結(jié)構(gòu)設計

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

d7e9addcf9ce4146aaa723415beb38bc.png

3.3 系統(tǒng)功能設計 3.3.1 系統(tǒng)流程圖328fbdc11a744cacb3280cd971427a92.png3.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)

恢復通訊錄

void cleanPerson(addressbook *abs)

清空聯(lián)系人

void end()

退出通訊錄

四、詳細設計 4.1 頭文件
#include#include#includeusing namespace std;
4.2?數(shù)據(jù)定義
#define MAX 1000 //大人數(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)主要子程序詳細設計 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: //恢復通訊錄
            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;
        cout<< "修改成功"<< endl;
        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(); //關閉文件
    cout<< "備份成功"<< endl;
}
4.3.11 恢復通訊錄

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

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(); //關閉文件
        cout<< "恢復成功"<< endl;
    }
    else
    {
        cout<< "文件打開失敗"<< endl;
    }
}
4.3.12 清空通訊錄

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

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

在主菜單按“0”運行,退出通訊錄管理系統(tǒng)。

void end()
{
    cout<< "歡迎下次使用"<< endl;
    exit(0); //退出程序
}
五、源代碼清單
#include#include#includeusing namespace std;

#define MAX 1000 //大人數(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: //恢復通訊錄
            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、恢復通訊錄*****"<< 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;
        cout<< "修改成功"<< endl;
        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(); //關閉文件
    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(); //關閉文件
        cout<< "恢復成功"<< endl;
    }
    else
    {
        cout<< "文件打開失敗"<< endl;
    }
}

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

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

你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧

分享題目:通訊錄管理系統(tǒng)C++-創(chuàng)新互聯(lián)
標題來源:http://muchs.cn/article22/dpdjjc.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設、網(wǎng)站設計公司、品牌網(wǎng)站制作網(wǎng)站制作、微信公眾號、企業(yè)網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設