编程风格有待提高;变量重定义。我把你的代码整理了一下,分三个文件:
/**
*@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<<"总成绩为"<
}
/**
*头文件:include"seqlist.h"
*/
#include
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<<"顺序表已满无法插入!"<
}
if(i<0||i>size)
{
std::cout<<"参数i越界出错!"<
}
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<<"顺序表已空无元素可删!"<
}
if(i<0||i>size-1)
{
std::cout<<"参数i越界出错!"<
}
DataType x=list[i];
for(int j=i;j
list[j]=list[j+1];
}
size--;
return x;
}
DataType SeqList::GetData(int i) const
{
if(i<0||i>size-1)
{
std::cout<<"参数i越界出错!"<
}
return list[i];
}
#include "Seqlist.h"
我试着运行了下,提示这个地方出错
是不是你引用的头文件的问题啊