![]() |
#2
megadeath2011-01-04 23:12
|

#include<iostream.h>
#include<iomanip.h>
#include<fstream.h>
#include<list.h>
//学生类声明
class Student
{
protected:
int tag;
int no;
char name[20];
public:
Student() {tag=0;}
Student(int,char []);
void addstudent(int,char []);
char *getname();
int gettag();
int getno();
void setname(char sname[]);
void delstudent();
void sdisp();
};
//学生类实现
Student::Student(int sid,char sname[])
{
addstudent(sid,sname);
}
void Student::addstudent(int sid,char sname[])
{
tag=0;
no=sid;
strcpy(name,sname);
}
char *Student::getname()
{
return name;
}
int Student::gettag()
{
return tag;
}
int Student::getno()
{
return no;
}
void Student::setname(char sname[])
{
strcpy(name,sname);
}
void Student::delstudent()
{
tag=1;
}
void Student::sdisp()
{
cout<<setw(6)<<no<<setw(20)<<name<<endl;
}
//学生库类声明
class SDatabase
{
list<Student> stud;
public:
SDatebase();
~SDatebase();
void clear;
int addstudent(int,char []);
Student *query(int);//按学号查找
void sdispalol();
void studentdata();
};
//学生库类实现
SDatabase::SDatebase()
{
Student s;
fstrem file;
file.open("student.dat",ios::init);
while(1)
{
file.read((char *)&s,sizeof(s);
if(!file) break;
stud.push_back(s);//插入一个学生记录
}
file.close();
}
SDatabase::~SDatabase()
{
list<Student>::iterator iter;
fstream file;
for (iter=std.begin();iter!=stud.end();iter++)
if (iter->gettag()==0)
file.write((char *)&(* iter),sizeof(Student));
file.close();
}
void SDatabase::clear()
{
stud.clear();
}
int SDatabase::addstudent(int std,char sname[])
{
Student *p=query(sid);
if(p==NULL)
{
Student s(sid,sname);
stud.push_back(s);
return 1;
}
return 0;
}
Student *SDatabase::query(int sid)
{
list<Student>::iterator iter;
for (iter=stud.begin();iter!=stud.end();iter++)
if(iter->getno()==sid && iter->gettag()==0)
return &(*iter);
return NULL;
}
void SDatabase::sdispalol()
{
list<Student>::iterator iter;
cout<<" 学号 姓名"<<endl;
for(iter=stud.begin();iter!=stud.end();iter++)
if(iter->gettag()==0)
iter->sdisp();
}
void SDatabase::studentdata()
{
int chioxe=1;
char sname[20];
int sid;
Student *p;
while(chioce!=0)
{
cout<<" 学生管理 1:新增 2:更改 3:删除 4:查找 5:显示 6:全删 0:退出=>";
cin>> choice;
switch(choice)
{
case 1:
cout<<" 输入学号:";
cin>>sid;
cout<<" 输入学生姓名:";
cin>>sname;
addstudent(sid,sname);
break;
case 2:
cout<<" 输入学号:";
cin>>sid;
p=query(sid);
if(p==NULL)
{
cout<<" 提示:该学生不存在"<<endl;
break;
}
cout<<" 输入新的姓名:";
cin>>sname;
p->setname(sname);
break;
case 3:
cout<<" 输入学号:";
cin>>sid;
p=query(sid);
if(p==NULL)
{
cout<<" 提示:该学生不存在"<<endl;
break;
}
p->delstudent();
break;
case 4:
cout<<" 输入学号:";
cin>>sid;
p=query(sid);
if(p==NULL)
{
cout<<" 提示:该学生不存在"<<endl;
break;
}
p->sdisp();
break;
case 5:
sdispalol();//cuowu
break;
case 6:
clear();
cout<<" 提示:记录已全删除"<<endl;
break;
}
}
}
//课程类声明
class Course
{
int tag;
int no;
char name[20];
public:
Course() {};
Course (int,char[]);
char *getname();
int getno();
int gettag();
void setname(char[]);
void delcourse();
void addcourse(int,char[]);
void cdisp();
};
//课程类实现
Course::Course(int cid,char cname[])
{
addcourse(cid,cname);
}
char *Course::getname()
{
return name;
}
int Course::getno()
{
return no;
}
int Course::gettag()
{
return tag;
}
void Course::setname(char cname[])
{
strcpy(name,cname);
}
void Course::delcourse()
{
tag=1;
}
void Course::addcourse(int cid,char cname[])
{
tag=0;
no=cid;
strcpy(name,cname);
}
void Course::cdisp()
{
cout<< setw(6)<< no << setw(20) << name << endl;
}
//课程库类声明
class CDatabase
{
list<Course>course;
public:
CDatabase();
~CDatabase();
void clear();
void addcourse(int,char []);
Course *query(int);
void coursedata();
void cdispall();
};
//课程库类实现
CDatabase::CDatabase()
{
Course b;
fstream file("course.dat",ios::in);
while (1)
{
file.reawd((char *)&b,sizeof(b));
if(!file)break;
course.push_back(b);
}
file.close();
}
CDatabase::~CDatabase()
{
fstream file("course.dat",ios::out|ios::trunc);
list<Course>::iterator iter;
for (iter=course.begin();iter!=course.end();iter++)
if(iter->gettag()==0)
file.write((char *)&(*iter),sizeof(Course));
file.close();
}
void CDatabase::clear()
{
course.clear();
}
void CDatabase::addcourse(int cid,char cname[])
{
Course b(cid,cname);
if (p==NULL)
{
Course b(cid,cname);
course.push_back(b);
}
else
cout<<"该课程已存在,不能增加"<<endl;
}
Course *CDatabase::query(int cid)
{
list<Course>::iterator iter;
for (iter=course.begin();iter!=course.end();iter++)
if(iter->getno()==cid&&iter->gettag()==0)
return &(*iter);
return NULL;
}
void CDatabase::cdispall()
{
list<Course>::iterator iter;
cout<<" 课程编号 课程名"<<endl;
for(iter=course.begin();iter!=course.end();iter++)
if(iter->gettag()==0)
iter->cdisp();
}
void CDatabase::coursedata()
{
int choice=1;
char cname[40];
int cid;
Course *b;
while (choice!=0)
{
cout<<"课程管理1:新增2:更改3:删除:查找5:显示6:全删:退出=>";
cin>>choice;
switch (choice)
{
case 1: //新增课程记录
cout<<" 输入课程编号:";
cin>>cid;
cout<<" 输入课程名称:";
cin>>cname;
addcourse(cid,cname);
break;
case 2: //更改课程记录
cout<< " 输入课程编号:";
cin>>cid;
b=query(cid);
if (b==NULL)
{
cout<<" 提示:该课程不存在"<<endl;
break;
}
cout<<" 输入新课程名:";
cin>>cname;
b->setname(cname);
break;
case 3: //删除课程记录
cout<<" 输入课程编号:";
cin>>cid;
b=query(cid);
if (b==NULL;
{
cout<<" 提示:该课程不存在"<<endl;
break;
}
b->delcourse();
break;
case 4: //查找课程记录
cout<<" 输入课程编号:";
cin>>cid;
b=query(cid);
if (b==NULL)
{
cout<<" 提示:该课程不存在"<<endl;
break;
}
b->cdisp();
break;
case 5: //显示所有课程记录
cdlspall();
break;
case 6:
clear();
cout<<" 提示:记录已全删除"<<endl;
break;
}
}
}
//成绩类声明
class Grade
{
int tag;
int sno;
int cno;
double degree;
public:
Grade() {}
Grade(int,int,double);
void setdegree(double);
void delgrade();
int gettag();
int getsno();
int getcno();
double getgrade();
void dispgrade();
void adddegree(int,int,double);
};
//成绩类实现
Grade::Grade(int snol,int cnol,double gradel)
{
adddegree(snol,cnol,gradel);
}
void Grade::setdegree(double gradel)
{
degrdee==gradel;
}
void Grade::delgrade()
{
tag=1;
}
int Grade::gettag()
{
return tag;
}
int Grade::getcno()
{
return cno;
}
double Grade::dispgrade()
{
return degree;
}
void Grade::disgrade()
{
cout<< sno << "," << cno << "," << degree <<endl;
}
void Grade::adddegree(int snol,int cnol,double degreel)
{
tag=0;
sno=snol;
cno=cnol;
degree=degreel;
}
//成绩库类声明
class GDatebase
{
list<Grade>degree; //成绩表容器
public:
GDatabase(); //构造函数,从grade.dat=>degree
~GDatebase(); //析构函数,degree=>grade.dat
void clear(); //全删
void addegree(int,int,double); //增加一个成绩记录
Grade *query(int,int); //查找某学生某课程成绩记录
void querygrade();
void querycourse();
void gdispall();
void gradedata();
};
//成绩库类实现
GDatabase::GDatabase()
{
Grade b;
fstream file("grade.dat",ios::in);
while(1)
{
file.read((char *)&b,sizeof(b));
if (!file) break;
degree.push_back(b);
}
file.close();
}
GDatabase::~GDatabase() //析构函数,degree=>grade.dat
{
fstream file("grade.dat",ios::out|ios::trunc);
list<Grade>::iterator iter; //迭代器
for (iter=degree.begin();iter!=degree.end();iter++)
if (iter->gettag()==0)
file.write((char *)&(*iter),sizeof(Grade));
file.close();
}
void GDatabase::clear()
{
degree.chear();
}
void GDatabase::clear()
{
degree.clear();
}
void GDatabase::addegree(int sid,int cid,double degree) //增加一个成绩记录
{
Grade *p=query(sid,cid);
if (p==NULL)
{
Grade f(sid,cid,degreel);
degree.push_back(f);
}
else
cout<<"该学生的这门课成绩已存在,不能增加"<<endl;
}
Grade *GDatabase::query(int sid,int cid)
{
list<Grade>::iterator iter;
for(iter=degree.begin();iter!=degree.end();iter++)
if(iter->getsno()==sid&&iter->getcno()==cid&&iter->gettag()==0)
return NULL;
}
void GDatabase::querygrade()
{
int sid;
list<Grade>::iterator iter;
cout <<" 输入学号:";
cin>>sid;
cout<<" 成绩列表:";
for (iter=degree.begin();iter!=degree.end();iter++)
if(iter->getsno()==sid && iter->gettag()==0)
cout << iter->getcno() <<"("<< iter->getgrade() <<")"<<" ";
}
void GDatabase::querycourse()
{
int cid;
list<Grade>::iterator iter;
cout<<" 输入课程编号:";
cin>> cid;
cout << " 成绩列表";
for (iter=degree.begin();iter!=degree.end();iter++)
if (iter->getcno()==cid && iter->gettag()==0)
cout<< iter->getsno() <<"("<< iter->getgrade() <<")"<<" ";
cout<< endl;
}
void GDatabase::gdispall()
{
list<Grade>::iterator iter;
cout<<"\t 学号 课程编号 分数"<<endl;
for (iter=degree.begin();iter!=degree.end();iter++)
if (iter->gettag()==0)
cout << "\t" << iter->getsno() <<"\t\t"<< iter->getcno()
<<"\t"<< iter->getgrade() <<endl;
}
void GDatabase::gradedata()
{
int choice=1;
int sid;
int cid;
double grade1;
Grade *p;
while (choice!=0)
{
cout << " 成绩管理 1:新增 2:更改 3:删除 4:查找 5:显示 6:全删 0:退出=>";
cin>>choice;
switch (choice)
{
case 1:
cout<<" 输入学生学号:";
cin>>sid;
cout<<" 输入课程编号: ";
cin>>sid;
cout<<" 输入分数: ";
cin>> gradel;
addegree(sid,cid,grade1);
break;
case 2:
cout<<" 输入学生学号:";
cin>>sid;
cout<<" 输入课程编号: ";
cin>>sid;
p=query(sid,cid);
if(p==NULL)
{
cout <<" 提示:该学生成家不存在"<<endl;
break;
}
cout << " 输入新的分数:";
cin >> grade1;
p->setdegree(grade1);
break;
case 3:
cout<<" 输入学生学号:";
cin>>sid;
cout<<" 输入课程编号: ";
cin>>sid;
p=query(sid,cid);
if(p==NULL)
{
cout <<" 提示:该学生成家不存在"<<endl;
break;
}
p->delgrade();
break;
case 4:
cout<<" 输入学生学号:";
cin>>sid;
cout<<" 输入课程编号: ";
cin>>sid;
p=query(sid,cid);
if(p==NULL)
{
cout <<" 提示:该学生成家不存在"<<endl;
break;
}
p->dispgrade();
break;
case 5:
gdispall();
break;
case 6:
clear();
cout << " 提示:记录仪全删除"<<endl;
}
}
}
void main()
{
int choice1=1,choice2;
SDatabase StudentDB;
CDatabase CourseDB;
GDatabase GradeDB;
while(choice1!=0)
{
cout<<"主菜单 1:成绩管理 2:成绩查询 3:课程管理 4:学生管理 0:离开=>";
cin>>choice1;
switch(choice1)
{
case 1:
GradeDB.gradedate();
break;
case 2:
choise2=1;
while(choice2!=0)
{
cout>>" 成绩查询:1.查找某学生所有成绩 2.查找某课程成绩记录 0:返回=>";
cin>>choice2;
switch(choice2)
{
case 1:
GradeDB.quergrade();
break;
case 2:
GradeDB.querycourse();
break;
}
}
break;
case 3:
CourseDB.coursedata();
break;
case 4:
StudentDB.studentdata();
break;
default:
break;
}
}
}
做的该系统中,运行时显示vc98\include\list.h错误,#include<iomanip.h>
#include<fstream.h>
#include<list.h>
//学生类声明
class Student
{
protected:
int tag;
int no;
char name[20];
public:
Student() {tag=0;}
Student(int,char []);
void addstudent(int,char []);
char *getname();
int gettag();
int getno();
void setname(char sname[]);
void delstudent();
void sdisp();
};
//学生类实现
Student::Student(int sid,char sname[])
{
addstudent(sid,sname);
}
void Student::addstudent(int sid,char sname[])
{
tag=0;
no=sid;
strcpy(name,sname);
}
char *Student::getname()
{
return name;
}
int Student::gettag()
{
return tag;
}
int Student::getno()
{
return no;
}
void Student::setname(char sname[])
{
strcpy(name,sname);
}
void Student::delstudent()
{
tag=1;
}
void Student::sdisp()
{
cout<<setw(6)<<no<<setw(20)<<name<<endl;
}
//学生库类声明
class SDatabase
{
list<Student> stud;
public:
SDatebase();
~SDatebase();
void clear;
int addstudent(int,char []);
Student *query(int);//按学号查找
void sdispalol();
void studentdata();
};
//学生库类实现
SDatabase::SDatebase()
{
Student s;
fstrem file;
file.open("student.dat",ios::init);
while(1)
{
file.read((char *)&s,sizeof(s);
if(!file) break;
stud.push_back(s);//插入一个学生记录
}
file.close();
}
SDatabase::~SDatabase()
{
list<Student>::iterator iter;
fstream file;
for (iter=std.begin();iter!=stud.end();iter++)
if (iter->gettag()==0)
file.write((char *)&(* iter),sizeof(Student));
file.close();
}
void SDatabase::clear()
{
stud.clear();
}
int SDatabase::addstudent(int std,char sname[])
{
Student *p=query(sid);
if(p==NULL)
{
Student s(sid,sname);
stud.push_back(s);
return 1;
}
return 0;
}
Student *SDatabase::query(int sid)
{
list<Student>::iterator iter;
for (iter=stud.begin();iter!=stud.end();iter++)
if(iter->getno()==sid && iter->gettag()==0)
return &(*iter);
return NULL;
}
void SDatabase::sdispalol()
{
list<Student>::iterator iter;
cout<<" 学号 姓名"<<endl;
for(iter=stud.begin();iter!=stud.end();iter++)
if(iter->gettag()==0)
iter->sdisp();
}
void SDatabase::studentdata()
{
int chioxe=1;
char sname[20];
int sid;
Student *p;
while(chioce!=0)
{
cout<<" 学生管理 1:新增 2:更改 3:删除 4:查找 5:显示 6:全删 0:退出=>";
cin>> choice;
switch(choice)
{
case 1:
cout<<" 输入学号:";
cin>>sid;
cout<<" 输入学生姓名:";
cin>>sname;
addstudent(sid,sname);
break;
case 2:
cout<<" 输入学号:";
cin>>sid;
p=query(sid);
if(p==NULL)
{
cout<<" 提示:该学生不存在"<<endl;
break;
}
cout<<" 输入新的姓名:";
cin>>sname;
p->setname(sname);
break;
case 3:
cout<<" 输入学号:";
cin>>sid;
p=query(sid);
if(p==NULL)
{
cout<<" 提示:该学生不存在"<<endl;
break;
}
p->delstudent();
break;
case 4:
cout<<" 输入学号:";
cin>>sid;
p=query(sid);
if(p==NULL)
{
cout<<" 提示:该学生不存在"<<endl;
break;
}
p->sdisp();
break;
case 5:
sdispalol();//cuowu
break;
case 6:
clear();
cout<<" 提示:记录已全删除"<<endl;
break;
}
}
}
//课程类声明
class Course
{
int tag;
int no;
char name[20];
public:
Course() {};
Course (int,char[]);
char *getname();
int getno();
int gettag();
void setname(char[]);
void delcourse();
void addcourse(int,char[]);
void cdisp();
};
//课程类实现
Course::Course(int cid,char cname[])
{
addcourse(cid,cname);
}
char *Course::getname()
{
return name;
}
int Course::getno()
{
return no;
}
int Course::gettag()
{
return tag;
}
void Course::setname(char cname[])
{
strcpy(name,cname);
}
void Course::delcourse()
{
tag=1;
}
void Course::addcourse(int cid,char cname[])
{
tag=0;
no=cid;
strcpy(name,cname);
}
void Course::cdisp()
{
cout<< setw(6)<< no << setw(20) << name << endl;
}
//课程库类声明
class CDatabase
{
list<Course>course;
public:
CDatabase();
~CDatabase();
void clear();
void addcourse(int,char []);
Course *query(int);
void coursedata();
void cdispall();
};
//课程库类实现
CDatabase::CDatabase()
{
Course b;
fstream file("course.dat",ios::in);
while (1)
{
file.reawd((char *)&b,sizeof(b));
if(!file)break;
course.push_back(b);
}
file.close();
}
CDatabase::~CDatabase()
{
fstream file("course.dat",ios::out|ios::trunc);
list<Course>::iterator iter;
for (iter=course.begin();iter!=course.end();iter++)
if(iter->gettag()==0)
file.write((char *)&(*iter),sizeof(Course));
file.close();
}
void CDatabase::clear()
{
course.clear();
}
void CDatabase::addcourse(int cid,char cname[])
{
Course b(cid,cname);
if (p==NULL)
{
Course b(cid,cname);
course.push_back(b);
}
else
cout<<"该课程已存在,不能增加"<<endl;
}
Course *CDatabase::query(int cid)
{
list<Course>::iterator iter;
for (iter=course.begin();iter!=course.end();iter++)
if(iter->getno()==cid&&iter->gettag()==0)
return &(*iter);
return NULL;
}
void CDatabase::cdispall()
{
list<Course>::iterator iter;
cout<<" 课程编号 课程名"<<endl;
for(iter=course.begin();iter!=course.end();iter++)
if(iter->gettag()==0)
iter->cdisp();
}
void CDatabase::coursedata()
{
int choice=1;
char cname[40];
int cid;
Course *b;
while (choice!=0)
{
cout<<"课程管理1:新增2:更改3:删除:查找5:显示6:全删:退出=>";
cin>>choice;
switch (choice)
{
case 1: //新增课程记录
cout<<" 输入课程编号:";
cin>>cid;
cout<<" 输入课程名称:";
cin>>cname;
addcourse(cid,cname);
break;
case 2: //更改课程记录
cout<< " 输入课程编号:";
cin>>cid;
b=query(cid);
if (b==NULL)
{
cout<<" 提示:该课程不存在"<<endl;
break;
}
cout<<" 输入新课程名:";
cin>>cname;
b->setname(cname);
break;
case 3: //删除课程记录
cout<<" 输入课程编号:";
cin>>cid;
b=query(cid);
if (b==NULL;
{
cout<<" 提示:该课程不存在"<<endl;
break;
}
b->delcourse();
break;
case 4: //查找课程记录
cout<<" 输入课程编号:";
cin>>cid;
b=query(cid);
if (b==NULL)
{
cout<<" 提示:该课程不存在"<<endl;
break;
}
b->cdisp();
break;
case 5: //显示所有课程记录
cdlspall();
break;
case 6:
clear();
cout<<" 提示:记录已全删除"<<endl;
break;
}
}
}
//成绩类声明
class Grade
{
int tag;
int sno;
int cno;
double degree;
public:
Grade() {}
Grade(int,int,double);
void setdegree(double);
void delgrade();
int gettag();
int getsno();
int getcno();
double getgrade();
void dispgrade();
void adddegree(int,int,double);
};
//成绩类实现
Grade::Grade(int snol,int cnol,double gradel)
{
adddegree(snol,cnol,gradel);
}
void Grade::setdegree(double gradel)
{
degrdee==gradel;
}
void Grade::delgrade()
{
tag=1;
}
int Grade::gettag()
{
return tag;
}
int Grade::getcno()
{
return cno;
}
double Grade::dispgrade()
{
return degree;
}
void Grade::disgrade()
{
cout<< sno << "," << cno << "," << degree <<endl;
}
void Grade::adddegree(int snol,int cnol,double degreel)
{
tag=0;
sno=snol;
cno=cnol;
degree=degreel;
}
//成绩库类声明
class GDatebase
{
list<Grade>degree; //成绩表容器
public:
GDatabase(); //构造函数,从grade.dat=>degree
~GDatebase(); //析构函数,degree=>grade.dat
void clear(); //全删
void addegree(int,int,double); //增加一个成绩记录
Grade *query(int,int); //查找某学生某课程成绩记录
void querygrade();
void querycourse();
void gdispall();
void gradedata();
};
//成绩库类实现
GDatabase::GDatabase()
{
Grade b;
fstream file("grade.dat",ios::in);
while(1)
{
file.read((char *)&b,sizeof(b));
if (!file) break;
degree.push_back(b);
}
file.close();
}
GDatabase::~GDatabase() //析构函数,degree=>grade.dat
{
fstream file("grade.dat",ios::out|ios::trunc);
list<Grade>::iterator iter; //迭代器
for (iter=degree.begin();iter!=degree.end();iter++)
if (iter->gettag()==0)
file.write((char *)&(*iter),sizeof(Grade));
file.close();
}
void GDatabase::clear()
{
degree.chear();
}
void GDatabase::clear()
{
degree.clear();
}
void GDatabase::addegree(int sid,int cid,double degree) //增加一个成绩记录
{
Grade *p=query(sid,cid);
if (p==NULL)
{
Grade f(sid,cid,degreel);
degree.push_back(f);
}
else
cout<<"该学生的这门课成绩已存在,不能增加"<<endl;
}
Grade *GDatabase::query(int sid,int cid)
{
list<Grade>::iterator iter;
for(iter=degree.begin();iter!=degree.end();iter++)
if(iter->getsno()==sid&&iter->getcno()==cid&&iter->gettag()==0)
return NULL;
}
void GDatabase::querygrade()
{
int sid;
list<Grade>::iterator iter;
cout <<" 输入学号:";
cin>>sid;
cout<<" 成绩列表:";
for (iter=degree.begin();iter!=degree.end();iter++)
if(iter->getsno()==sid && iter->gettag()==0)
cout << iter->getcno() <<"("<< iter->getgrade() <<")"<<" ";
}
void GDatabase::querycourse()
{
int cid;
list<Grade>::iterator iter;
cout<<" 输入课程编号:";
cin>> cid;
cout << " 成绩列表";
for (iter=degree.begin();iter!=degree.end();iter++)
if (iter->getcno()==cid && iter->gettag()==0)
cout<< iter->getsno() <<"("<< iter->getgrade() <<")"<<" ";
cout<< endl;
}
void GDatabase::gdispall()
{
list<Grade>::iterator iter;
cout<<"\t 学号 课程编号 分数"<<endl;
for (iter=degree.begin();iter!=degree.end();iter++)
if (iter->gettag()==0)
cout << "\t" << iter->getsno() <<"\t\t"<< iter->getcno()
<<"\t"<< iter->getgrade() <<endl;
}
void GDatabase::gradedata()
{
int choice=1;
int sid;
int cid;
double grade1;
Grade *p;
while (choice!=0)
{
cout << " 成绩管理 1:新增 2:更改 3:删除 4:查找 5:显示 6:全删 0:退出=>";
cin>>choice;
switch (choice)
{
case 1:
cout<<" 输入学生学号:";
cin>>sid;
cout<<" 输入课程编号: ";
cin>>sid;
cout<<" 输入分数: ";
cin>> gradel;
addegree(sid,cid,grade1);
break;
case 2:
cout<<" 输入学生学号:";
cin>>sid;
cout<<" 输入课程编号: ";
cin>>sid;
p=query(sid,cid);
if(p==NULL)
{
cout <<" 提示:该学生成家不存在"<<endl;
break;
}
cout << " 输入新的分数:";
cin >> grade1;
p->setdegree(grade1);
break;
case 3:
cout<<" 输入学生学号:";
cin>>sid;
cout<<" 输入课程编号: ";
cin>>sid;
p=query(sid,cid);
if(p==NULL)
{
cout <<" 提示:该学生成家不存在"<<endl;
break;
}
p->delgrade();
break;
case 4:
cout<<" 输入学生学号:";
cin>>sid;
cout<<" 输入课程编号: ";
cin>>sid;
p=query(sid,cid);
if(p==NULL)
{
cout <<" 提示:该学生成家不存在"<<endl;
break;
}
p->dispgrade();
break;
case 5:
gdispall();
break;
case 6:
clear();
cout << " 提示:记录仪全删除"<<endl;
}
}
}
void main()
{
int choice1=1,choice2;
SDatabase StudentDB;
CDatabase CourseDB;
GDatabase GradeDB;
while(choice1!=0)
{
cout<<"主菜单 1:成绩管理 2:成绩查询 3:课程管理 4:学生管理 0:离开=>";
cin>>choice1;
switch(choice1)
{
case 1:
GradeDB.gradedate();
break;
case 2:
choise2=1;
while(choice2!=0)
{
cout>>" 成绩查询:1.查找某学生所有成绩 2.查找某课程成绩记录 0:返回=>";
cin>>choice2;
switch(choice2)
{
case 1:
GradeDB.quergrade();
break;
case 2:
GradeDB.querycourse();
break;
}
}
break;
case 3:
CourseDB.coursedata();
break;
case 4:
StudentDB.studentdata();
break;
default:
break;
}
}
}
--------------------Configuration: 123 - Win32 Debug--------------------
Compiling...
123.cpp
e:\vc98\include\list.h(37) : error C2146: syntax error : missing ';' before identifier 'Length'
e:\vc98\include\list.h(37) : error C2501: 'DWORD' : missing storage-class or type specifiers
e:\vc98\include\list.h(37) : error C2501: 'Length' : missing storage-class or type specifiers
e:\vc98\include\list.h(53) : error C2146: syntax error : missing ';' before identifier 'GetPrevLink'
e:\vc98\include\list.h(53) : error C2433: 'WINAPI' : 'inline' not permitted on data declarations
e:\vc98\include\list.h(53) : fatal error C1004: unexpected end of file found
执行 cl.exe 时出错.
该如何更改,请高手赐教!!!