c++学习的时候,随手写的代码,功能基本完善,但是比较简陋,具体实现如下:
/*学生管理系统:
创建一个 Student 类,包含属性:姓名、年龄、性别、学号。实现设置和显示这些属性的方法。
创建一个管理多个学生的 StudentManager 类,能够添加学生、删除学生和显示所有学生的信息。*/
#include <iostream>
#include <cstring>
#include <vector>
using namespace std;
class Student
{
char name[50];
char sex;
int age;
int ID;
public:
void setfunc(const char* n,char s,int a,int i);
void showfunc(void);
int IDfunc(void) const;
};
void Student::setfunc(const char* n,char s, int a,int i)
{
strcpy(name,n);
sex = s;
age = a;
ID = i;
}
void Student::showfunc(void)
{
cout << "name:" << name <<endl;
cout << "sex:" << sex <<endl;
cout << "age:" << age <<endl;
cout << "ID:" << ID <<endl;
}
int Student::IDfunc(void) const
{
return ID;
}
class StudentManager
{
vector<Student> studentlist;
public:
void addfunc(const char* n,char s,int a,int i);
void deletefunc(int id);
void showallfunc(void);
};
void StudentManager::addfunc(const char* n,char s,int a,int i)
{
Student S;
S.setfunc(n,s,a,i);
studentlist.push_back(S);
}
void StudentManager::deletefunc(int id)
{
for(auto it = studentlist.begin();it != studentlist.end();++it)
{
if(it->IDfunc() == id)
{
studentlist.erase(it);
break;
}
}
}
void StudentManager::showallfunc(void)
{
for(auto& student : studentlist)
{
student.showfunc();
}
}
int main()
{
/*省略*/
StudentManager manager;
// 添加学生
manager.addfunc("Alice", 'F', 20, 1001);
manager.addfunc("Bob", 'M', 21, 1002);
// 显示所有学生
cout << "All Students:" << endl;
manager.showallfunc();
// 删除一个学生
manager.deletefunc(1001);
// 显示所有学生
cout << "After Deleting Student ID 1001:" << endl;
manager.showallfunc();
return 0;
}