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++11中绑定器bind的原理与使用

    详解C++11中绑定器bind的原理与使用 什么是bind bind是C++11中的一个函数绑定器,它可以将一个函数和一些参数绑定起来,形成一个可调用的新函数对象。绑定函数的参数可以在绑定时全部传递,也可以在调用时再进行部分传递。这种参数的绑定机制,可以方便地用来实现回调函数、函数适配器等功能。 bind函数的原型 template<class F, …

    C 2023年5月22日
    00
  • 开机0xc000000f进不了系统怎么办?0xc000000f进不了系统修复方法

    开机0xc000000f进不了系统怎么办 问题描述 在开机时,如果系统提示0xc000000f错误,那么说明Windows启动管理器中的某个文件已损坏或被删除,Windows无法正常启动。 修复方法 方法一:使用Windows安装光盘修复启动 将Windows安装光盘插入电脑并重启电脑。 进入Windows安装环境界面,选择语言、时间以及货币格式等信息。 单…

    C 2023年5月23日
    00
  • C语言设计图书登记系统与停车场管理系统的实例分享

    C语言设计图书登记系统与停车场管理系统的实例分享 简介 C语言是一种通用的、高效的计算机编程语言,被广泛应用于数字设计、操作系统、游戏开发和应用软件等领域。本文将分享两个基于C语言的实例,分别是图书登记系统和停车场管理系统,介绍其设计思路、代码实现和运行效果。 图书登记系统 设计思路 图书登记系统是一个简单的管理系统,主要实现以下功能: 登记新书籍 查询书籍…

    C 2023年5月22日
    00
  • 基于C语言实现贪吃蛇小游戏

    基于C语言实现贪吃蛇小游戏攻略 一、游戏介绍 贪吃蛇是一款经典的小游戏,它的游戏规则十分简单,玩家通过操控蛇的运动方向,让蛇吃到充满整个游戏区域的食物,蛇吃掉食物后身体长度会逐渐增加,当蛇的头部与自己的身体或者游戏区域的边界相撞时游戏结束。 二、游戏实现 1. 游戏界面设计 我们需要设计一个游戏界面,包括游戏区域、蛇、食物等元素,可以使用C语言的图形库如gr…

    C 2023年5月23日
    00
  • 浅谈C++中对象的复制与对象之间的相互赋值

    浅谈C++中对象的复制与对象之间的相互赋值 在C++中,对象的复制与对象之间的相互赋值是面向对象编程非常重要的一部分,在程序设计中经常见到,深入了解并掌握这些概念对于程序设计和编写高质量的代码将大有裨益。 对象的复制 在C++中,对象的复制是指将一个对象的值,完全复制到另一个对象中。即使这些对象的类型不同,只要能够把一个对象的值复制到另一个对象中,就可以称之…

    C 2023年5月22日
    00
  • c++关键字const的用法详解

    下面就是对“c++关键字const的用法详解”的完整攻略。 什么是const const 是 C++ 中的一个关键字,用来定义常量。在 C++ 中,常量是指不能被修改的值。 const的用法 1. 修饰变量 const 可以用来定义一个常量变量,被 const 修饰的变量一旦被初始化,就不能被修改。 示例代码: const int a = 10; 2. 修饰…

    C 2023年5月22日
    00
  • Java多线程连续打印abc实现方法详解

    Java多线程连续打印abc实现方法详解 在Java中,实现多线程有许多种方法。本攻略将会详细讲解一种实现多个线程连续打印abc的方法。 代码实现 既然是多线程,那么自然要用到Thread类。本例中,我们将定义三个线程打印a、b、c。因为需要保证abc交替打印,所以还需要使用wait()和notify()方法实现线程间的通信。 class PrintABC …

    C 2023年5月22日
    00
  • Linux中rm命令使用以及C/C++代码实现

    下面我将为你详细讲解“Linux中rm命令使用以及C/C++代码实现”的完整攻略。 一、Linux中rm命令使用 1. 命令格式 rm 命令的格式如下: rm [选项] 文件名 2. 常用选项 以下是 rm 命令常用选项的说明: -r:递归删除目录及目录中的所有文件和子目录。该选项不会询问用户是否确认删除,除非使用了 -i 选项。 -f:强制删除文件或目录,…

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