设计一个学生基本信息类 Student ,学生的
基本信息有公有属性:学号、姓名,保护属性:性别,私有属性:联系电话。成员函数有设置联系电话 SetTel 和获取联系电话 GetTel ,设置性别 SetSex 和获取性别 GetSex ,输出学生所有基本信息 Outputlnfo ,这些函数都是公有成员函数, Outputlnfo 数在类外定义,其他函数在类内定义。
编写主程序对一个班的学生信息进行管理(班级学生总数不超过100人),需要的功能有:增加、修改、删除和查找,每个功能用一个函数来实现。
#include <iostream>
#include <string>
using namespace std;
class Student
{
private:
string tel;
protected:
string sex;
public:
string id;
string name;
public:
Student() {}
string getTel() {return tel;}
string getSex() {return sex;}
void setTel(string t) {tel = t;}
void setSex(string s) {sex = s;}
void OutputInfo();
};
void Student::OutputInfo()
{
cout<<"学号:"<<id<<"\t"<<姓名:"<<name<<"\t"<<"性别:"<<sex<<"\t"<<"电话:"<<tel<<endl;
}
Student s[100];
int sn = 0;
void add()
{
int n;
cin>>n;
string id,name,sex,tel;
for(int i=0;i<n;i++)
{
cin>>id>>name>>sex>>tel;
s[sn].id = id;
s[sn].name = name;
s[sn].setSex(sex);
s[sn].setTel(tel);
sn++;
}
}
void update()
{
string id,name,sex,tel;
cin>>id>>name>>sex>>tel;
for(int i=0;i<sn;i++)
{
if(s[i].id == id)
{
s[i].name = name;
s[i].setSex(sex);
s[i].setTel(tel);
break;
}
}
}
void del()
{
string id;
cin>>id;
for(int i=0;i<sn;i++)
{
if(s[i].id == id)
{
for(int j=i;j<sn-1;j++)
s[j] = s[j+1];
sn--;
}
}
}
void find()
{
string id;
cin>>id;
for(int i=0;i<sn;i++)
{
if(s[i].id == id)
{
cout<<"学号:"<<s[i].id<<"\t"<<姓名:"<<s[i].name<<"\t"<<"性别:"<<s[i].getSex()<<"\t"<<"电话:"<<s[i].getTel()<<endl;
break;
}
}
}
void print()
{
for(int i=0;i<sn;i++)
{
cout<<"学号:"<<s[i].id<<"\t"<<姓名:"<<s[i].name<<"\t"<<"性别:"<<s[i].getSex()<<"\t"<<"电话:"<<s[i].getTel()<<endl;
}
}
int main()
{
add();
print();
update();
print();
del();
print();
find();
return 0;
}