用c++实现顺序表的基本输入输出插入删除操作不知错误在哪啊?

#include<iostream.h>
#include<stdlib.h>

#include<time.h>
#include<math.h>

#define MAXSIZE 100

typedef int datatype;
typedef struct
{
datatype a[MAXSIZE];
int size;
}sequence_list;

void inti(sequence_list *slt);
void input(sequence_list slt);
void output(sequence_list slt);
int find(sequence_list slt,datatype x);
void insert(sequence_list *slt,datatype x,int position);
void dele(sequence_list *slt,int position);
void inti(sequence_list *slt)//置空表
{
slt->size=0;
}
//输入顺序表的元素
void input(sequence_list slt)
{
int i;
cout<<"请输入顺序表元素的个数:";
cin>>slt.size;
for(i=0;i<slt.size;i++)
cin>>slt.a[i];
// system("pause>null"); //按任意键继续但并不显示出来

}
void output(sequence_list *slt)
{
int i;
cout<<"输出顺序表元素的各个元素\n";
if(slt->size<=0)
{
cout<<"No data\n";
return;
}

for(i=0;i<slt->size;i++)
cout<<slt->a[i];

}
int find(sequence_list slt,datatype x)
{
int i=0;
for(i=0;i<slt.size;i++)
if(x==slt.a[i])
break;
if(i<slt.size)//成功找到
return i;
else//失败
return 0;
}
void insert(sequence_list *slt,datatype x,int position)
{
int i;
if(slt->size==MAXSIZE)
{
cout<<"\n顺序表是满的!没法插入";
exit(1);
}
if(position<0||position>slt->size)
{
cout<<"\n指定插入的位置不存在!";
exit(1);
}
for(i=slt->size-1;i>=position;i--)
slt->a[i+1]=slt->a[i];
slt->a[position]=x;
slt->size++;
}
void dele(sequence_list *slt,int position)
{
int i;
if(slt->size ==0)
{cout<<"\n顺序表是空的!";
exit(1);
}
if(position<0||position>=slt->size )
{
cout<<"\n指定的删除位置不存在!";
exit(1);
}
for(i=position;i<slt->size ;i++)
slt->a[i-1]=slt->a [i];
slt->size--;
}
void main()
{
system("color 3e");
int flag,position;
datatype x;
sequence_list slt;
do
{
int i; 
system("cls"); //运行前清屏


慕勒3428872
浏览 553回答 3
3回答

慕运维8079593

字符型和int型没分清,int flag,cin>>flag;实际可能转义了,debug看下你就知道了
打开App,查看更多内容
随时随地看视频慕课网APP