C++设计猜成语程序

请设计猜四字成语游戏。功能需求:(1)设计一个四字成语类Idiom,包含成语内容,多级解释。(2)设计一个猜四字成语游戏类Game,可以随机产生成语的解释信息,显示到控制... 请设计猜四字成语游戏。
功能需求:
(1) 设计一个四字成语类Idiom,包含成语内容,多级解释。
(2) 设计一个猜四字成语游戏类Game,可以随机产生成语的解释信息,显示到控制台,等待用户输入猜测到的成语。
(3) 用户作答后,系统可以判断用户输入的成语内容是否正确,如果正确,继续一下;如果不正确,让用户继续做答,直到猜词成功。
(4) 设计提示功能,引导用户猜成功。如果用户根据一级解释没能回到正确,继续展开第二级解释,如果用户还是回答错误,继续展开更多级别的解释,直到全部解释展开完或者用户回答正确。
(5) 使用外部文件存储相关数据。
展开
 我来答
windos2011
2018-04-25 · TA获得超过233个赞
知道小有建树答主
回答量:251
采纳率:84%
帮助的人:171万
展开全部

成语文件格式为  成语 - 解释 

和蔼可亲- 性情温和,态度亲切 
唉声叹气- 因伤感、烦闷或痛苦而发出叹息的声音

生成成语文本 1.txt 放在 c:/1.txt 可在代码中自行修改

代码如下:

#include <iostream>
#include <fstream>
#include <string>
#include <ctime>
#include <random>
using namespace std;
class Idiom{
public:
    string word;
    string note;
    string tishi;
    Idiom(string a,string b):word(a),note(b){tishi=a.substr(0,4);}
};

int main()
{   srand(time(0));

    string str1,str2;                       //str1 读入的成语 str2 读入的解释
    int n=0;                                  //n 存储词语个数
    ifstream fin;
   fin.open("c:/1.txt");
   if(!fin) {cout<<"文件打开失败!";return 0;}
   while(fin){
    getline(fin,str1);
    n++;}                                               //获得词语个数
    fin.close();



while(1){
    fin.open("c:/1.txt");
    int num=rand()%n;                           //获得随机词语
    for(int i=0;i<num;i++)
        getline(fin,str1);

    getline(fin,str1,'-');
    getline(fin,str2);


    {


    Idiom game(str1,str2);                  //    根据读入的数据 生成对象Idiom!

    while(1)
    {   cout<<"给出的解释:";
        cout<<game.note<<endl;
        cout<<"请输入成语:";
         cin>>str1;
         while(1)
         {
             if(str1==game.word) { cout<<"答对了!请继续\n"; break;}
             else {
                if(str1=="1")  cout<<"提示前2字为:"<<game.tishi<<endl;
             else
                cout<<"猜错了!请继续 如需提示就输入1\n请输入成语:";
                cin>>str1;
             }
         }
        break;
    }

    }

    fin.close();
}

    return 0;
}
匿名用户
2018-05-10
展开全部
我是吉珠的老师,我希望你能主动向我承认错误,还有几周就要检查了,现在赶紧写,还来的及的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2018-05-09
展开全部
兄弟你是吉珠的吗,我也是这道题,做完了,便宜出200块怎么样
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
丿艾瑞灬莉娅
2018-04-25 · TA获得超过916个赞
知道小有建树答主
回答量:926
采纳率:78%
帮助的人:418万
展开全部
大工程,不免费,有意私聊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式