高校人员信息管理系统

数据模型
教师,实验人员,行政人员 ,教师兼行政人员
共有属性:编号,姓名,性别,出生年月
教师:所在系部,专业,职称;
实验员:所在实验室,职称
行政人员:政治面貌,职务
功能:增删改查
统计 性别 年龄段 人员类别等

vs编译器

//Txl.h
#include<iostream>
using namespace std;
#define Max 1000 
struct person
{
    string m_Name;
    string m_Sex;//规定 1 为男  2为女
    int m_age;
    string m_phone;
    string m_Address;
};
struct addressBooks
{
    struct person personArray[Max];//通讯录中保存的联系人数组
    int m_size = 0;//通讯录中人员个数
};
void addPerson(addressBooks* abc);          //添加联系人
void showPerson(addressBooks* abc);         //显示联系人
int isExit(addressBooks* abc, string name); //遍历通讯录
void deletePerson(addressBooks* abc);       //删除联系人
void findPerson(addressBooks* abc);         //查找联系人
void modifyPerson(addressBooks* abc);       //修改联系人
void clearPerson(addressBooks* abc);        //清空通讯录
 
//Txl.cpp
#include"Txl.h"
void addPerson(addressBooks* abc)//添加联系人
{
    if (abc->m_size >= Max)
    {
        cout << "通讯录已满,添加失败" << endl;
    }
    else {
        string name; cout << "添加联系人名字:" << endl; cin >> name;
        abc->personArray[abc->m_size].m_Name = name;
        int sex = 0; cout << "联系人性别为:" << endl;
        cout << "1---男\n" << "2---女\n"; cin >> sex;
        while (1) {
            if (sex == 1 || sex == 2)
            {
                if (sex == 1) abc->personArray[abc->m_size].m_Sex = "男";
                else          abc->personArray[abc->m_size].m_Sex = "女";
                break;
            }
            else cout << "输入有误,请在数字 1和2中选择" << endl; cin >> sex;
        }
        int age = 0; cout << "联系人年龄为:" << endl; cin >> age;
        abc->personArray[abc->m_size].m_age = age;
        string phoneNumber = "0"; cout << "联系人电话:" << endl; cin >> phoneNumber;
        abc->personArray[abc->m_size].m_phone = phoneNumber;
        string address = "0"; cout << "联系人地址为:" << endl; cin >> address;
        abc->personArray[abc->m_size].m_Address = address; cout << "添加成功" << endl;
        //更新通讯录人数
        abc->m_size++;
        system("pause"); system("cls");
    }
}
void showPerson(addressBooks* abc)
{
    if (abc->m_size == 0) cout << "当前记录为空" << endl;
    else {
        for (int i = 0; i < abc->m_size; i++) {
            cout << "联系人:\t" << abc->personArray[i].m_Name << "\t性别: " 
             << abc->personArray[i].m_Sex<< "\t年龄: " << 
                abc->personArray[i].m_age << "\t电话: " << abc->personArray[i].m_phone
             << "\t地址: " << abc->personArray[i].m_Address << endl;
        }
    }
    system("pause"); system("cls");
 
}
int isExit(addressBooks* abc, string name)//判定通讯录是否有此人
{
    for (int i = 0; i < abc->m_size; i++)
    {
        if (abc->personArray[i].m_Name == name) return i;
    }
    return -1;
}
void findPerson(addressBooks* abc)
{
    cout << "输入要查找联系人的名字:" << endl;
    string name = "0"; cin >> name;
    int i = isExit(abc, name);
    if (i != -1)
    {
        cout << "联系人:\t" << abc->personArray[i].m_Name << "\t性别: "
            << abc->personArray[i].m_Sex << "\t年龄: " << 
            abc->personArray[i].m_age << "\t电话: "
            << abc->personArray[i].m_phone << "\t地址: " 
            << abc->personArray[i].m_Address << endl;
    }
    else {
        cout << "查无此人" << endl;
    }
    system("pause"); system("cls");
}
void deletePerson(addressBooks* abc)
{
    if (abc->m_size == 0)
    {
        cout << "当前记录为空" << endl;
    }
    else {
        cout << "输入要删除的联系人:" << endl;
        string name = "0"; cin >> name;
        int v = isExit(abc, name);
        if (v == -1) {
            cout << "查无此人" << endl;
        }
        else if (v != -1) {
            for (int i = v; i < abc->m_size; i++)
            {
                abc->personArray[i] = abc->personArray[i + 1];
            }
            abc->m_size--;
            cout << "删除成功" << endl;
        }
    }
    system("pause"); system("cls");
}
void modifyPerson(addressBooks* abc)
{
    cout << "输入要修改的联系人名字" << endl;
    string name = "0"; cin >> name;
    int v = isExit(abc, name);
    if (v != -1)
    {
        string name; cout << "更改后的名字为:" << endl; cin >> name;
        abc->personArray[v].m_Name = name;
        int sex = 0; cout << "更改后性别为:" << endl;
        cout << "1---男\n" << "2---女\n"; cin >> sex;
        while (1) {
            if (sex == 1 || sex == 2)
            {
                if (sex == 1) abc->personArray[v].m_Sex = "男";
                else          abc->personArray[v].m_Sex = "女";
                break;
            }
            else cout << "输入有误,请在数字 1和2中选择" << endl; cin >> sex;
        }
        int age = 0; cout << "更改后年龄为:" << endl; cin >> age;
        abc->personArray[v].m_age = age;
        string phoneNumber = "0"; cout << "更改后电话号码:" << endl; cin >> phoneNumber;
        abc->personArray[v].m_phone = phoneNumber;
        string address = "0"; cout << "更改后地址为:" << endl; cin >> address;
        abc->personArray[v].m_Address = address; cout << "更改成功" << endl;
    }
    else {
        cout << "查无此人" << endl;
    }
    system("pause"); system("cls");
}
void clearPerson(addressBooks* abc)
{
    abc->m_size = 0;
    cout << "通讯录已清空" << endl;
    system("pause"); system("cls");
}
//函数声明,可加可不加,这里加上为了更直观的表现出来
void addPerson(addressBooks* abc);          //添加联系人
void showPerson(addressBooks* abc);         //显示联系人
int isExit(addressBooks* abc, string name); //遍历通讯录
void deletePerson(addressBooks* abc);       //删除联系人
void findPerson(addressBooks* abc);         //查找联系人
void modifyPerson(addressBooks* abc);       //修改联系人
void clearPerson(addressBooks* abc);        //清空通讯录