2015-11-04 87 views
1

嗨,大家好,請檢查此代碼。我想創建一個程序,在該程序中我將被提示輸入名字和姓氏,然後按時間順序輸出它,而不必爲每個名字和姓氏創建變量。與while循環的C++數組

#include<iostream> 
using namespace std; 
int main(){ 

int fname[9]; 
int lname[9]; 
int x; 

while (x < 10){ 
    cout<<"Enter first name: "; 
    cin>>fname[0]; 
    cout<<"Enter last name: "; 
    cin>>lname[0]; 
    x = x + 10; 
} 

x = 0; 

while (x < 10){ 
    cout<<fname[0]<<" "<<lname[0]<<"\n"; 
    x = x + 1; 
} 

return 0; 
} 
+1

爲什麼使用int數組輸入文本? – NathanOliver

+1

'while(x <10){/*...*/ x = x + 10;}'只會執行一次。第二個'while'循環被破壞:你寫了相同的東西10次。 – user463035818

+0

so string fname [0] =「」;那麼循環如何?我需要按順序存儲數據,然後打印出來。 – nyelnyelnyel

回答

1

你的陣列應該是類型的字符串,代碼的其餘部分應該是這樣的:

for(int x=0;x<10;x++) { 
    cout<<"Enter first name: "; 
    cin>>fname[x]; 
    count<<"Enter last name: "; 
    cin>>lname[x]; 
} 
for(x=0;x<10;x++){ 
    cout<<fname[x]<<" "<<lname[x]<<"\n"; 
} 

return 0; 
} 

在你自己的代碼片段你打印你的數組的第一個元素的10倍,這將打印第x個元素,而x從0到9.

+0

我無法打印名稱。在我輸入名字後程序滯後。 「Untitled1.exe已停止工作」 – nyelnyelnyel

+0

您可以發佈您使用的代碼,因爲這只是我發佈的代碼片段。 – Nix