21xrx.com
2024-12-22 21:24:27 Sunday
登录
文章检索 我的文章 写文章
C++学生信息管理系统代码
2023-07-10 00:15:00 深夜i     --     --
C++ 学生信息 管理系统 代码 编程

C++学生信息管理系统是一种非常实用的程序,能够有效地管理学生个人信息,提供便捷的查询和编辑功能。下面是一份C++学生信息管理系统代码,希望能够给大家提供参考。

代码如下:

#include

#include

#include

#include

using namespace std;

struct Student {

  char name[20];

  char sno[11];

  int age;

  int grade[4];

  int sumGrade;

};

Student stu[30];

void clrscr(); //清空屏幕

void addStu(); //增加学生信息

void delStu(); //删除学生信息

void modiStu(); //修改学生信息

void searchStu();//查找学生信息

void showStu(); //显示所有学生信息

void sortStu(); //按总成绩排序

void saveStu(); //保存学生信息

void loadStu(); //从文件加载学生信息

int main() {

  int choice;

  loadStu();

  do {

    clrscr();

    cout<<"========================= 欢迎使用学生信息管理系统 =========================\n";

    cout<<"1.增加学生信息  2.删除学生信息  3.修改学生信息  4.查询学生信息\n";

    cout<<"5.显示所有学生信息 6.按总成绩排序  7.保存学生信息  0.退出程序\n";

    cout<<"输入您的选择:";

    cin>>choice;

    switch(choice) {

      case 1:addStu();break;

      case 2:delStu();break;

      case 3:modiStu();break;

      case 4:searchStu();break;

      case 5:showStu();break;

      case 6:sortStu();break;

      case 7:saveStu();break;

      case 0:break;

      default:cout<<"输入错误,请重新输入!\n";

    }

    system("pause");

  }while(choice!=0);

  return 0;

}

void clrscr() {

  system("cls");

}

void addStu() { //增加学生信息

  int i=0;

  while(stu[i].name[0]!='\0'&&i<30) i++;

  if(i==30) {

    cout<<"学生信息已达上限,无法添加!\n";

    return;

  }

  cout<<"请输入学生姓名:";

  cin>>stu[i].name;

  cout<<"请输入学生学号:";

  cin>>stu[i].sno;

  cout<<"请输入学生年龄:";

  cin>>stu[i].age;

  for(int j=0;j<4;j++) {

    cout<<"请输入学生第"< <<"门成绩:";

    cin>>stu[i].grade[j];

  }

  stu[i].sumGrade=stu[i].grade[0]+stu[i].grade[1]+stu[i].grade[2]+stu[i].grade[3];

  cout<<"学生信息添加成功!\n";

}

void delStu() { //删除学生信息

  char sno[11];

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

  cin>>sno;

  int i;

  for(i=0;i<30;i++) {

    if(strcmp(stu[i].sno,sno)==0) break;

  }

  if(i==30) {

    cout<<"未找到该学号对应的学生,请检查输入是否正确!\n";

    return;

  }

  stu[i].name[0]='\0';

  cout<<"学生信息删除成功!\n";

}

void modiStu() { //修改学生信息

  char sno[11];

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

  cin>>sno;

  int i;

  for(i=0;i<30;i++) {

    if(strcmp(stu[i].sno,sno)==0) break;

  }

  if(i==30) {

    cout<<"未找到该学号对应的学生,请检查输入是否正确!\n";

    return;

  }

  cout<<"请输入修改后的学生姓名:";

  cin>>stu[i].name;

  cout<<"请输入修改后的学生年龄:";

  cin>>stu[i].age;

  for(int j=0;j<4;j++) {

    cout<<"请输入修改后的学生第"< <<"门成绩:";

    cin>>stu[i].grade[j];

  }

  stu[i].sumGrade=stu[i].grade[0]+stu[i].grade[1]+stu[i].grade[2]+stu[i].grade[3];

  cout<<"学生信息修改成功!\n";

}

void searchStu() { //查找学生信息

  char sno[11];

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

  cin>>sno;

  int i;

  for(i=0;i<30;i++) {

    if(strcmp(stu[i].sno,sno)==0) break;

  }

  if(i==30) {

    cout<<"未找到该学号对应的学生,请检查输入是否正确!\n";

    return;

  }

  cout<<"学生姓名:"< <

  cout<<"学生学号:"< <

  cout<<"学生年龄:"< <

  for(int j=0;j<4;j++) {

    cout<<"学生第"< <<"门成绩:"< <

  }

  cout<<"学生总成绩:"< <

}

void showStu() { //显示所有学生信息

  for(int i=0;i<30;i++) {

    if(stu[i].name[0]!='\0') {

      cout<<"学生姓名:"< <

      cout<<"学生学号:"< <

      cout<<"学生年龄:"< <

      for(int j=0;j<4;j++) {

        cout<<"学生第"< <<"门成绩:"< <

      }

      cout<<"学生总成绩:"< <

    }

  }

}

void sortStu() { //按总成绩排序

  for(int i=0;i<29;i++) {

    if(stu[i].name[0]!='\0') {

      for(int j=i+1;j<30;j++) {

        if(stu[j].name[0]!='\0'&&stu[i].sumGrade

          Student t=stu[i];

          stu[i]=stu[j];

          stu[j]=t;

        }

      }

    }

  }

  cout<<"按总成绩排序成功!\n";

}

void saveStu() { //保存学生信息

  ofstream out("data.txt");

  for(int i=0;i<30;i++) {

    if(stu[i].name[0]!='\0') {

      out< <<" "< <<" "< <<" ";

      for(int j=0;j<4;j++) {

        out< <<" ";

      }

      out<

    }

  }

  out.close();

  cout<<"学生信息保存成功!\n";

}

void loadStu() { //从文件加载学生信息

  ifstream in("data.txt");

  if(!in) {

    cout<<"没有找到数据文件!\n";

    return;

  }

  for(int i=0;i<30&&!in.eof();i++) {

    in>>stu[i].name>>stu[i].sno>>stu[i].age;

    for(int j=0;j<4;j++) {

      in>>stu[i].grade[j];

    }

    stu[i].sumGrade=stu[i].grade[0]+stu[i].grade[1]+stu[i].grade[2]+stu[i].grade[3];

  }

  in.close();

  cout<<"学生信息加载成功!\n";

}

以上便是一份使用C++编写的学生信息管理系统的代码,大家可以参考使用。如在使用过程中发现任何问题,欢迎大家交流。

  
  

评论区

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