zoukankan      html  css  js  c++  java
  • 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;
    }
  • 相关阅读:
    SQL Server 查看正在运行的事务信息的 2 种方法。
    SQL Server 查看正在运行的事务信息的 2 种方法。
    js防抖和限流
    js防抖和限流
    CSS cursor 属性
    CSS cursor 属性
    JS-中使用Math.round(x)保留1位小数点
    I/O系列教材 (一)- Java 的File类,以及常用方法
    异常处理系列教材 (五)- Java 自定义异常
    异常处理系列教材 (四)- java Throwable接口
  • 原文地址:https://www.cnblogs.com/dongma/p/13812310.html
Copyright © 2011-2022 走看看