2012-02-16 74 views
1

有人可以帮助我做这个循环。当循环询问“你有别的名字”时有人输入Y.它会不断地问同样的问题,直到用户输入N.做/ while循环不起作用

char ans; 

do { 
cout<<"Do you have another name (Y/N)?\n"; 


while(ask!="y"!! ans!!="n") { 
     cout<<"you must enter 'Y' or an 'N'.\n"; 
     cin >> ans; 
} 

if(ans=='y') 
    enter other name(); 
elseif end; 
+6

下一次,投入足够的精力至少让它编译,然后对你认为需要改变的一行发表评论。现在你有可怕的语法错误。 – 2012-02-16 14:01:09

回答

5

它是简单&很简单:

string answer; 
do { 
    enter_other_name(); 
    cout << "Do you have another name (Y/N)" << endl; 
    cin >> answer; 
} while(answer!="n"); 

它将错误的用户,直到他进入ñ。如果你想在按,然后将最后一行更改为} while(answer=="y");

1

这样的代码只是没有意义。你有一个未终止的做循环,while循环,你正在比较一个字符char *,!! =不是一个有效的操作符...

请发布一些代码编译。在你编译它的时候,你可能已经找出了问题所在。

就发布示例而言,复制和粘贴是您的朋友。