c++ stl list实现简单的学生信息管理系统(三)
ntinue;
}
s_grade+=ch;
if(!ifile.get(ch))
{
cout<<"文件已经读完!"<
return;
}
}
Student temp;
strcpy(temp.name,s_name.c_str());
strcpy(temp.ID,s_id.c_str());
temp.grade=atoi(s_grade.c_str());
lst.push_back(temp);
}
ifile.close();
system("cls");
}
void SaveAsFile()
{
system("cls");
ofstream ofile("student.dat",ios::out);
if (!ofile)
{
cout<<"打开文件失败!"<
return;
}
list::iterator it;
for(it = lst.begin(); it != lst.end(); ++it)
{
ofile<name<<"#"<ID<<"#"<grade<<"\n";
}
cout <<"保存完毕..."<< endl;
ofile.close();
return ;
}
int main()
{
inputData();//从文件中读入数据
char ch;
screenA();
while (cin>>ch)
{
switch(ch)
{
case '1':
screenB();
while (cin>>ch)
{
int flag=0;
switch(ch)
{
case '1':
searchByID();
break;
case '2':
searchByName();
break;
case '3':
searchByGrade();
break;
case '4':
flag=1;
break;
default:
flag=1;
break;
}
if (flag==1)
{
break;
}
}
break;
case '2'://排序
sortByGrade();
break;
case '3'://插入学生
insertStudent();
break;
case '4'://删除学生
deleteStudent();
break;
case '5'://显示当前信息
print(lst,"---------当前数据列表如下");
break;
case '6'://将数据保存到文件
SaveAsFile();
break;
case '7'://清屏
system("cls");
break;
default:
return 0;
}
screenA();
}
cout<<"系统退出"<
return 0;
}
student.dat内容如下:
张山 # B11010101 # 98
李四 # B11010101 # 67
王五 # B11010101 # 88
李华 # B11010101 # 76
李阳 # B11010101 # 55
张伟 # B11010101 # 87
王大为 # B11010101 # 89
李小名 # B11010101 # 92
张山一 # B11010101 # 98
李四一 # B11010101 # 67
王五一 # B11010101 # 88
李华一 # B11010101 # 76
李阳一 # B11010101 # 55
张伟一 # B11010101 # 87
王大二 # B11010101 # 89
李小登 # B11010101 # 92