主题:哪位高手能帮我改一下程序,让它能正常运行
#include<iostream>
using namespace std;
#include<cstring>
struct TLinkNode
{ int Registration_number;
char Name[20];
float Chinese;
float Maths;
float English;
float Average_result;
};
class Student
{ private:
TLinkNode *elem;
int Length;
int MaxSize;
public:
Student(int); //构造函数
~Student(); // 析构函数
TLinkNode search(); //查询
void delet(); //删除
void print(); //打印
void sequence(); //排序
void empty(); //清空
//void out(); 导出
void insert(); //插入
};
Student::Student(int InitSize)
{
if(InitSize>0)
{ elem=new TLinkNode[InitSize]; //申请连续空间,并返回首地址
MaxSize=InitSize-1;
Length=0;
}
}
Student::~Student()
{
delete []elem; //释放空间
}
void Student::empty() //请空顺序表
{ Length=0;
}
void Student::insert() //插入,添加学生信息
{
if(Length==MaxSize)
{cout<<"空间已满!"<<endl;}
cout<<"输入学生的学号:"<<endl;
cin>>elem[Length+1].Registration_number;
cout<<"输入学生的姓名:"<<endl;
cin>>elem[Length+1].Name[20];
cout<<"输入学生的中文成绩:"<<endl;
cin>>elem[Length+1].Chinese;
cout<<"输入学生的数学成绩:"<<endl;
cin>>elem[Length+1].Maths;
cout<<"输入学生的英语成绩:"<<endl;
cin>>elem[Length+1].English;
elem[Length+1].Average_result=((elem[Length+1].Chinese)
+(elem[Length+1].Maths)+(elem[Length+1].English))/3;
}
void Student::print( ) //打印学生信息
{ cout<<"输入要打印的学生的学号:"<<endl;
int rm,j;
cin>>rm;
elem[0].Registration_number=rm;
for(int i=1;1<Length;i++)
{
if((elem[i].Registration_number)==rm) j=i;}
if(j==0) cout<<"不存在这个信息!"<<endl;
if(j!=0)
{
cout<<"该学生的信息为:"<<endl;
cout<<"学生的学号:"<<elem[j].Registration_number<<endl;
cout<<"学生的姓名:"<<elem[j].Name[20]<<endl;
cout<<"学生的中文成绩:"<<elem[j].Chinese<<endl;
cout<<"学生的数学成绩:"<<elem[j].Maths<<endl;
cout<<"学生的英语成绩:"<<elem[j].English<<endl;
cout<<"学生的平均成绩:"<<elem[j].Average_result<<endl;
}
}
TLinkNode Student::search() //查询
{ cout<<"请选择你需要的查找方式:"<<endl;
cout<<"1。按学号查找"<<endl;
cout<<"2。按姓名查找"<<endl;
int Choice;
cin>>Choice;
if(Choice==1) //按学号查询
{ cout<<"请输入学生的学号:"<<endl;
int registration_number,rm;
cin>>registration_number;
elem[0].Registration_number=registration_number;
for(int i=Length;i>=0;i--)
{ if(elem[i].Registration_number=registration_number)
rm=i;
}
if(rm=0)
{cout<<"不存在这个学生的信息。"<<endl;}
if(rm!=0) return elem[rm];
}
if(Choice==1) //按姓名查询
{ cout<<"请输入学生的姓名:"<<endl;
int n;
char name[20];
cin>>name;
strcpy(elem[0].Name,name);
for(int i=Length;i>=0;i--)
{ if(strcmp(elem[i].Name,name)==0)
n=i;
}
if(n=0)
{cout<<"不存在这个学生的信息。"<<endl;}
if(n!=0) return elem[n];
}
}
void Student::delet() //删除
{ cout<<"1。按学号删除"<<endl;
cout<<"2. 按姓名删除"<<endl;
int number;
cin>>number;
if(number==1) //按学号删除
{ cout<<"请输入学生的学号:"<<endl;
int registration_number,rm;
cin>>registration_number;
elem[0].Registration_number=registration_number;
for(int i=Length;i>=0;i--)
{ if(elem[i].Registration_number=registration_number)
rm=i;
}
if(rm=0) cout<<"不存在这个学生的信息。"<<endl;
if(rm!=0)
{ TLinkNode e;
e=elem[rm];
for(int j=rm;j<Length;j++)
elem[j]=elem[j+1];
Length--;
}
}
if(number==2) //按名字删除
{ cout<<"请输入学生的姓名:"<<endl;
char name[20];
int n;
cin>>name;
strcpy(elem[0].Name,name);
for(int i=Length;i>=0;i--)
{ if(strcmp(elem[i].Name,name)==0)
n=i;
}
if(n=0) {cout<<"不存在这个学生的信息。"<<endl;}
if(n!=0)
{ TLinkNode e;
e=elem[n];
for(int j=n;j<Length;j++)
elem[j]=elem[j+1];
Length--;
}
}
}
void Student::sequence() //排序
{ cout<<"1.按学号排序"<<endl;
cout<<"2.按平均成绩排序"<<endl;
int number;
cin>>number;
if(number==1)
{ for(int i=1;i<Length;i++)
for(int j=i;j<Length;j++)
{
if((elem[j].Registration_number)>(elem[j+1].Registration_number))
{TLinkNode temp;
temp=elem[j];elem[j]=elem[j+1];elem[j+1]=temp;}
}
}
if(number==2)
{cout<<"1.按升序排序"<<endl;
cout<<"2.按降序排序"<<endl;
int seq;
cin>>seq;
if(seq==1)
{ for(int i=1;i<Length;i++)
for(int j=i;j<Length;j++)
{
if((elem[j].Average_result)>(elem[j+1].Average_result))
{TLinkNode temp;
temp=elem[j];elem[j]=elem[j+1];elem[j+1]=temp;}
}
}
if(seq==2)
{for(int i=1;i<Length;i++)
for(int j=i;j<Length;j++)
{
if((elem[j].Average_result)<(elem[j+1].Average_result))
{TLinkNode temp;
temp=elem[j];elem[j]=elem[j+1];elem[j+1]=temp;}
}
}
}
}
#include<iostream>
using namespace std;
#include "student.h"
int main()
{ Student stud(100);
system("cls");
cout<<"*************欢迎来到学生成绩管理系统!*************"<<endl;
cout<<"系统功能:"<<endl<<endl;
cout<<"1.查询"<<endl;
cout<<"2.删除"<<endl;
cout<<"3.打印"<<endl;
cout<<"4.排序"<<endl;
cout<<"5.清空"<<endl;
cout<<"6.导出"<<endl;
cout<<"7.插入"<<endl<<endl;;
cout<<"请选择你所需要的操作:"<<endl;
int number;
cin>>number;
switch(number)
{case 1:stud.search();break;
case 2:stud.delet();break;
case 3:stud.print( );break;
case 4:stud.sequence();break;
case 5:stud.empty();break;
case 6:exit(1);break;
case 7:stud.insert();break;
default:cout<<"没有这项功能!"<<endl;break;
}
system("pause");
return 0;
}
using namespace std;
#include<cstring>
struct TLinkNode
{ int Registration_number;
char Name[20];
float Chinese;
float Maths;
float English;
float Average_result;
};
class Student
{ private:
TLinkNode *elem;
int Length;
int MaxSize;
public:
Student(int); //构造函数
~Student(); // 析构函数
TLinkNode search(); //查询
void delet(); //删除
void print(); //打印
void sequence(); //排序
void empty(); //清空
//void out(); 导出
void insert(); //插入
};
Student::Student(int InitSize)
{
if(InitSize>0)
{ elem=new TLinkNode[InitSize]; //申请连续空间,并返回首地址
MaxSize=InitSize-1;
Length=0;
}
}
Student::~Student()
{
delete []elem; //释放空间
}
void Student::empty() //请空顺序表
{ Length=0;
}
void Student::insert() //插入,添加学生信息
{
if(Length==MaxSize)
{cout<<"空间已满!"<<endl;}
cout<<"输入学生的学号:"<<endl;
cin>>elem[Length+1].Registration_number;
cout<<"输入学生的姓名:"<<endl;
cin>>elem[Length+1].Name[20];
cout<<"输入学生的中文成绩:"<<endl;
cin>>elem[Length+1].Chinese;
cout<<"输入学生的数学成绩:"<<endl;
cin>>elem[Length+1].Maths;
cout<<"输入学生的英语成绩:"<<endl;
cin>>elem[Length+1].English;
elem[Length+1].Average_result=((elem[Length+1].Chinese)
+(elem[Length+1].Maths)+(elem[Length+1].English))/3;
}
void Student::print( ) //打印学生信息
{ cout<<"输入要打印的学生的学号:"<<endl;
int rm,j;
cin>>rm;
elem[0].Registration_number=rm;
for(int i=1;1<Length;i++)
{
if((elem[i].Registration_number)==rm) j=i;}
if(j==0) cout<<"不存在这个信息!"<<endl;
if(j!=0)
{
cout<<"该学生的信息为:"<<endl;
cout<<"学生的学号:"<<elem[j].Registration_number<<endl;
cout<<"学生的姓名:"<<elem[j].Name[20]<<endl;
cout<<"学生的中文成绩:"<<elem[j].Chinese<<endl;
cout<<"学生的数学成绩:"<<elem[j].Maths<<endl;
cout<<"学生的英语成绩:"<<elem[j].English<<endl;
cout<<"学生的平均成绩:"<<elem[j].Average_result<<endl;
}
}
TLinkNode Student::search() //查询
{ cout<<"请选择你需要的查找方式:"<<endl;
cout<<"1。按学号查找"<<endl;
cout<<"2。按姓名查找"<<endl;
int Choice;
cin>>Choice;
if(Choice==1) //按学号查询
{ cout<<"请输入学生的学号:"<<endl;
int registration_number,rm;
cin>>registration_number;
elem[0].Registration_number=registration_number;
for(int i=Length;i>=0;i--)
{ if(elem[i].Registration_number=registration_number)
rm=i;
}
if(rm=0)
{cout<<"不存在这个学生的信息。"<<endl;}
if(rm!=0) return elem[rm];
}
if(Choice==1) //按姓名查询
{ cout<<"请输入学生的姓名:"<<endl;
int n;
char name[20];
cin>>name;
strcpy(elem[0].Name,name);
for(int i=Length;i>=0;i--)
{ if(strcmp(elem[i].Name,name)==0)
n=i;
}
if(n=0)
{cout<<"不存在这个学生的信息。"<<endl;}
if(n!=0) return elem[n];
}
}
void Student::delet() //删除
{ cout<<"1。按学号删除"<<endl;
cout<<"2. 按姓名删除"<<endl;
int number;
cin>>number;
if(number==1) //按学号删除
{ cout<<"请输入学生的学号:"<<endl;
int registration_number,rm;
cin>>registration_number;
elem[0].Registration_number=registration_number;
for(int i=Length;i>=0;i--)
{ if(elem[i].Registration_number=registration_number)
rm=i;
}
if(rm=0) cout<<"不存在这个学生的信息。"<<endl;
if(rm!=0)
{ TLinkNode e;
e=elem[rm];
for(int j=rm;j<Length;j++)
elem[j]=elem[j+1];
Length--;
}
}
if(number==2) //按名字删除
{ cout<<"请输入学生的姓名:"<<endl;
char name[20];
int n;
cin>>name;
strcpy(elem[0].Name,name);
for(int i=Length;i>=0;i--)
{ if(strcmp(elem[i].Name,name)==0)
n=i;
}
if(n=0) {cout<<"不存在这个学生的信息。"<<endl;}
if(n!=0)
{ TLinkNode e;
e=elem[n];
for(int j=n;j<Length;j++)
elem[j]=elem[j+1];
Length--;
}
}
}
void Student::sequence() //排序
{ cout<<"1.按学号排序"<<endl;
cout<<"2.按平均成绩排序"<<endl;
int number;
cin>>number;
if(number==1)
{ for(int i=1;i<Length;i++)
for(int j=i;j<Length;j++)
{
if((elem[j].Registration_number)>(elem[j+1].Registration_number))
{TLinkNode temp;
temp=elem[j];elem[j]=elem[j+1];elem[j+1]=temp;}
}
}
if(number==2)
{cout<<"1.按升序排序"<<endl;
cout<<"2.按降序排序"<<endl;
int seq;
cin>>seq;
if(seq==1)
{ for(int i=1;i<Length;i++)
for(int j=i;j<Length;j++)
{
if((elem[j].Average_result)>(elem[j+1].Average_result))
{TLinkNode temp;
temp=elem[j];elem[j]=elem[j+1];elem[j+1]=temp;}
}
}
if(seq==2)
{for(int i=1;i<Length;i++)
for(int j=i;j<Length;j++)
{
if((elem[j].Average_result)<(elem[j+1].Average_result))
{TLinkNode temp;
temp=elem[j];elem[j]=elem[j+1];elem[j+1]=temp;}
}
}
}
}
#include<iostream>
using namespace std;
#include "student.h"
int main()
{ Student stud(100);
system("cls");
cout<<"*************欢迎来到学生成绩管理系统!*************"<<endl;
cout<<"系统功能:"<<endl<<endl;
cout<<"1.查询"<<endl;
cout<<"2.删除"<<endl;
cout<<"3.打印"<<endl;
cout<<"4.排序"<<endl;
cout<<"5.清空"<<endl;
cout<<"6.导出"<<endl;
cout<<"7.插入"<<endl<<endl;;
cout<<"请选择你所需要的操作:"<<endl;
int number;
cin>>number;
switch(number)
{case 1:stud.search();break;
case 2:stud.delet();break;
case 3:stud.print( );break;
case 4:stud.sequence();break;
case 5:stud.empty();break;
case 6:exit(1);break;
case 7:stud.insert();break;
default:cout<<"没有这项功能!"<<endl;break;
}
system("pause");
return 0;
}