在数组中存储值

时间:2013-07-22 06:10:36

标签: c++ arrays

用户应输入名称,然后输入成绩。当用户点击-1时,不能为该个人存储更多等级。当用户键入X时,他/她输入总数,然后输入-1表示不能存储更多等级。我不明白为什么我的for循环以奇怪的方式输出。 names数组存储了应该转到数字数组的int值。

例如,输入应如下所示:

Jane 3 4 -1
Lane 4 5 -1
X   10 10 -1 

输出应如下所示:

Jane 3 4 
Jane had a 7/20
Lane 4 5
Lane had a 9/20

到目前为止,这是我的工作:

#include <iostream>
#include <cstring>
#include <string>

using namespace std;

int main()
{
 string name = " ";
 string names[20];
 int numbers[20];
 int i = 0, j=0, number;

 do
 {
   cin >> name;
   names[i]=name;
   i++;

   j=0;
   if(number!=-1)
   {
       cin>> number;
       numbers[j]=number;
       j++;
   }
 }while(name!="X");

 for(int x = 0; x <= i; x++)
 {
  for(int y = 0; y <= j; y++)
  {
      cout << names[x];
  }
 }

}

1 个答案:

答案 0 :(得分:0)

您的代码存在一个问题,

 int i = 0, j=0, number;

您在代码中使用未初始化的number

if(number!=-1)

这包含垃圾值,同时为-1