cout<<" 2----------按姓名查询"<
cout<<" 3----------按成绩查询"<
cout<<" 4----------返回"<
cout<<"****************************************"<
}
void searchByID()//按学号查找
{
cout<<"-------请输入学号ID"<
char tID[12];
memset(tID,0,12);
cin>>tID;
bool flag=false;
list::iterator it;
for(it = lst.begin(); it != lst.end(); ++it)
{
if (strcmp(it->ID,tID)==0)
{
cout<<"----查找到,该学生信息如下:-----"<
it->print();
flag=true;
break;
}
}
if (flag==false)
{
cout<<"未找到!"<
}
}
void searchByName()//按名字查找
{
cout<<"-------请输入姓名:"<
char tname[12];
memset(tname,0,12);
cin>>tname;
bool flag=false;
list::iterator it;
for(it = lst.begin(); it != lst.end(); ++it)
{
if (strcmp(it->name,tname)==0)
{
cout<<"----查找到,该学生信息如下:-----"<
it->print();
flag=true;
break;
}
}
if (flag==false)
{
cout<<"未找到!"<
}
}
void searchByGrade()//按分数查找
{
cout<<"-------请输入分数:"<
int tgrade;
cin>>tgrade;
bool flag=false;
list::iterator it;
for(it = lst.begin(); it != lst.end(); ++it)
{
if (it->grade==tgrade)
{
cout<<"----查找到,该学生信息如下:-----"<
it->print();
flag=true;
break;
}
}
if (flag==false)
{
cout<<"未找到!"<
}
}
void sortByGrade()//按分数进行排序,由高到低
{
system("cls");
cout<<"-------按分数排序完毕,结果如下:"<
lst.sort( greater() );
list::iterator it;
for(it = lst.begin(); it != lst.end(); ++it)
{
it->print();
}
}
void insertStudent()//插入一个学生
{
system("cls");
cout<<"-------请输入学号ID"<
char tID[12];
memset(tID,0,12);
cin>>tID;
cout<<"-------请输入姓名:"<
char tname[12];
memset(tname,0,12);
cin>>tname;
cout<<"-------请输入分数:"<
int tgrade;
cin>>tgrade;
Student stu(tname,tID,tgrade);
lst.push_back(stu);
list::iterator it;
for(it = lst.begin(); it != lst.end(); ++it)
{
it->print();
}
}
void deleteStudent()//按要求删除一个学生
{
system("cls");
cout<<"-------请输入要删除学生的学号ID:"<
char tID[12];
memset(tID,0,12);
cin>>tID;
bool flag=false;
list::iterator it;
for(it = lst.begin(); it != lst.end(); ++it)
{
if (strcmp(it->ID,tID)==0)
{
cout<<"----查找到,该学生信息如下:-----"<
it->print();
lst.erase(it);
cout<<"删除完毕!"<
flag=true;
break;
}
}
if (flag==false)
{
cout<<"未找到!"<
}
}
void inputData()//从文件中读取数据
{
cout<<"正在从文件读入数据..."<
ifstream ifile("student.dat");
if(!ifile)
{
cout<<"student.dat cannot be opened!"<
return;
}
char ch;
int i;
for (i=0;i
{
string s_name,s_id,s_grade;
if(!ifile.get(ch))
{
cout<<"文件已经读完!"<
return;
}
while (ch!='#')//读取姓名
{
if (ch==' ')//跳过空格
{
ifile.get(ch);
continue;
}
s_name+=ch;
ifile.get(ch);
}
ifile.get(ch);
while (ch!='#')//读取学号
{
if (ch==' ')
{
ifile.get(ch);//跳过空格
continue;
}
s_id+=ch;
ifile.get(ch);
}
ifile.get(ch);
while(ch!='\n')//读取分数
{
if (ch==' ')
{
ifile.get(ch);
co