C++实现教师管理系统

C++实现教师管理系统攻略

1、设计系统结构

在实现教师管理系统前,我们需要先设计系统的结构。

在本系统中,我们需要完成以下功能:

  1. 添加教师信息
  2. 删除教师信息
  3. 修改教师信息
  4. 查询教师信息
  5. 显示所有教师信息

综上所述,我们可以设计出如下的系统结构:

struct Teacher
{
    int id;            //教师编号
    string name;       //教师姓名
    int age;           //教师年龄
    string department; //教师所在学院
};

void AddTeacher();     //添加教师信息
void DeleteTeacher();  //删除教师信息
void ModifyTeacher();  //修改教师信息
void QueryTeacher();   //查询教师信息
void ShowAllTeacher(); //显示所有教师信息

2、编写具体操作函数

接下来,我们就可以编写各个具体操作函数了。

2.1 添加教师信息函数

void AddTeacher()
{
    Teacher newTeacher;
    cout << "请输入教师编号:";
    cin >> newTeacher.id;
    cout << "请输入教师姓名:";
    cin >> newTeacher.name;
    cout << "请输入教师年龄:";
    cin >> newTeacher.age;
    cout << "请输入教师所在学院:";
    cin >> newTeacher.department;
    //将新教师信息加入教师信息列表中
    teacherList.push_back(newTeacher);
    cout << "添加教师信息成功!" << endl;
}

2.2 删除教师信息函数

void DeleteTeacher()
{
    int deleteID;
    cout << "请输入要删除的教师编号:";
    cin >> deleteID;
    //使用迭代器查找指定编号的教师信息并删除
    for (list<Teacher>::iterator it = teacherList.begin(); it != teacherList.end(); it++)
    {
        if (it->id == deleteID)
        {
            teacherList.erase(it);
            cout << "删除教师信息成功!" << endl;
            return;
        }
    }
    cout << "未找到要删除的教师信息!" << endl;
}

2.3 修改教师信息函数

void ModifyTeacher()
{
    int modifyID;
    cout << "请输入要修改的教师编号:";
    cin >> modifyID;
    //使用迭代器查找指定编号的教师信息并修改
    for (list<Teacher>::iterator it = teacherList.begin(); it != teacherList.end(); it++)
    {
        if (it->id == modifyID)
        {
            cout << "请输入教师姓名:";
            cin >> it->name;
            cout << "请输入教师年龄:";
            cin >> it->age;
            cout << "请输入教师所在学院:";
            cin >> it->department;
            cout << "修改教师信息成功!" << endl;
            return;
        }
    }
    cout << "未找到要修改的教师信息!" << endl;
}

2.4 查询教师信息函数

void QueryTeacher()
{
    int queryID;
    cout << "请输入要查询的教师编号:";
    cin >> queryID;
    //使用迭代器查找指定编号的教师信息并展示
    for (list<Teacher>::iterator it = teacherList.begin(); it != teacherList.end(); it++)
    {
        if (it->id == queryID)
        {
            cout << "教师编号:" << it->id << endl;
            cout << "教师姓名:" << it->name << endl;
            cout << "教师年龄:" << it->age << endl;
            cout << "教师所在学院:" << it->department << endl;
            cout << "查询教师信息成功!" << endl;
            return;
        }
    }
    cout << "未找到要查询的教师信息!" << endl;
}

2.5 显示所有教师信息函数

void ShowAllTeacher()
{
    for (list<Teacher>::iterator it = teacherList.begin(); it != teacherList.end(); it++)
    {
        cout << "教师编号:" << it->id << endl;
        cout << "教师姓名:" << it->name << endl;
        cout << "教师年龄:" << it->age << endl;
        cout << "教师所在学院:" << it->department << endl;
        cout << endl;
    }
    cout << "共查询到 " << teacherList.size() << " 条教师信息!" << endl;
}

3、示例说明

示例1:添加教师信息

请输入教师编号:1
请输入教师姓名:Tom
请输入教师年龄:30
请输入教师所在学院:Computer Science
添加教师信息成功!

示例2:查询教师信息

请输入要查询的教师编号:1
教师编号:1
教师姓名:Tom
教师年龄:30
教师所在学院:Computer Science
查询教师信息成功!

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C++实现教师管理系统 - Python技术站

(0)
上一篇 2023年5月23日
下一篇 2023年5月23日

相关文章

  • C语言实现栈的示例代码

    下面我会给您讲解一下C语言实现栈的示例代码的完整攻略。 一、栈的定义 栈(Stack)是一种只能在一端进行插入或删除操作的线性表。栈按照先进后出(Last in First Out)的原则进行操作,也就是说后插入进去的元素先被删除。 栈的两个特殊点: 栈底:数据插入的一端,即数据结构的初始位置。 栈顶:栈最近插入的元素所在的位置。 二、栈的操作 栈的基本操作…

    C 2023年5月23日
    00
  • CGLD是什么币种?一文了解CGLD币怎么样

    CGLD是什么币种? CGLD(Celo Gold)是Celo协议的代币,是以太坊 ERC20 标准代币,也是Celo生态系统中的原生资产。Celo是基于信任的区块链平台,专门设计用于支持金融包容,旨在实现金融服务的覆盖面和可用性。 Celo协议旨在为人们提供使用区块链技术进行支付和汇款服务,特别是为那些没有银行账户的人提供服务。基于Celo 协议的平台允许…

    C 2023年5月23日
    00
  • C语言使用函数指针

    C语言中,函数指针是指向函数的指针变量。使用函数指针可以让程序具有更高的灵活性和可扩展性,能够更好地适应不同的需求。 1. 声明函数指针 声明函数指针的语法如下: 返回类型 (*指针变量名)(参数列表); 例如: int (*myFunc)(int a, int b); 上述代码中,声明了一个名为 myFunc 的指向返回类型为 int,参数列表为 (int…

    C 2023年5月9日
    00
  • C 程序 计算元音和辅音

    下面详细讲解一下使用攻略: C程序计算元音和辅音 简介 这是一款C语言程序,用于计算输入字符串中元音字母和辅音字母个数。 使用说明 编译 程序需要通过编译才能使用。用户可使用GCC编译器,运行以下命令进行编译: gcc -o count_vowels_and_consonants count_vowels_and_consonants.c 运行 编译成功后,…

    C 2023年5月9日
    00
  • Alibaba Fastjson之超好用的JOSN解析库

    首先需要明确的是,Fastjson是一款由阿里巴巴集团开发的JSON解析库,它由于其灵活、高效、易用等优势,已经成为Java开发领域中使用最广泛的JSON解析库之一。下面,我将结合示例说明,讲解如何使用Fastjson这款超好用的JSON解析库。 1. 引入Fastjson依赖 首先,在使用Fastjson之前,我们需要先将其引入到我们的项目中。我们可以通过…

    C 2023年5月23日
    00
  • C++ 如何实现顺序栈(使用模板类)

    C++如何实现顺序栈(使用模板类) 什么是顺序栈? 顺序栈是一种使用数组存储数据的栈。在顺序栈中,栈顶指针指向存储栈顶元素的位置,栈顶指针的下标为 0 时表示栈为空。 如何实现顺序栈? 1.定义模板类 顺序栈可以通过 C++ 中的模板类来实现,这样可以使其具备更好的可扩展性和复用性。下面是一个使用模板类实现顺序栈的示例代码: template <cla…

    C 2023年5月22日
    00
  • C++如何实现简单的计时器详解

    接下来我会详细讲解如何用C++实现简单的计时器。这里将分为以下几个步骤: 1.头文件和命名空间 首先,我们需要包含两个头文件:<iostream>和 <chrono>。还需要声明使用 std 命名空间,这样我们就可以使用 cout 和 endl 等标准输出命令,以及定义我们的计时器。 2.计时器定义 我们将使用 std::chrono…

    C 2023年5月23日
    00
  • VSCode添加头文件(C/C++)的实现示例

    下面是VSCode添加头文件的实现攻略: 步骤一:新建C/C++源文件 在VSCode中新建C/C++源文件,你可以通过菜单栏的文件->新建文件,或者使用快捷键Ctrl+N。 步骤二:添加头文件 添加头文件有两种方式: 方式一:手动添加头文件 在新建的C/C++源文件中的代码位置,手动添加头文件引用。例如,如果你想添加stdio.h,可以使用以下代码:…

    C 2023年5月23日
    00
合作推广
合作推广
分享本页
返回顶部