大家有C++程序的话,就复制你贴下,帮我看看我做的错哪里
/*C++作业
1. 建立一个试题类(shiti)
包括成员:题目,分值,批改(纯虚函数),正确答案
2. 该类派生出 (1)判断题 类
(2)单项选择题 类
(3)多项项选择题 类
后两种添加新成员选项(字符串数组)
以上三个类均覆盖"批改"
批改要求:
1. 其中判断题和单项选择题答对得所有分,答错不得分
2. 多项选择题全部正确得所有分,部分正确得一半分,答错不得分
3.使用以上类生成两个应用程序
1. 教师用版:1添加试题 2生成试卷和答案
2. 学生用版:1续入试题 2学生答题并计算得分
选择题的"选项",使用数组保存
clrscr();
*/
#include <iostream>
using namespace std;
class st
{
private:
char tm[200];
double fs;
char da[10];
public:
st(char *ntm, double nfs,char *nda)
{
strcpy(tm,ntm);
fs=nfs;
strcpy(da,nda);
}
virtual double pg() = 0;
void shuchu()
{
cout<<"题目:"<<tm<<"............("<<fs<<"分)"<<endl;
}
};
class pdt : public st
{
pdt(char *tm,double fs, char *da):st(tm,fs,da)
{}
/* double pg()
{
}*/
};
class dx : public st
{
private:
char xx[50];
public:
dx(char *tm,double fs,char *da,char *nxx):st(tm,fs,da)
{
strcpy(xx,nxx);
}
};
class dxt : public st
{
private:
char xx[50];
public:
dxt(char *tm,double fs,char *da,char *nxx):st(tm,fs,da)
{
strcpy(xx,nxx);
}
};
int sum=0;
st *tmk[200];
void tianjia()
{
char tm[200],da[10],xx[50];
double fs;
int i;
do
{
cout<<"请选择添加题目类型:"<<endl;
cout<<"1, 判断题 2,单选题 3, 多选题 "<<endl;
cin>>i;
if (i<0||i>3)
cout<<"选择范围出错!"<<endl;
else
{
cout<<"输入题目:";
cin>>tm;
cout<<"输入分数:";
cin>>fs;
cout<<"输入答案:";
cin>>da;
switch(i)
{
case 1:
{
tmk[sum]=new pdt(tm,fs,da);
break;
}
case 2:
{
cout<<"输入选项:"<<endl;
cin>>xx;
tmk[sum]=new dx(tm,fs,da,xx);
break;
}
case 3:
{
cout<<"输入选项:"<<endl;
cin>>xx;
tmk[sum]=new dxt(tm,fs,da,xx);
break;
}
sum++;
cout<<"添加成功!"<<endl;
break;
}
}
}while(true);
}
void main()
{
int i,j;
cout<<"欢迎使用系统!!"<<endl;
cout<<"请选择用户类型:(1,教师 2,学生)"<<endl;
do{
cin>>i;
if(i<0||i>2)
cout<<"选择超出范围!"<<endl;
switch(i)
{
case 1:
{
do
{
cout<<"欢迎进入教师系统"<<endl;
cout<<"1,添加题目 2,生成试卷 "<<endl;
cin>>j;
if(j<0||j>2)
cout<<"选择超出范围!"<<endl;
switch(j)
{
case 1:
{
tianjia();
break;
}
case 2:
{
//shengcheng();
break;
}
default:
return;
}
}while(true);
}
case 2:
default:
return;
}
}while(true);
}