-2

ユーザーは、名前に続いて成績を入力することになっています。ユーザーが -1 にヒットすると、その個人の成績はそれ以上保存できなくなります。ユーザーが X を入力すると、合計を入力してから -1 を入力して、これ以上成績を保存できないことを示します。for ループが奇妙な方法で出力される理由がわかりません。names 配列は、numbers 配列に送られるはずの 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];
  }
 }

}
4

1 に答える 1