
求助!这程序有什么错误?谢谢!
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;
} 展开
{
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;
} 展开
2个回答
展开全部
编程风格有待提高;变量重定义。我把你的代码整理了一下,分三个文件:
/**
*@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];
}
/**
*@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];
}
参考资料: 无
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询