我有這樣的代碼:C++遞歸重複輸出
#include <iostream>
#include <vector>
#include <ctime>
#include <math.h>
#include <string>
using namespace std;
int main()
{
srand(time(0));
string command_one;
int slot;
cout<<"One chip or Quit?\n";
getline(cin, command_one);
if(command_one=="One chip"){
cout<<"Pick a slot between 0 and 8 (inclusive)\n";
cin>>slot;
if(slot>=0 and slot<=8){
double position=slot;
}
else{
cout<<"This Option is invalid!\n";
main();
}
}
else if(command_one=="Quit"){
cout<<"Have a nice day! :D";
}
else{
cout<<"This Option is invalid!\n";
main();
}
}
當它擊中嵌套在if(command_one ==「單芯片」),它返回
「這個選項是無效的其他環
! 單芯片,多芯片或退出?
此選項無效!
單芯片,多芯片或退出?
但它應該是:
「此選項無效!
單芯片,多芯片或退出?」
這怎麼解決?
照顧'\ n'。 – haccks 2014-09-10 15:29:24
不要遞歸到'main'?通常你會爲此創建一個新的函數,並從'main'調用它。 – crashmstr 2014-09-10 15:29:48
將遞歸功能提取到其他方法,不要使用'main'進行遞歸。順便說一句:「雙重位置=插槽;」不要做任何事情。 – NetVipeC 2014-09-10 15:29:59