#include<stdio.h>
#include<stdlib.h>
#define OK 1
#define ERROR 0
#define ADDSIZE 5
typedef int status;
typedef struct{
char name[20];
char id_num[10];
char post[20];
}staff;
typedef staff ElemType;
typedef struct{
ElemType *data;
int length;
int MaxSize;
}List;
status CreateList(List *L,int n)
{
int i;
L->data = (ElemType *)malloc(sizeof(ElemType)*n);
if(L->data==NULL)
return ERROR;
L->MaxSize = n;
L->length = 0;
for(i=0;i<n;i++)
{
scanf("%s%s%s",L->data[i].name,L->data[i].id_num,L->data[i].post);
L->length++;
}
return OK;
}
void printList(List *L)
{
int i;
for(i=0;i<L->length;i++)
{
printf("姓名:%s 工号:%s 职务:%s",L->data[i].name,L->data[i].id_num,L->data[i].post);
printf("\n");
}
}
status ListDelete(List *L,int n)
{
int i;
if(n<1||n>L->length)
return ERROR;
for(i=n-1;i<L->length;i++)
L->data[i]=L->data[i+1];
L->length--;
return OK;
}
status ListInsert(List *L,ElemType e,int n)
{
int i;
if(n<1||n>L->length+1)
return ERROR;
if(L->length>=L->MaxSize)
L->data = (ElemType *)realloc(L->data,sizeof(ElemType)*(L->MaxSize+ADDSIZE));
if(L->data==NULL)
return ERROR;
if(n==L->length+1)
L->data[L->length] = e;
for(i=L->length-1;i>=n-1;i--)
L->data[i+1] = L->data[i];
L->data[n-1] = e;
L->length++;
return OK;
}
void Entry(List *info)
{
ElemType e;
int n;
printf("请输入要入职的员工信息:\n");
scanf("%s%s%s",e.name,e.id_num,e.post);
printf("请输入要插入的位置:\n");
scanf("%d",&n);
ListInsert(info,e,n);
printList(info);
}
void Quit(List *info)
{
int num;
printf("请输入要离职员工的序号:\n");
scanf("%d",&num);
//ListDelete(info,num);
printList(info);
}
void Create(List *info)
{
int n;
printf("请输入要建立线性表的初始长度,并输入信息:\n");
info = (List *)malloc(sizeof(List));
scanf("%d",&n);
CreateList(info, n);
printf("显示线性表的内容:\n");
printList(info);
}
int main()
{
List *info;
Create(info);
Quit(info);
Entry(info);
return 0;
}
帮我看看啊,谢谢la