5 程序类的说明
5.1 Student类的声明:
typedef struct
{ int id; char name[50]; char sex[50]; int age;
int SGscore;
}elemtype; typedef struct { elemtype data[maxsize+1];
int len;
}student;
5.2 声明类:
void creat(L); void display(L); int search(L);
void sort_SGscore1(L); void sort_SGscore2(L); void sort_SGscore3(L); int delet(L,i); void modify(L);
void creat(student &L)
11
6 模块分析
6.1 创建模块
系统将提示用户输入新的学生的信息,插入在顺序表中。 其示意图如下:
调用creat函数 输入学生信息
图6.1 创建示意图
其代码如下:
void creat(student &L) { int i;
cout<<\请输入所记录的学生总数:\ cin>>L.len;
for(i=1;i<=L.len;i++) { cout<<\请输入学生的学号、姓名、性别、年龄、数构成绩:\
cin>>L.data[i].id>>L.data[i].name>>L.data[i].sex>>L.data[i].age>>L.data[i].SGscore; }}
6.2 显示模块
显示模块将输出所有学生的成绩等信息。 其示意图如下:
调用display函 显示学生信息
图6.2 创建示意图
12
其代码如下:
void display(student &L) {
for(int i=1;i<=L.len;i++) { cout<<\该学生的学号、姓名、性别、年龄、数构成绩\ cout< 6.3查找模块 首先由用户输入要查找的学生学号或者姓名,然后系统用查找函数查找,然后系统就调用输出函数,输出所查找的学生信息。 其示意图如下: 调用search函数 按学号查找 按姓名查找 输出学生信息 图6.3 查找示意图 13 其代码如下: int search(student &L) { int i,j; int num1; char num2[5]; cout<<\退出查找系统\ cout<<\按学号查找\ cout<<\按姓名查找\ while(1) { cout<<\请选择(0-2)\cin>>j; while(j<0||j>2) { } switch(j) { case 0: return 0; case 1: cout<<\请输入学生学号:\cin>>num1; for(i=1;i<=L.len;i++) if(L.data[i].id==num1) { cout<<\找到了该同学!\ cout<<\只能选择0-2,请重新选择:\cin>>j; 14 cout<<\该同学的学号、姓名、性别、年龄、数构成绩为: \ cout<<\\ \ \ \ \ } else if(i==L.len) cout<<\未查到!\return i; case 2: cout<<\请输入学生姓名:\cin>>num2; for(i=1;i<=L.len;i++) if(strcmp(L.data[i].name,num2)==0) { cout<<\找到了该同学!\ cout<<\该同学的学号、姓名、性别、年龄、数构成绩为: \ cout<<\\ \ \ \ \ } } } } else if(i==L.len) cout<<\未查到!\return i; 15