| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1064 人关注过本帖
标题:家有C++的,复制镍铁下,请教下怎么生成的TXT文件没内容(程序做到一半)!
只看楼主 加入收藏
zsj520yxq
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2008-11-23
收藏
 问题点数:0 回复次数:2 
家有C++的,复制镍铁下,请教下怎么生成的TXT文件没内容(程序做到一半)!
/*
C++作业
1.    建立一个试题类(shiti)
包括成员:题目,分值,批改(纯虚函数),正确答案
2.    该类派生出 (1)判断题 类
  (2)单项选择题 类
(3)多项项选择题 类
    后两种添加新成员选项(字符串数组)
    以上三个类均覆盖"批改"
    批改要求:
1.    其中判断题和单项选择题答对得所有分,答错不得分
2.    多项选择题全部正确得所有分,部分正确得一半分,答错不得分
3.使用以上类生成两个应用程序
1.    教师用版:1添加试题 2生成试卷和答案
2.    学生用版:1续入试题 2学生答题并计算得分
选择题的"选项",使用数组保存
clrscr();
*/
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;
class st
{
protected:
    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<<setw(20)<<"("<<fs<<")"<<endl;
    //}
    virtual void shengcheng(ofstream &f)
    {
        f<<tm<<"\t"<<"("<<fs<<")"<<"\t"<<da<<endl;
    }
};
class pdt : public st
{
public:
    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);
    }
    //void shuchu()
//    {
    //    cout<<"题目:"<<tm<<setw(20)<<"("<<fs<<")"<<endl;
    //    cout<<xx<<endl;
//}
    void shengcheng(ofstream &f)
    {
        f<<tm<<"\t"<<"("<<fs<<")"<<"\t"<<da<<endl;
        f<<xx<<endl;
    }
};
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);
    }
//    void shuchu()
//    {
//        cout<<"题目:"<<tm<<setw(20)<<"("<<fs<<")"<<endl;
//        cout<<xx<<endl;
//    }
    void shengcheng(ofstream &f)
    {
        f<<tm<<"\t"<<"("<<fs<<")"<<"\t"<<da<<endl;
        f<<xx<<endl;
    }
};
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, 多选题  4,输入完毕!(选择1~4)"<<endl;
    cin>>i;
    if (i==4)
        break;
    else if(i<0||i>4)
        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 shengcheng()
{
    int i;
    ofstream f("tmk.txt");
    for( i=0;i<sum;i++)
    {
       tmk[i]->shengcheng(f);
    }
    f.close();
//    for (i=0;i<sum;i++)
        //tmk[i]->st::shuchu();
}


void main()
{
    int i,j;
    cout<<"欢迎使用系统!!"<<endl;
    cout<<"请选择用户类型:(请输入(1~3):1,教师系统 ; 2,学生系统; 3,退出系统)"<<endl;
    do{
        cin>>i;
        if(i<0||i>3)
            cout<<"选择超出范围!"<<endl;
        switch(i)
        {
            case 1:
                {
                do
                {
                cout<<"欢迎进入教师系统"<<endl;
                cout<<"1,添加题目    2,生成试卷   3,返回上级 "<<endl;
                cin>>j;
                if(j==3)
                    return;
                if (j<0||j>3)
                cout<<"选择超出范围!"<<endl;
                else
                {
                switch(j)
                {
                case 1:
                    {
                    tianjia();
                    break;
                    }
                case 2:
                    {
                    shengcheng();
                    break;
                    }
                case 3:
                    {
                    cout<<"退出系统!"<<endl;
                    return;
                    }
                }
                }
                }while(true);
                }

            case 2:
            default:
                return;
        }
    }while(true);

}
搜索更多相关主题的帖子: 镍铁 TXT 文件 
2008-11-24 20:49
小小强12
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2008-11-22
收藏
得分:0 
好像没得向文件里输入的语句把。
2008-11-24 22:35
studentm
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2008-11-21
收藏
得分:0 
哈哈,不错 ,思考下
2008-11-25 09:34
快速回复:家有C++的,复制镍铁下,请教下怎么生成的TXT文件没内容(程序做到一半 ...
数据加载中...
 
   



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

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