当前位置:文档之家› 顺序表链表总结实验报告

顺序表链表总结实验报告

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

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

实验要求:

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(" 第%睢学生:”,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;

}

char xh[40];

char xm[40];

int cj;

int i=0,u;

printf(" 1 printf(" 1 printf(" 1 printf(" 请选择: "); fflush(stdin);

scanf("%d",&u);

if (u==1)

{

printf (" 请输入要查找学生的学号:

");

scanf("%s",xh);

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

int cz(SqList *L) // {

查找信息

、按学号查询 、按姓名查询 、按成绩查询

\n"); \n"); \n");

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++)

{

相关主题
文本预览
相关文档 最新文档