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

2024-12-21 22:07:28
推荐回答(2个)
回答1:

编程风格有待提高;变量重定义。我把你的代码整理了一下,分三个文件:
/**
*@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<<"总成绩为"<std::cout<<"平均成绩为"<return 0;
}
/**
*头文件: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<<"顺序表已满无法插入!"< exit(0);
}
if(i<0||i>size)
{
std::cout<<"参数i越界出错!"< 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<<"顺序表已空无元素可删!"< exit(0);
}
if(i<0||i>size-1)
{
std::cout<<"参数i越界出错!"< exit(0);
}
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越界出错!"< exit(0);
}
return list[i];
}

回答2:

#include "Seqlist.h"
我试着运行了下,提示这个地方出错
是不是你引用的头文件的问题啊