21xrx.com
2025-04-01 19:20:22 Tuesday
文章检索 我的文章 写文章
C++教务管理系统:完整源代码
2023-06-25 18:45:53 深夜i     13     0
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)
         
           cout<<"添加失败
         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++编程练习项目。

  
  

评论区

请求出错了