顺序表-链表实验报告.总结

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验报告

实验目的:学生管理系统(顺序表)实验要求:

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;klength;k++)

{

w=k+1;

printf("第%d位学生:",w);

printf("%s %s %d\n",L->data[k].xh,L->data[k].xm,L->da ta[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;ilength;i++)

{

if(strcmp(L->data[i].xh,xh)==0)

return i;

}

}

if (u==2)

{

printf("请输入要查找学生的姓名:");

scanf("%s",xm);

for(i=0;ilength;i++)

{

if(strcmp(L->data[i].xm,xm)==0)

return i;

}

}

if (u==3)

{

printf("请输入要查找学生的成绩:");

scanf("%s",cj);

for(i=0;ilength;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==1)

{

printf("请输入要删除学生的学号:");

scanf("%s",xh);

for(i=0;ilength;i++)

{

相关文档
最新文档