#include <iostream.h>
#include <string.h>class Student
{
public:
char m_strName[10];
char m_strNum[20];
char m_strDept[20];
char m_strAddr[20];
int m_nLessonNum;
char m_strProfName[20]; Student(){}
Student(char *name,char *num,char *dept,char *addr,int lessonnum,char *profname);
virtual void ShowMe(int i)
{
cout<<i<<"|"<<m_strName<<"|"<<m_strNum<<"|"<<m_strDept<<"|"<<m_strAddr<<"|"<<m_nLessonNum<<"|"<<m_strProfName<<endl; }
};
Student::Student(char *name,char *num,char *dept,char *addr,int lessonnum,char *profname)
{
strcpy(m_strName,name);
strcpy(m_strNum,num);
strcpy(m_strDept,dept);
strcpy(m_strAddr,addr);
m_nLessonNum=lessonnum;
strcpy(m_strProfName,profname);
}
class Student1 : public Student
{
public:
char m_strType[20];
Student1(char *name,char *num,char *dept,char *addr,int lessonnum,char *profname)
:Student(name,num,dept,addr,lessonnum,profname)
{strcpy(m_strType,"在校生");}
virtual void ShowMe(int i)
{
cout<<i<<"|"<<m_strName<<"|"<<m_strNum<<"|"<<m_strDept<<"|"<<m_strAddr<<"|"<<m_nLessonNum<<"|"<<m_strProfName<<"|"<<m_strType<<endl; }
};
class Student2 : public Student
{
public:
char m_strType[20];
Student2(char *name,char *num,char *dept,char *addr,int lessonnum,char *profname)
:Student(name,num,dept,addr,lessonnum,profname)
{strcpy(m_strType,"函授生");}
virtual void ShowMe(int i)
{
cout<<i<<"|"<<m_strName<<"|"<<m_strNum<<"|"<<m_strDept<<"|"<<m_strAddr<<"|"<<m_nLessonNum<<"|"<<m_strProfName<<"|"<<m_strType<<endl; }
};
void main()
{
int count=0;
Student1 stu1[50];
Student2 stu2[50];
int i,j,lessonnum;
char name[10],num[20],dept[20],addr[20],profname[20];
bool bstutype;
for(;;)
{
cout<<"====================================="<<endl;
cout<<"= 1.显示所有学生信息 ="<<endl;
cout<<"= 2.增加一条学生记录 ="<<endl;
cout<<"= 3.删除一条学生记录 ="<<endl;
cout<<"= 4.退出程序 ="<<endl;
cout<<"====================================="<<endl;
cout<<"请输入选项编号(1-4):"<<endl;
cin>>i;
switch(i)
{
case 1:
{
cout<<endl<<"====================================="<<endl;
cout<<"序号"<<"|姓名"<<"|学号"<<"|年级"<<"|住址"<<"|课程数目"<<"|专业"<<endl;
for(i=0;i<count;i++)
{
if(bstutype)
{
stu1[i].ShowMe(i);
}
}
for(i=0;i<count;i++)
{
if(!bstutype)
{
stu2[i].ShowMe(i);
}
}
cout<<endl<<"====================================="<<endl;
break;
}
case 2:
{
cout<<"请选这输入学生类型:1.在校生 2.函授生"<<endl;
cin>>i;
if(i=1){bstutype=true;}
if(i=2){bstutype=false;}
if(bstutype)
{
if(count<50)
{
i=count++;
cout<<"请依次输入学生姓名,学号,年级,住址,所修课程的数目,就读的专业。"<<endl;
cin>>name>>num>>dept>>addr>>lessonnum>>profname;
stu1[i]=Student(name,num,dept,addr,lessonnum,profname);
}
else
{
cout<<"#>存储空间已满!"<<endl;
}
}
else
{
if(count<50)
{
i=count++;
cout<<"请依次输入学生姓名,学号,年级,住址,所修课程的数目,就读的专业。"<<endl;
cin>>name>>num>>dept>>addr>>lessonnum>>profname;
stu2[i]=Student(name,num,dept,addr,lessonnum,profname);
}
else
{
cout<<"#>存储空间已满!"<<endl;
}
}
break;
}
case 3:
{
cout<<"请选这输入学生类型:1.在校生 2.函授生"<<endl;
cin>>i;
if(i=1){bstutype=true;}
if(i=2){bstutype=false;}
if(bstutype)
{
cout<<"输入要删除的学生序号:"<<endl;
cin>>i;
if(i<=count&&i>0)
{
for(j=i;j<count;j++){stu1[j-1]=stu1[j];}
count--;
cout<<"#>记录已删除!^_^"<<endl;
}
else
{
cout<<"#>输入错误!"<<endl;
}
}
else
{
cout<<"输入要删除的学生序号:"<<endl;
cin>>i;
if(i<=count&&i>0)
{
for(j=i;j<count;j++){stu2[j-1]=stu2[j];}
count--;
cout<<"#>记录已删除!^_^"<<endl;
}
else
{
cout<<"#>输入错误!"<<endl;
}
}
break;
}
default:
return;
}
}
}
/*代码如上,不知道是那里错了,请指点!*/
#include <string.h>class Student
{
public:
char m_strName[10];
char m_strNum[20];
char m_strDept[20];
char m_strAddr[20];
int m_nLessonNum;
char m_strProfName[20]; Student(){}
Student(char *name,char *num,char *dept,char *addr,int lessonnum,char *profname);
virtual void ShowMe(int i)
{
cout<<i<<"|"<<m_strName<<"|"<<m_strNum<<"|"<<m_strDept<<"|"<<m_strAddr<<"|"<<m_nLessonNum<<"|"<<m_strProfName<<endl; }
};
Student::Student(char *name,char *num,char *dept,char *addr,int lessonnum,char *profname)
{
strcpy(m_strName,name);
strcpy(m_strNum,num);
strcpy(m_strDept,dept);
strcpy(m_strAddr,addr);
m_nLessonNum=lessonnum;
strcpy(m_strProfName,profname);
}
class Student1 : public Student
{
public:
char m_strType[20];
Student1(char *name,char *num,char *dept,char *addr,int lessonnum,char *profname)
:Student(name,num,dept,addr,lessonnum,profname)
{strcpy(m_strType,"在校生");}
virtual void ShowMe(int i)
{
cout<<i<<"|"<<m_strName<<"|"<<m_strNum<<"|"<<m_strDept<<"|"<<m_strAddr<<"|"<<m_nLessonNum<<"|"<<m_strProfName<<"|"<<m_strType<<endl; }
};
class Student2 : public Student
{
public:
char m_strType[20];
Student2(char *name,char *num,char *dept,char *addr,int lessonnum,char *profname)
:Student(name,num,dept,addr,lessonnum,profname)
{strcpy(m_strType,"函授生");}
virtual void ShowMe(int i)
{
cout<<i<<"|"<<m_strName<<"|"<<m_strNum<<"|"<<m_strDept<<"|"<<m_strAddr<<"|"<<m_nLessonNum<<"|"<<m_strProfName<<"|"<<m_strType<<endl; }
};
void main()
{
int count=0;
Student1 stu1[50];
Student2 stu2[50];
int i,j,lessonnum;
char name[10],num[20],dept[20],addr[20],profname[20];
bool bstutype;
for(;;)
{
cout<<"====================================="<<endl;
cout<<"= 1.显示所有学生信息 ="<<endl;
cout<<"= 2.增加一条学生记录 ="<<endl;
cout<<"= 3.删除一条学生记录 ="<<endl;
cout<<"= 4.退出程序 ="<<endl;
cout<<"====================================="<<endl;
cout<<"请输入选项编号(1-4):"<<endl;
cin>>i;
switch(i)
{
case 1:
{
cout<<endl<<"====================================="<<endl;
cout<<"序号"<<"|姓名"<<"|学号"<<"|年级"<<"|住址"<<"|课程数目"<<"|专业"<<endl;
for(i=0;i<count;i++)
{
if(bstutype)
{
stu1[i].ShowMe(i);
}
}
for(i=0;i<count;i++)
{
if(!bstutype)
{
stu2[i].ShowMe(i);
}
}
cout<<endl<<"====================================="<<endl;
break;
}
case 2:
{
cout<<"请选这输入学生类型:1.在校生 2.函授生"<<endl;
cin>>i;
if(i=1){bstutype=true;}
if(i=2){bstutype=false;}
if(bstutype)
{
if(count<50)
{
i=count++;
cout<<"请依次输入学生姓名,学号,年级,住址,所修课程的数目,就读的专业。"<<endl;
cin>>name>>num>>dept>>addr>>lessonnum>>profname;
stu1[i]=Student(name,num,dept,addr,lessonnum,profname);
}
else
{
cout<<"#>存储空间已满!"<<endl;
}
}
else
{
if(count<50)
{
i=count++;
cout<<"请依次输入学生姓名,学号,年级,住址,所修课程的数目,就读的专业。"<<endl;
cin>>name>>num>>dept>>addr>>lessonnum>>profname;
stu2[i]=Student(name,num,dept,addr,lessonnum,profname);
}
else
{
cout<<"#>存储空间已满!"<<endl;
}
}
break;
}
case 3:
{
cout<<"请选这输入学生类型:1.在校生 2.函授生"<<endl;
cin>>i;
if(i=1){bstutype=true;}
if(i=2){bstutype=false;}
if(bstutype)
{
cout<<"输入要删除的学生序号:"<<endl;
cin>>i;
if(i<=count&&i>0)
{
for(j=i;j<count;j++){stu1[j-1]=stu1[j];}
count--;
cout<<"#>记录已删除!^_^"<<endl;
}
else
{
cout<<"#>输入错误!"<<endl;
}
}
else
{
cout<<"输入要删除的学生序号:"<<endl;
cin>>i;
if(i<=count&&i>0)
{
for(j=i;j<count;j++){stu2[j-1]=stu2[j];}
count--;
cout<<"#>记录已删除!^_^"<<endl;
}
else
{
cout<<"#>输入错误!"<<endl;
}
}
break;
}
default:
return;
}
}
}
/*代码如上,不知道是那里错了,请指点!*/
解决方案 »
- Unhandled exception in tstcon32.exe (kernel32.dll) :0xe06d7363 sql2000 插入记录时报错
- OpenGL在Visual Studio下画出的茶壶无法显示。。。急求
- PCA+SVM人脸识别
- 懂gethostbyaddr的帮忙下!!!!!
- 关于Active控件使用的一个特殊问题,求VC高人
- 成为MFC高手要多久?有前途吗?
- 在没有named_guids时,想使用Libid怎么办?(急!!!!!!!!!!!!!!!!!!!!!!!)
- 各位大侠帮忙
- VC高手进来帮我解答,这个问题困惑了好多天了,谢谢!
- 捕获关机事件,如何区分是关机还是重启?
- 迅雷的WEB界面是如何实现的?
- 用CImage对图像进行旋转操作
原来是在调用Student1 stu1[50]时,没有给出构造函数!