C语言数据结构顺序表实现病历信息的管理与查询功能

这是什么错误

img

主函数


#include<stdio.h>
#include<string.h>
#define MaxSize 100
#define N 2
typedef struct
{
    char number[5];
    char name[20];
    char symptom[50];
}patient;
typedef patient ElemType;
#include"SL.h"
void main()
{
    patient s;
    SequenceList mylist;
    int i;
    ListInitialize(&mylist);
    for(i=0;i<Listlength(mylist);i++)
    {
        LiseGet(mylist,i,&s);
    }
}



头文件SL.h


#ifndef SL_h
#define SL_h

#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
#endif /* sequenceList_h */

typedef int SeqDataType;

typedef struct 
{
    ElemType list[MaxSize];
    int size;   //当前数组有效数据个数    
}SequenceList;

void ListInitialize(SequenceList *L);
int Listlength(SequenceList L);
int ListInsert(SequenceList *L,int i,ElemType x);
int ListDelete(SequenceList *L,int i,ElemType *x);
int ListGet(SequenceList *L,int i,ElemType *x);





SL.c

#include "SL.h"
void ListInitialize(SequenceList *L)
{
    L->size=0;
}
int Listlength(SequenceList L)
{
    return L.size;
}
int ListInsert(SequenceList *L,int i,ElemType x)
{
    int j;
    if(L->size>=MaxSize)
    {
        printf("顺序表已满无法插入!\n");
        return 0;
    }
    else if( i< 0||i>L->size)
    {
        printf("参数i不合法!\n″);
        return 0;
    }
    else
    {
        for( j=L->size;j>i;j--)       
            L->list[j]=L->list[j-1];
        L->list[i]=x;
        L->size ++;
        return 1;
     }
}
int ListDelete(SequenceList *L,int i,ElemType*x)
{
    int j;
    if(L->size<=0)
        printf("顺序表已空无数据元素可删!\n");
    return 0;
}
else if( i< 0 | | i>L->size-1)
{
    printf("参数i不合法!″);        
        return 0;
}
else
{
    *x=L->List[i];
    for( j=i+1;j<=L->size-1;j++)
        L->list[j-1]=L->list[j];
    L->size--;
    return 1;
}
}
int ListGet(SequenceList L,int i,ElemType*x)
{
if( i< 0 | | i>L.size-1)
{
    printf("参数i不合法!\n");
    return 0;
}
else
{
    *x=L.list[i];
    return 1;
}
}

是listget不是liseget
头文件里的外部函数要extern

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^