#include#include #include #include #include using namespace std;#define N 100#define SIZE 500typedef struct { char no[15]; char name[50]; char gender[10]; char nationality[20]; char biogenic[20]; int age; }Student; //学生信息结构定义typedef struct{ Student *ST; int length;//学生表的学生记录个数}SqList;void Input(SqList &L){ //从StudentsInfo.txt中读取学生数据 int i=0; char ST_head1[10], // 学号 ST_head2[10], // 姓名 ST_head3[10], // 性别 ST_head4[10], // 民族 ST_head5[10], // 生源 ST_head6[10]; // 年龄 L.ST=new Student[SIZE]; ifstream inFile("StudentsInfo.txt"); if(!inFile) { cerr<<"Cannot open this file!"< >ST_head1>>ST_head2>>ST_head3>>ST_head4>>ST_head5>>ST_head6;//读取文件中的标题 L.length=0; while(!inFile.eof()){ //逐行依次读取所有学生数据 inFile >>L.ST[i].no >>L.ST[i].name>>L.ST[i].gender >>L.ST[i].nationality >>L.ST[i].biogenic>>L.ST[i].age; i++; //记录学生个数 } L.length=i; inFile.close(); cout<<"\n读取 StudentsInfo.txt 信息完毕,可以通过选项(2)查看学生信息\n"< 0) MAX=p.ST[0].age;int num=0; for(int i=0;i MAX) { MAX=p.ST[i].age;num++; } if(num){ cout<<"输出年龄最大的学生的信息:\n"< L.length || location<=0) cout<<"输入位置有错!"< >i; if(i<1 || i>L.length) cout<<"输入位置有误!请重新输入!"< =i;j--) { L.ST[j]=L.ST[j-1]; } i--; cin >>L.ST[i].no >>L.ST[i].name>>L.ST[i].gender >>L.ST[i].nationality >>L.ST[i].biogenic>>L.ST[i].age; L.length++;//总学生个数加1; //将插入后的结果重新写入文件StudentsInfo.txt---未完成-----回去复习C++文件操作章节; cout<<"插入操作完毕!"<<"\n"<<"插入后的结果为:"< >location; if(location<1 || location>L.length) cout<<"输入有误!请重新输入!"< >no; switch(no){ case 1: Input(L);break;//从文件StudentInfo.txt获取学生信息; case 2: Output(L);break;//输出所有学生信息; case 3: Count_Len(L);break;//统计学生总数; case 4: Maxage(L);break;//统计最大年龄学生的信息; case 5: Average(L);break;//计算学生年龄的平均值; case 6: char name[50]; cout<<"请输入你想要查找学生的姓名:"< >name;Name(L,name); break; case 7: int location; cout<<"请输入需要查找学生的位置:"< >location; Location(L,location);break; case 8: Insert(L);break; case 9: Delete(L);break; case 10: Rorder(L);break; case 0: cout<<"欢迎再次使用 <*_*>bye<*_*>"<