文档介绍:实验报告实验目的: 学生管理系统(顺序表) 实验要求: 1. 建表 2. 求表长 3. 插入 4. 查找 5. 删除 6. 列表 7. 退出源程序: #include <> #include <> #include<> #define MaxSize 1000 typedef struct { char xh[40]; char xm[40]; int cj; }DataType; // 学生的结构 typedef struct { DataType data[MaxSize]; // 定义表的数据类型 int length; // 数据元素分别放置在 data[0] 到 data[length-1] 当中} SqList; // 表的结构 void liebiao(SqList *L) // 建立表格{ int k,n; char q; printf(" 请输入, 输入学生的个数: \n"); fflush(stdin); scanf("%d",&n); for(k=0;k<=n-1;k++) { printf(" 请输入学生学号\n"); scanf("%s",L->data[k].xh); printf(" 请输入学生名字\n"); scanf("%s",L->data[k].xm); printf(" 请输入学生成绩\n"); scanf("%d",&L->data[k].cj); } L->length=n; } void qb(SqList *L) // 全部输出{ int k,w; for(k=0;k<L->length;k++) { w=k+1; printf(" 第%d 位学生: ",w); printf("%s %s %d\n",L->data[k].xh,L->data[k].xm,L->data[k].cj); }} int cr(SqList *L,DataType *xs,int i) // 插入信息{ int j; if(L->length==MaxSize) { printf(" 没有!"); return 0; } else if((i<0)||(i>L->length)) { printf(" 程序溢出,不符合"); return 0; } else { for(j=L->length-1;j>=i;j--) { strcpy(L->data[j+1].xh,L->data[j].xh); strcpy(L->data[j+1].xm,L->data[j].xm); L->data[j+1].cj=L->data[j].cj; } strcpy(L->data[i].xh,xs->xh); strcpy(L->data[i].xm,xs->xm); L->data[i].cj=xs->cj; L->length=L->length+1; } return 0; } int cz(SqList *L) // 查找信息{ char xh[40]; char xm[40]; int cj; int i=0,u; printf(" 1 、按学号查询\n"); printf(" 1 、按姓名查询\n"); printf(" 1 、按成绩查询\n"); printf(" 请选择: "); fflush(stdin); scanf("%d",&u); if (u==1) { printf(" 请输入要查找学生的学号: "); scanf("%s",xh); for(i=0;i<L->length;i++) { if(strcmp(L->data[i].xh,xh)==0) return i; }} if (u==2) { printf(" 请输入要查找学生的姓名: "); scanf("%s",xm); for(i=0;i<L->length;i++) { if(strcmp(L->data[i].xm,xm)==0) return i; }} if (u==3) { printf(" 请输入要查找学生的成绩: "); scanf("%s",cj); for(i=0;i<L->length;i++) { if(L->data[i].cj,&cj) return i; }} return -1;//* 如果没找到,返回-1 } int cz2(SqList *L) // 删除查找的函数{ char xh[40]; char xm[40]; int i=0,h; printf(" 1 、按学号删除\n"); printf(" 2 、按姓名删除\n"); printf(" 请选择: "); fflush(stdin); scanf("%d",&h); if (h==