2015-11-04 85 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