求助!这程序有什么错误?谢谢!

classSeqList{protected:DataType*list;intmaxSize;intsize;public:SeqList(intmax=0);~Seq... class SeqList
{
protected:
DataType *list;
int maxSize;
int size;
public:
SeqList(int max=0);
~SeqList(void);
int Size(void) const;
void Insert(const DataType& item,int i);
DataType Delete(const int i);
Datatype GetData(int i) const;
};
include"Seqlist.hpp"
SeqList::SeqList(int max)
{
maxSize=max;
size=0;
list=new DataType[maxSize];
}
SeqList::~SeqList(void)
{
delete[]list;
}
int SeqList::Size(void)const
{
return size;
}
void SeqList::Insert(const DataType& item,int i)
{
if(size==maxSize)
{
cout<<"顺序表已满无法插入!"<<endl;
exit(0);
}
if(i<0||i>size)
{
cout<<"参数i越界出错!"<<endl;
exit(0);
}
for(int j=size;j>i;j--) list[j]=list[j-1];
list[i]item;
size++;
}
DataType SeqList::Delete(const int i)
{
if(size=0)
{
cout<<"顺序表已空无元素可删!"<<endl;
exit(0);
}
if(i<0||i>size-1)
{
cout<<"参数i越界出错!"<<endl;
exit(0);
}
DataType x=list[i];
for(int j=i;j<size-1;j++) list[j]=list[j+1];
size--;
return x;
}
DataType SeqList::GetData(int i) const
{
if(i<0||i>size-1)
{
cout<<"参数i越界出错!"<<endl;
exit(0);
}
return list[i];
}
#include <iostream.h>
#include <stdlib.h>
#include "Seqlist.h"
struct StudentType
{
long number;
char name[10];
int score;
};
typedef StudentType DataType;
void main()
{
SeqList myList(3);
StudentType x[3]={{2008001,"John", 96},{2008002,"Tom",80},{2008003,"Gill",75}};
for (i=0,i<3,i++)
{
myList.Insert(x[i],i);
}
StudentType a=myList.GetData(0),b=myList.GetData(1),c=myList.GetData(2);
float x,y;
x=a.score+b.score+c.score;
y=x/3;
cout<<"总成绩为"<<x<<endl;
cout<<"平均成绩为"<<y<<endl;
return;
}
展开
 我来答
LIUYWOAINI
推荐于2016-08-25
知道答主
回答量:4
采纳率:0%
帮助的人:0
展开全部
编程风格有待提高;变量重定义。我把你的代码整理了一下,分三个文件:
/**
*@main.cpp
*/
#include "Seqlist.h"

int main()
{
SeqList myList(3);
StudentType student[3]={{2008001,"John", 96},{2008002,"Tom",80},{2008003,"Gill",75}};

for (int i=0; i<3; i++)
{
myList.Insert(student[i],i);
}
StudentType a=myList.GetData(0);
StudentType b=myList.GetData(1);
StudentType c=myList.GetData(2);

int x = 0;
float y;
x=a.score+b.score+c.score;
y=x/3;
std::cout<<"总成绩为"<<x<<std::endl;
std::cout<<"平均成绩为"<<y<<std::endl;
return 0;
}
/**
*头文件:include"seqlist.h"
*/
#include <iostream>

struct StudentType
{
long number;
char name[10];
int score;
};

typedef StudentType DataType;

class SeqList
{
public:
DataType *list;
int maxSize;
int size;

SeqList(int max=0);//构造函数
~SeqList(void); //虚构函数
int Size(void) const;
void Insert(const DataType& item,int i); //插入
DataType Delete(const int i); //删除
DataType GetData(int i) const; //返回指定元素
};
/**
*@seqlist.cpp
*/
#include"Seqlist.h"

using namespace std;

SeqList::SeqList(int max)
{
maxSize=max;
size=0;
list=new DataType[maxSize];
}

SeqList::~SeqList(void)
{
delete[]list;
}

int SeqList::Size(void)const
{
return size;
}

void SeqList::Insert(const DataType& item,int i)
{
if(size==maxSize)
{
std::cout<<"顺序表已满无法插入!"<<endl;
exit(0);
}
if(i<0||i>size)
{
std::cout<<"参数i越界出错!"<<endl;
exit(0);
}
for(int j=size;j>i;j--)
{
list[j]=list[j-1];
}
list[i] = item;
size++;
}

DataType SeqList::Delete(const int i)
{
if(size=0)
{
std::cout<<"顺序表已空无元素可删!"<<endl;
exit(0);
}
if(i<0||i>size-1)
{
std::cout<<"参数i越界出错!"<<endl;
exit(0);
}
DataType x=list[i];
for(int j=i;j<size-1;j++)
{
list[j]=list[j+1];
}
size--;
return x;
}

DataType SeqList::GetData(int i) const
{
if(i<0||i>size-1)
{
std::cout<<"参数i越界出错!"<<endl;
exit(0);
}
return list[i];
}

参考资料:

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友28e11abf5
2008-09-28 · TA获得超过112个赞
知道答主
回答量:115
采纳率:0%
帮助的人:0
展开全部
#include "Seqlist.h"
我试着运行了下,提示这个地方出错
是不是你引用的头文件的问题啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式