C++中string类应该怎么比较与赋值。

C++中string类应该如何比较与赋值。。
想写一个简单的学生管理系统。。
我的思路是,用一个string二维数组,一行是一个学生,然后各列分别是学号姓名性别班级电话什么的,但是同学告诉我说string[][]还是一维的,后面的中括号是string长度。所以我就想用一维数组模拟二维数组。写了个大框架,但是在string比较和赋值的地方总会出错。我百度搜了一些资料修改了一下,现在的情况是 可以运行但是输入字符串之后cpp会停止运行。。求大神指点一下。。
下面是我写的大体框架。。
#include<iostream>
#include<string>
#include<fstream>
using namespace std;

class manage{
public:
void print();
void add();
void del();
void rew();
void sea();
void sur();
private:
string s[200],s1;
int a,i,j;

};
void manage::print(){
system("cls");
cout<<"          ======================================================="<<endl;
cout<<"          =                                                     ="<<endl;
cout<<"          =        1.增加学生信息         2.删除学生信息        ="<<endl;
cout<<"          =                                                     ="<<endl;
cout<<"          =        3.修改学生信息         4.查找学生信息        ="<<endl;
cout<<"          =                                                     ="<<endl;
cout<<"          =        5.浏览学生信息         6.退出管理程序        ="<<endl;
cout<<"          =                                                     ="<<endl;
cout<<"          ======================================================="<<endl;
cin>>a;
switch(a){
case 1:add();break;
case 2:del();break;
case 3:rew();break;
case 4:sea();break;
case 5:sur();break;
case 6:system("cls");cout<<"感谢使用!"<<endl;
default :system("cls");cout<<"输入错误,请重新输入!"<<endl;system("pause");print();
}
}
void manage::add(){
cout<<"请依次输入要添加的学生学号、姓名、性别、班级、电话:"<<endl;
if (!s[0].compare(0)) {for(i=0;s[i].compare(0);i+=5);
for(j=0;j<5;j++) cin>>s[i+j];}
else for(i=0;i<5;i++) cin>>s[i];