【c++】猜单词游戏

/*在d盘的game目录下,建立一个文本文档answer.txt ,文件内容为用户设定的单词答案。(文件的内容可以直接给定)。如:
University
建立c++程序,读回answer.txt文件的内容,放入一维数组a中,判断单词的长度n。然后产生一个0到n-1的随机数i。
向用户显示a[0]..a[n-1]中除a[i]之外的全部元素,而a[i]位置用一个*填补,让用户猜想*处应该是什么字母,用户输入正确则给予祝贺,错误就给予鼓励。例如:
Uni*ersity
v
congratulation
√思考题1:能否在文件中给定多个单词,每个单词占一行(或以空格隔开),程序开始后,将文件中的单词读入到能够存储多个单词的字符数组中,用户答对了,则显示下一个单词继续游戏。
√思考题2:能否将单词的显示顺序随机化,让用户每次玩儿的都是不确定的单词。
思考题3:能否建立生词本功能,用户猜过的单词可以选择加入生词本,用户可以选择查看生词本(生词本存在另一个文件中,避免游戏退出后消失的问题)。
思考题4:能否设计简单实用的附加功能,让用户用着方便,玩得开心,学习单词的效果更好。
提示:可以随时决定显示猜错的单词是什么单词,汉语意思是什么;可以进行多种游戏模式,比如顺序显示记忆,猜单词记忆,生词本记忆,做英译汉或汉译英的选择题等等。
*/
#include 
#include 
#include
#include    
using namespace std;
int main()
{
    srand((unsigned)time(0));
    ifstream in;
    int ijudge;
    int iline=0,irand1,irand2,isize;
    int i=0;
    char s[100][100], *sline,s1,s2;
    //////////////打开文件并将数据存到数组中/////////////
    in.open("e:\\answer.txt",ios::in);
    if(in)
    {
        while(!in.eof())
        {
            in>>s[iline];
            iline++;
            if(iline>=100)
                break;
        }
    }
    else
        cout<<"file not found!"<///////////////////随机选单词/////////////////////////
    irand1=rand()%iline;//随机选一个单词
    isize=strlen(s[irand1]);//得到该单词长度
    irand2=rand()%isize;//随机选取某个字母位
    sline=new char[irand2];
    strcpy(sline,s[irand1]);
    for(int i=0;iif(i==irand2)
        {
            s1=s[irand1][irand2];
            s[irand1][irand2]='*';
        }
    }
    ///////////////////用户界面/////////////////////////////
    while(1)
    {

        if(i==0)
        {
            cout<<" --------------------------------------------------"<"------------------猜单词游戏-----------------------"<" --------------------------------------------------"<"------------------请补全“*”位置的字母----------------"<>s2;
        if(s1==s2)
        {
                cout<<"恭喜你答对了"<else
        {
            cout<<"回答错误"<"是否将该单词加入到生词本。1--是   2--否"<>ijudge;
        if(ijudge==1)
        {
            ofstream input("e:\\list.txt",ios::app|ios::out);
            input<"是否继续?1--是   2--否"<>ijudge;
        if(ijudge==2)
            break;
        else
        {
            irand1=rand()%iline;//随机选一个单词
            isize=strlen(s[irand1]);//得到该单词长度
            irand2=rand()%isize;//随机选取某个字母位
            sline=new char[irand2];
            strcpy(sline,s[irand1]);
            for(int i=0;iif(i==irand2)
                {
                    s1=s[irand1][irand2];
                    s[irand1][irand2]='*';
                }
            }
        }

    }
    in.close();
}

你可能感兴趣的:(安卓开发,c++基础,c语言)