您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> C/C++ >> 帮忙改下程序

帮忙改下程序

来源:网络整理     时间:2016/9/7 3:44:20     关键词:

关于网友提出的“ 帮忙改下程序”问题疑问,本网通过在网上对“ 帮忙改下程序”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: 帮忙改下程序
描述:

各位  帮帮忙!这个程序怎么也改也调试不成功!(最好用C++)
#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;
const int NUM = 26;
const string Wordlist[NUM] = {"alabama", "choice", "usually",
"dangerous", "deer", "panda", "love", "health", "exciting",
"interesting", "administrator", "PRofessional", "manage", "nonce", "onset",
"typeid", "quarter", "remote", "lovely", "car", "keeper",
"valid", "where", "mean", "important", "last"};//供游戏的单词库 
int main()
{
 srand(time(0));
 char play;
 cout << "Will you play a word game?  ";
 cin >> play;
 play = tolower(play);
 while(play=='y')
 {
  string first(wordlist[rand()%NUM]);//随机选择单词 
  int length=first.length();
  string player(length,'-');//玩家猜测的单词 
  string badguess;//猜错的字母集合 
  int guesses=10;//猜错的机会 
  char guess;
  cout<<"您有"<<>
  cout<<"您的单词:"<<>
  while(guesses>0&&player!=first)
  {
   cout<<"请您猜吧!";
   cin>>guess;
   if(badguess.find(guess)!=string::nposplayer.find(guess)!=string::npos)
   {
    cout<<"对不起,这个字母您已经猜过了。";
    continue;
   }//判定是否已经猜过 
   int temp=first.find(guess);
   if(temp==string::npos)
   {
    cout<<"啊!猜错了。\n";
    guesses--;
    badguess+=guess;
   }//猜错后的处理 
   else
   {
    player[temp]=guess;
    temp=first.find(guess,temp+1);
    while(temp!=string::npos)//继续搜索该字符,看是否单词中有多个该字符 
    {
     player[temp]=guess;
     temp=first.find(guess,temp+1);
    }
   }
   cout<<"您还剩下"<<>
   cout<<"您当前猜出的单词:"<<>
   cout<<"您当前猜错的字母集合:"<<>
  } 
  if(guesses==0)
   cout<<"对不起,您失败了。\n";
  else
   cout<<"您真棒!\n";
   cout<<"正确单词为:"<<>
   cout << "Will you play again?  "; 
   cin>>play;
 }
 system("PAUSE");
 return 0;
}
以下出的错误,不知道那个写错了
f:\c\拆字游戏1.cpp(17) : error C2018: unknown character '0xa1'
f:\c\拆字游戏1.cpp(17) : error C2018: unknown character '0xa1'
f:\c\拆字游戏1.cpp(18) : error C2018: unknown character '0xa1'
f:\c\拆字游戏1.cpp(18) : error C2018: unknown character '0xa1'
f:\c\拆字游戏1.cpp(19) : error C2018: unknown character '0xa1'
f:\c\拆字游戏1.cpp(19) : error C2018: unknown character '0xa1'
f:\c\拆字游戏1.cpp(20) : error C2018: unknown character '0xa1'
f:\c\拆字游戏1.cpp(20) : error C2018: unknown character '0xa1'
f:\c\拆字游戏1.cpp(21) : error C2018: unknown character '0xa1'
f:\c\拆字游戏1.cpp(21) : error C2018: unknown character '0xa1'
f:\c\拆字游戏1.cpp(22) : error C2018: unknown character '0xa1'
f:\c\拆字游戏1.cpp(22) : error C2018: unknown character '0xa1'
f:\c\拆字游戏1.cpp(23) : error C2018: unknown character '0xa1'
f:\c\拆字游戏1.cpp(23) : error C2018: unknown character '0xa1'
f:\c\拆字游戏1.cpp(24) : error C2018: unknown character '0xa1'
f:\c\拆字游戏1.cpp(24) : error C2018: unknown character '0xa1'
f:\c\拆字游戏1.cpp(24) : error C2018: unknown character '0xa1'
f:\c\拆字游戏1.cpp(24) : error C2018: unknown character '0xa1'
f:\c\拆字游戏1.cpp(24) : error C2065: 'wordlist' : undeclared identifier
f:\c\拆字游戏1.cpp(24) : error C2109: subscript requires array or pointer type
f:\c\拆字游戏1.cpp(24) : error C2664: '__thiscall std::basic_string<>,class std::allocator >::std::basic_string<>,class std::allocator >(const class std::allocator &
)' : cannot convert parameter 1 from 'int' to 'const class std::allocator &'
        Reason: cannot convert from 'int' to 'const class std::allocator'
        No constructor could take the source type, or constructor overload resolution was ambiguous
f:\c\拆字游戏1.cpp(25) : error C2018: unknown character '0xa1'
f:\c\拆字游戏1.cpp(25) : error C2018: unknown character '0xa1'
f:\c\拆字游戏1.cpp(25) : error C2018: unknown character '0xa1'
f:\c\拆字游戏1.cpp(25) : error C2018: unknown character '0xa1'
f:\c\拆字游戏1.cpp(26) : error C2018: unknown character '0xa1'
f:\c\拆字游戏1.cpp(26) : error C2018: unknown character '0xa1'
f:\c\拆字游戏1.cpp(26) : error C2018: unknown character '0xa1'
f:\c\拆字游戏1.cpp(26) : error C2018: unknown character '0xa1'
f:\c\拆字游戏1.cpp(27) : error C2018: unknown character '0xa1'
f:\c\拆字游戏1.cpp(27) : error C2018: unknown character '0xa1'
f:\c\拆字游戏1.cpp(27) : error C2018: unknown character '0xa1'
f:\c\拆字游戏1.cpp(27) : error C2018: unknown character '0xa1'
f:\c\拆字游戏1.cpp(28) : error C2018: unknown character '0xa1'
f:\c\拆字游戏1.cpp(28) : error C2018: unknown character '0xa1'
f:\c\拆字游戏1.cpp(28) : error C2018: unknown character '0xa1'
f:\c\拆字游戏1.cpp(28) : error C2018: unknown character '0xa1'
f:\c\拆字游戏1.cpp(29) : error C2018: unknown character '0xa1'
f:\c\拆字游戏1.cpp(29) : error C2018: unknown character '0xa1'
f:\c\拆字游戏1.cpp(29) : error C2018: unknown character '0xa1'
f:\c\拆字游戏1.cpp(29) : error C2018: unknown character '0xa1'
f:\c\拆字游戏1.cpp(30) : error C2018: unknown character '0xa1'
f:\c\拆字游戏1.cpp(30) : error C2018: unknown character '0xa1'
f:\c\拆字游戏1.cpp(30) : error C2018: unknown character '0xa1'
f:\c\拆字游戏1.cpp(30) : error C2018: unknown character '0xa1'
f:\c\拆字游戏1.cpp(31) : error C2018: unknown character '0xa1'
f:\c\拆字游戏1.cpp(31) : error C2018: unknown character '0xa1'
f:\c\拆字游戏1.cpp(31) : error C2018: unknown character '0xa1'
f:\c\拆字游戏1.cpp(31) : error C2018: unknown character '0xa1'
f:\c\拆字游戏1.cpp(31) : error C2679: binary '<<' : no operator defined which takes a right-hand operand of type 'class std::basic_string<>,class std::allocator >' (or there is no acceptable conversion)
f:\c\拆字游戏1.cpp(32) : error C2018: unknown character '0xa1'
f:\c\拆字游戏1.cpp(32) : error C2018: unknown character '0xa1'
f:\c\拆字游戏1.cpp(32) : error C2018: unknown character '0xa1'
f:\c\拆字游戏1.cpp(32) : error C2018: unknown character '0xa1'
f:\c\拆字游戏1.cpp(32) : error C2784: 'bool __cdecl std::operator !=(const class std::allocator<_Ty> &,const class std::allocator<_U> &)' : could not deduce template argument for 'const class std::allocator<_Ty> &' from 'class std::basic_string<>
,struct std::char_traits,class std::allocator >'
f:\c\拆字游戏1.cpp(32) : error C2784: 'bool __cdecl std::operator !=(const class std::istreambuf_iterator<_E,_Tr> &,const class std::istreambuf_iterator<_E,_Tr> &)' : could not deduce template argument for 'const class std::istreambuf_iterator<_E,_T
r> &' from 'class std::basic_string<>,class std::allocator >'
f:\c\拆字游戏1.cpp(32) : error C2784: 'bool __cdecl std::operator !=(const class std::reverse_iterator<_RI,_Ty,_Rt,_Pt,_D> &,const class std::reverse_iterator<_RI,_Ty,_Rt,_Pt,_D> &)' : could not deduce template argument for 'const class std::reverse
_iterator<_RI,_Ty,_Rt,_Pt,_D> &' from 'class std::basic_string<>,class std::allocator >'
f:\c\拆字游戏1.cpp(32) : error C2784: 'bool __cdecl std::operator !=(const struct std::pair<_T1,_T2> &,const struct std::pair<_T1,_T2> &)' : could not deduce template argument for 'const struct std::pair<_T1,_T2> &' from 'class std::basic_string<>
r,struct std::char_traits,class std::allocator >'
f:\c\拆字游戏1.cpp(32) : error C2676: binary '!=' : 'class std::basic_string<>,class std::allocator >' does not define this operator or a conversion to a type acceptable to the predefined operator
f:\c\拆字游戏1.cpp(32) : fatal error C1903: unable to recover from previous error(s); stopping compilation
Error executing cl.exe.
拆字游戏1.obj - 60 error(s), 0 warning(s)


解决方案1:

LZ的程序是随便复制过来的吧= =
我还帮你改好了,真是闲的蛋疼...


#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;
const int NUM = 26;
const string Wordlist[NUM] = {"alabama", "choice", "usually",
"dangerous", "deer", "panda", "love", "health", "exciting",
"interesting", "administrator", "PRofessional", "manage", "nonce", "onset",
"typeid", "quarter", "remote", "lovely", "car", "keeper",
"valid", "where", "mean", "important", "last"};//供游戏的单词库  
int main()
{
srand(time(0));
char play;
cout << "Will you play a word game?  ";
cin >> play;
play = tolower(play);
while(play=='y')
{
string first(Wordlist[rand()%NUM]);//随机选择单词  
int length=first.length();
string player(length,'-');//玩家猜测的单词  
string badguess;//猜错的字母集合  
int guesses=10;//猜错的机会  
char guess;
cout<<"您有"<<>
cout<<"您的单词: "<<><>
while(guesses>0&&player!=first)
{
cout<<"请您猜吧!";
cin>>guess;
if(badguess.find(guess)!=string::npos&&player.find(guess)!=string::npos)
{
cout<<"对不起,这个字母您已经猜过了。";
continue;
}//判定是否已经猜过  
int temp=first.find(guess);
if(temp==string::npos)
{
cout<<"啊!猜错了。\n";
guesses--;
badguess+=guess;
}//猜错后的处理  
else
{
player[temp]=guess;
temp=first.find(guess,temp+1);
while(temp!=string::npos)//继续搜索该字符,看是否单词中有多个该字符  
{
player[temp]=guess;
temp=first.find(guess,temp+1);
}
}
cout<<"您还剩下"<<>
cout<<"您当前猜出的单词:"<<>
cout<<"您当前猜错的字母集合:"<<>
}  
if(guesses==0)
cout<<"对不起,您失败了。\n";
else
cout<<"您真棒!\n";
cout<<"正确单词为:"<<>
cout << "Will you play again?  ";  
cin>>play;
}
system("PAUSE");
return 0;
}

以上介绍了“ 帮忙改下程序”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/3777155.html

相关图片

相关文章