利用对象数组实现学生信息管理系统。主界面参考如下: 欢迎进入学生信息管理系统 请选择功能编号: 1、添加学生信息 2、删除学生信息 3、修改学生信息 4、按学号查询学生信息 5、查询全部学生信息 6、根据学号查排名 7、全部学生按成绩排序 8、退出系统 学生属性参考:学号、姓名、性别、住址、入学成绩等
时间: 2023-06-14 16:06:32 浏览: 89
学生信息管理系统, 实现学生信息包括:学号、姓名、性别、年龄、班级等信息
5星 · 资源好评率100%
好的,这是一个比较典型的基于对象数组的学生信息管理系统,我可以为你提供一个C++语言的实现,你可以参考一下:
```c++
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
//定义一个学生类
class Student {
public:
string id; //学号
string name; //姓名
string gender; //性别
string addr; //住址
int score; //入学成绩
//构造函数
Student(string id, string name, string gender, string addr, int score) :
id(id), name(name), gender(gender), addr(addr), score(score) {}
//默认构造函数
Student() {}
//重载小于运算符
bool operator < (const Student &s) const {
return score < s.score;
}
};
//定义一个学生信息管理系统类
class StudentSystem {
public:
//添加学生信息
void addStudent(Student s) {
students[num++] = s;
}
//删除学生信息
void deleteStudent(string id) {
for (int i = 0; i < num; i++) {
if (students[i].id == id) {
for (int j = i; j < num - 1; j++) {
students[j] = students[j + 1];
}
num--;
cout << "删除成功!" << endl;
return;
}
}
cout << "没有找到该学生!" << endl;
}
//修改学生信息
void modifyStudent(string id) {
for (int i = 0; i < num; i++) {
if (students[i].id == id) {
cout << "请输入姓名:";
cin >> students[i].name;
cout << "请输入性别:";
cin >> students[i].gender;
cout << "请输入住址:";
cin >> students[i].addr;
cout << "请输入成绩:";
cin >> students[i].score;
cout << "修改成功!" << endl;
return;
}
}
cout << "没有找到该学生!" << endl;
}
//按学号查询学生信息
void queryStudentById(string id) {
for (int i = 0; i < num; i++) {
if (students[i].id == id) {
cout << "学号:" << students[i].id << endl;
cout << "姓名:" << students[i].name << endl;
cout << "性别:" << students[i].gender << endl;
cout << "住址:" << students[i].addr << endl;
cout << "成绩:" << students[i].score << endl;
return;
}
}
cout << "没有找到该学生!" << endl;
}
//查询全部学生信息
void queryAllStudents() {
if (num == 0) {
cout << "没有学生信息!" << endl;
return;
}
for (int i = 0; i < num; i++) {
cout << "学号:" << students[i].id << endl;
cout << "姓名:" << students[i].name << endl;
cout << "性别:" << students[i].gender << endl;
cout << "住址:" << students[i].addr << endl;
cout << "成绩:" << students[i].score << endl;
cout << endl;
}
}
//根据学号查排名
void queryRankById(string id) {
Student s;
for (int i = 0; i < num; i++) {
if (students[i].id == id) {
s = students[i];
break;
}
}
int rank = 1;
for (int i = 0; i < num; i++) {
if (students[i] < s) {
rank++;
}
}
cout << "该学生的排名是:" << rank << endl;
}
//全部学生按成绩排序
void sortByScore() {
sort(students, students + num);
cout << "排序成功!" << endl;
}
private:
Student students[1000]; //最多存储1000个学生信息
int num = 0; //当前学生信息的数量
};
//主函数
int main() {
StudentSystem ss; //创建一个学生信息管理系统对象
int choice;
string id;
while (true) {
cout << "欢迎进入学生信息管理系统" << endl;
cout << "请选择功能编号:" << endl;
cout << "1、添加学生信息" << endl;
cout << "2、删除学生信息" << endl;
cout << "3、修改学生信息" << endl;
cout << "4、按学号查询学生信息" << endl;
cout << "5、查询全部学生信息" << endl;
cout << "6、根据学号查排名" << endl;
cout << "7、全部学生按成绩排序" << endl;
cout << "8、退出系统" << endl;
cin >> choice;
switch (choice) {
case 1: {
string id, name, gender, addr;
int score;
cout << "请输入学号:";
cin >> id;
cout << "请输入姓名:";
cin >> name;
cout << "请输入性别:";
cin >> gender;
cout << "请输入住址:";
cin >> addr;
cout << "请输入成绩:";
cin >> score;
Student s(id, name, gender, addr, score);
ss.addStudent(s);
break;
}
case 2: {
cout << "请输入学号:";
cin >> id;
ss.deleteStudent(id);
break;
}
case 3: {
cout << "请输入学号:";
cin >> id;
ss.modifyStudent(id);
break;
}
case 4: {
cout << "请输入学号:";
cin >> id;
ss.queryStudentById(id);
break;
}
case 5: {
ss.queryAllStudents();
break;
}
case 6: {
cout << "请输入学号:";
cin >> id;
ss.queryRankById(id);
break;
}
case 7: {
ss.sortByScore();
break;
}
case 8: {
cout << "谢谢使用!" << endl;
return 0;
}
default: {
cout << "输入错误,请重新输入!" << endl;
break;
}
}
}
return 0;
}
```
这个程序主要分为两个类,一个是学生类,它包含了学生的基本属性和一些操作;另一个是学生信息管理系统类,它包含了一些操作函数,用于管理学生信息。在主函数中,我们通过一个循环来不断接收用户的输入,并根据不同的输入选择相应的操作。
阅读全文