| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 720 人关注过本帖
标题:大家有C++程序的话,就复制你贴下,帮我看看我做的错哪里
只看楼主 加入收藏
zsj520yxq
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2008-11-23
收藏
 问题点数:0 回复次数:2 
大家有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);

}
搜索更多相关主题的帖子: 答题 应用程序 正确答案 选择题 
2008-11-23 12:51
newyj
Rank: 2
等 级:新手上路
威 望:3
帖 子:542
专家分:0
注 册:2008-1-4
收藏
得分:0 
lz定义的父类 是个虚基类 而 在派生类中又没有 重定义父类的纯虚函数 所以 派生类也是 虚基类
不能实力化的
2008-11-23 13:28
crazycoder
Rank: 1
来 自:长春
等 级:新手上路
帖 子:36
专家分:0
注 册:2008-11-20
收藏
得分:0 
没有细看LZ的程序,但newyj说的很对

Breath deeply, three times a day, hold on for one year----我要说的是:坚持真的是件很难的事。
2008-11-23 15:48
快速回复:大家有C++程序的话,就复制你贴下,帮我看看我做的错哪里
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.051631 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved