• c++ 通讯录


    #include <iostream>
    //#include "add.h"
    
    #define MAX 10
    using namespace std;
    
    void showMenu(){
        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 gender;// 1:男,0:女
        int age;
        string phone;
        string addr;
    };
    
    struct Addressbooks{
        Person personArr[MAX];
        int size = 0;
    };
    
    
    void addAds(Addressbooks * ads){
        if(ads->size >= MAX){
            cout<<"通讯录人数已经超过"<<MAX<<endl;
            return;
        } else{
            cout<<"请输入姓名"<<endl;
            cin>>ads->personArr[ads->size].name;
            cout<<"请输入性别(1:男,2:女)"<<endl;
            while (true){
                int gender;
                cin>>gender;
                if(gender == 1 || gender == 2){
                    ads->personArr[ads->size].gender = gender;
                    break;
                }
                cout<<"输入有误"<<endl;
            }
            cout<<"请输入年龄"<<endl;
            cin>>ads->personArr[ads->size].age;
            cout<<"请输入电话"<<endl;
            cin>>ads->personArr[ads->size].phone;
            cout<<"请输入地址"<<endl;
            cin>>ads->personArr[ads->size].addr;
            cout<<"添加成功"<<endl;
            ads->size++;
    
        }
    
    }
    
    void showAds(Addressbooks * ads){
        for (int i = 0; i < ads->size; ++i) {
    
            cout<<ads->personArr[i].name<<"	"<<
            ads->personArr[i].gender<<"	"<<
            ads->personArr[i].age<<"	"<<
            ads->personArr[i].phone<<"	"<<
            ads->personArr[i].addr<<"	"<<
    
            endl;
        }
        system("clear");
    }
    
    
    int getAdsIndex(Addressbooks * ads, string name){
        for (int i = 0; i < ads->size; ++i) {
            if(ads->personArr[i].name == name){
                return i;
            }
        }
        return -1;
    }
    void delAds(Addressbooks * ads){
        cout<<"请输入姓名"<<endl;
        string name;
        cin>>name;
        int index = getAdsIndex(ads,name);
        if(index == -1){
            cout<<"查无此人"<<endl;
            return;
        }
    
        for (int i = index; i < ads->size && i + 1 < ads->size - 1; ++i) {
            ads->personArr[i] = ads->personArr[i+1];
        }
        ads->size--;
        cout<<"删除成功"<<endl;
    }
    
    void getAds(Addressbooks * ads){
        cout<<"请输入姓名"<<endl;
        string name;
        cin>>name;
        int i = getAdsIndex(ads,name);
        if(i == -1){
            cout<<"查无此人"<<endl;
            return;
        }
    
        cout<<ads->personArr[i].name<<"	"<<
            ads->personArr[i].gender<<"	"<<
            ads->personArr[i].age<<"	"<<
            ads->personArr[i].phone<<"	"<<
            ads->personArr[i].addr<<"	"<<
    
            endl;
    }
    
    void updateAds(Addressbooks * ads){
        cout<<"请输入姓名"<<endl;
        string name;
        cin>>name;
        int i = getAdsIndex(ads,name);
        if(i == -1){
            cout<<"查无此人"<<endl;
            return;
        }
        cout<<"请输入姓名"<<endl;
        cin>>ads->personArr[i].name;
        cout<<"请输入性别(1:男,2:女)"<<endl;
        cin>>ads->personArr[i].gender;
        cout<<"请输入年龄"<<endl;
        cin>>ads->personArr[i].age;
        cout<<"请输入电话"<<endl;
        cin>>ads->personArr[i].phone;
        cout<<"请输入地址"<<endl;
        cin>>ads->personArr[i].addr;
        cout<<"修改成功"<<endl;
    
    }
    
    void clearAds(Addressbooks * ads){
        ads->size = 0;
        cout<<"清理完成"<<endl;
    }
    
    int main() {
        int select;
        Addressbooks ads;
    
        while (true){
            showMenu();
            cin>> select;
            switch (select){
                case 1:
                    addAds(&ads);
                    break;
                case 2:
                    showAds(&ads);
                    break;
                case 3:
                    delAds(&ads);
                    break;
                case 4:
                    getAds(&ads);
                    break;
                case 5:
                    updateAds(&ads);
                    break;
                case 6:
                    clearAds(&ads);
                    break;
                case 0:
                    cout<<"欢迎下次使用"<<endl;
                    return 0;
                default:
                    break;
            }
    
        }
        return 0;
    }
  • 相关阅读:
    loushang框架的开发中关于BSP的使用,将写好的功能模块部署到主页界面结构上
    浪潮“楼上”开发平台简介
    New博客园新的开始!
    python相关
    day20 函数闭包与装饰器
    计算机基础
    day19 生成器函数
    简历
    day18 迭代器
    数据库基础(代码)
  • 原文地址:https://www.cnblogs.com/dongma/p/13812310.html
Copyright © 2020-2023  润新知