1

これはforループへの私の最初の試みであり、いくつかの問題があります。私は、2つのチームが四半期ごとに獲得したポイント数を尋ね、合計ポイントと勝ったチームを表示するプログラムを作成しようとしています。

#include <iostream>

using namespace std;

int main( )
{
    int scoreA = 0;
    int scoreB = 0;

    cout << "This program calculates the average score of 10 tests." << endl;

    for (int counter = 0; counter < 4; counter = counter + 1)
    {
        cout << "Enter Team A's quarterly points: ";
        cin >> scoreA;
        cout << "Enter Team B's quarterly points: ";
        cin >> scoreB;
        scoreA = scoreA + scoreA;
        scoreB = scoreB + scoreB;
    }

    cout << "Team A's Score: " << scoreA << endl;
    cout << "Team B's Score: " << scoreB << endl;
    if (scoreA > scoreB)
    {
               cout << "Team A wins";
               }
    else
    {
        cout << "Team B wins";
        }

    system("pause");
    return 0;
}
4

2 に答える 2

1

スコアの合計を格納する変数と、ユーザーから入力する変数は異なる必要があります。いいね(コメントを読む):

int sumB=0 , sumB=0; // added this 
for (int counter = 0; counter < 4; counter = counter + 1){
  cout << "Enter Team A's quarterly points: ";
  cin >> scoreA;
  cout << "Enter Team B's quarterly points: ";
  cin >> scoreB;
  sumA = sumA + scoreA;
  sumB = sumB + scoreB;
  //  ^      ^
}

たとえば、あなたのコードではscoreA = scoreA + scoreA;cin >> scoreA 両方のステートメントがループ中にお互いの効果を上書きし、同じことが起こりscoreBます。

したがって、次のように、コードの次の行もそれに応じて変更します。

cout << "Team A's Score: " << sumA << endl;
cout << "Team B's Score: " << sumB << endl;
if (sumA > sumB){
  // your code
}
else{
 // your code
}

さらに、あなたは c++ と SO が初めてなので、次のリンクを提案したいと思います: The Definitive C++ Book Guide and List

于 2013-03-10T19:11:21.350 に答える
1

ループで何が機能していないかを具体的に言っているわけではありませんが、 for ループで次のことがわかります。

cout << "Enter Team A's quarterly points: ";
cin >> scoreA;
cout << "Enter Team B's quarterly points: ";
cin >> scoreB;
scoreA = scoreA + scoreA;
scoreB = scoreB + scoreB;

したがって、反復ごとに scoreA と scoreB のスコアを上書きし ( cin >> scoreA)、それらを 2 倍にします ( scoreA = scoreA + scoreA)。

于 2013-03-10T19:12:00.837 に答える