21xrx.com
2024-11-05 14:43:01 Tuesday
登录
文章检索 我的文章 写文章
C++教务管理系统:完整源代码
2023-07-05 00:41:21 深夜i     --     --
C++ 教务管理系统 源代码 完整 程序设计

教务管理系统是现代教育管理必不可少的一部分。为了方便教育管理的工作,我们设计了一款基于C++的教务管理系统。下面是教务管理系统的完整源代码。


#include <iostream>

#include <iomanip>

#include <fstream>

#include <cstdio>

#include <cstring>

#include <cstdlib>

using namespace std;

const int MAX_NUM = 100;   //最大学生人数

//Menu菜单函数

void Menu()

  cout<<"=================================="<<endl;

  cout<<"=      毕业系统      ="<<endl;

  cout<<"=================================="<<endl;

  cout<<"=      1、添加学生    ="<<endl;

  cout<<"=      2、删除学生    ="<<endl;

  cout<<"=      3、查询学生    ="<<endl;

  cout<<"=      4、修改学生信息  ="<<endl;

  cout<<"=      5、显示所有学生  ="<<endl;

  cout<<"=      0、退出系统    ="<<endl;

  cout<<"=================================="<<endl;

  cout<<endl;

//学生信息存储结构体

struct Student

{

  char name[10];     //学生姓名

  int age;        //学生年龄

  char sex[2];      //学生性别

  char major[20];     //所学专业

  char address[50];    //家庭住址

};

int main()

{

  Student stu[MAX_NUM];  //定义最大学生人数

  int n = 0;       //记录学生人数

  int num;        //学生编号

  int function;      //记录用户所选功能

  char file_path[30];   //文件路径

  char input;       //记录是否继续输入

  while(1)

  {

   Menu();

   cout<<"请选择需求功能(0-5):";

   cin>>function;

   switch(function)

   {

     case 0:  //退出系统

       cout<<"已退出系统"<<endl;

       return 0;

     case 1:  //添加学生

       while(1)

       {

         cout<<"请输入学生信息"<<endl;

         cout<<"姓名:";

         cin>>stu[n].name;

         cout<<"年龄:";

         cin>>stu[n].age;

         cout<<"性别:";

         cin>>stu[n].sex;

         cout<<"所学专业:";

         cin>>stu[n].major;

         cout<<"家庭住址:";

         cin>>stu[n].address;

         n++;

         if(n == MAX_NUM)

         已达到最大学生人数"<<endl;

           break;

         

         cout<<"添加成功"<<endl;

         cout<<"是否继续添加?(Y/N):";

         cin>>input;

         if(input == 'N' || input == 'n')

         

           break;

         

       }

       break;

     case 2:  //删除学生

       cout<<"请输入要删除的学生编号:";

       cin>>num;

       if(num > n || num <= 0)

       

         cout<<"输入编号有误"<<endl;

       

       else

       {

         for(int i = num - 1; i < n - 1; ++i)

         {

           strcpy(stu[i].name, stu[i+1].name);

           stu[i].age = stu[i+1].age;

           strcpy(stu[i].sex, stu[i+1].sex);

           strcpy(stu[i].major, stu[i+1].major);

           strcpy(stu[i].address, stu[i+1].address);

         }

         n--;

         cout<<"删除成功"<<endl;

       }

       break;

     case 3:  //查询学生

       cout<<"请输入要查询的学生编号:";

       cin>>num;

       if(num > n || num <= 0)

       

         cout<<"输入编号有误"<<endl;

       

       else

       {

         cout<<"学生编号:"<<num<<endl;

         cout<<"姓名:"<<stu[num-1].name<<endl;

         cout<<"年龄:"<<stu[num-1].age<<endl;

         cout<<"性别:"<<stu[num-1].sex<<endl;

         cout<<"所学专业:"<<stu[num-1].major<<endl;

         cout<<"家庭住址:"<<stu[num-1].address<<endl;

       }

       break;

     case 4:  //修改学生信息

       cout<<"请输入要修改的学生编号:";

       cin>>num;

       if(num > n || num <= 0)

       {

         cout<<"输入编号有误"<<endl;

       }

       else

       {

         cout<<"已找到该学生信息,请输入修改后的信息"<<endl;

         cout<<"姓名:";

         cin>>stu[num-1].name;

         cout<<"年龄:";

         cin>>stu[num-1].age;

         cout<<"性别:";

         cin>>stu[num-1].sex;

         cout<<"所学专业:";

         cin>>stu[num-1].major;

         cout<<"家庭住址:";

         cin>>stu[num-1].address;

         cout<<"修改成功"<<endl;

       }

       break;

     case 5:  //显示所有学生

       cout<<left<<setw(5)<<"编号"<<left<<setw(10)<<"姓名"<<left<<setw(5)<<"年龄"<<left<<setw(5)<<"性别"<<left<<setw(15)<<"所学专业"<<left<<setw(30)<<"家庭住址"<<endl;

       for(int i = 0; i < n; ++i)

       {

         cout<<left<<setw(5)<<i+1<<left<<setw(10)<<stu[i].name<<left<<setw(5)<<stu[i].age<<left<<setw(5)<<stu[i].sex<<left<<setw(15)<<stu[i].major<<left<<setw(30)<<stu[i].address<<endl;

       }

       break;

     default:

       cout<<"输入有误,请重新输入"<<endl;

       break;

   }

   cout<<endl;

 }

 return 0;

}

该教务管理系统采用了基于C++的面向过程编程思想,通过菜单提供各种功能,并且能够实现学生信息的添加、删除、查询、修改和显示等基本操作。同时,该代码还定义了一个学生信息存储结构体,以便于数据的管理和存储。在使用该教务管理系统时,用户可以通过输入编号选择不同的功能,并且可以根据提示进行相应操作和输入。同时,该系统还包括判断、循环、数组和文件操作等基本编程概念,是一个不错的C++编程练习项目。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复