2017-03-27 52 views
-1
#include <iostream> 
#include <stdlib.h> 

using namespace std; 

int i; 
int e; 
int p; 

char name[10] = {}; 
cout<<endl<<"Please enter the letters of your name separated by enter, when you are done, type 'quit' "<<endl; 

for (e=0; e <= 10; e++) 
{ 
    cin>>name[e]; 
    if (name[e] == 'quit') 
    { 
     break; 

    } 
} 
for (p=0; p < ; p++) 
{ 
    cout<<name[p]; 
} 
return 0; 
} 

我想讓用戶輸入他們的名字不超過10個字符,但是如果用戶輸入退出,我想結束循環。請幫我解決問題。提前致謝。如何在輸入整數時打破for循環?

回答

0

不喜歡它 -

#include <iostream> 
#include <stdlib.h> 
#include <vector> 

using namespace std; 

int i; 
int e; 
int p; 

vector<string> name; 
cout<<endl<<"Please enter the letters of your name separated by enter, when you are done, type 'quit' "<<endl; 

while(1) 
{ 
    string tmp; 
    cin>>tmp; 
    if (tmp == "quit") 
    { 
     break; 

    } 
    else if(tmp.size()>10) 
    { 
     cout<<"Enter name with less then 11 character"<<endl; 
    } 
    else 
    { 
     name.push_back(tmp); 
    } 
} 
for (auto n : name) 
{ 
    cout<<n<<endl; 
} 
return 0; 
} 
0

使用getline它。另外,使用std :: string來收集數據並檢查輸入的大小會更容易。

0

「quit」是一個字符串,它包含4個字符。你不能把它當作一個單獨的角色。所以你必須使用雙引號「」而不是單引號「'。 此外,該字符串保存在一個字符數組中,而不是一個char變量。所以

if (name[e] == 'quit') 

是完全錯誤的。