web-dev-qa-db-ja.com

do / while、WhileステートメントまたはForステートメントを使用してユーザーが入力したいくつかの整数の合計を見つける方法

ここで手伝ってください。ユーザーが複数の数字を入力するプログラムを作成したいと思います(たとえば、頭から6つの数字を入力します)。次に、プログラムは先に進み、これらすべての数値の合計を計算する必要があります。ただし、Forステートメント、Whileステートメント、またはdo/whileステートメントのいずれかのループステートメントを使用する必要があります。これは私がこれまでに持っているものです:

#include <iostream>

using namespace std;

int main()
{
    int count = 1;
    int sum = 0;
    int number;
    int numberitems;

    cout << "Enter number of items: \n";
    cin >> numberitems;

    cout << "Enter number: \n";
    cin >> number;

    do {

        sum = sum + number;

        count++;
    } while (count <= 6);
}

そしてここにISステートメント中に使用する他のコード

#include <iostream>

using namespace std;

int main()
{
    int count = 1;
    int sum = 0;
    int number;

    cout << "Enter number: \n";
    cin >> number;

    while (count <= 6) {
        sum = sum += number;

        count++;
    }
    cout << sum << endl;
}

私はこれが初心者のものであることを知っています、まあ初心者なので、丁寧に姉妹を助けてください。ありがとう

2
Laila

FORループはうまく機能しました、私はそれを少し修正しました:

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

    int sum = 0;
    int number;
    int numberitems;


    cout << "Enter number of items: \n";
    cin >> numberitems;

    for(int i=0;i<numberitems;i++)
    {
        cout << "Enter number: \n";
        cin >> number; 

        sum=sum+number;

    }
    cout<<"sum is: "<< sum<<endl;
}

ただし、WHILEループの11行目にエラーがあります(このスコープではCountが宣言されていません)。何が問題になる可能性がありますか?また、DO、WHILEループを使用したソリューションがあるとしたら、それは素晴らしいことです。ありがとう

1
Laila

何かを追加する場合は、intの制限を超えていないことを常に確認する必要があることに注意してください(特に宿題の練習で)。また、int main ()intを返す必要があります。

「do..while」ループの使用:

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

  int sum = 0;
  int previous = 0;
  int number;
  int numberitems;
  int count = 0;

  cout << "Enter number of items: ";
  cin >> numberitems;

  if ( numberitems <= 0 ) 
  {
    //no request to perform sum
    cout << "Quitting without summing.\n\n";
    return 0;
  }

  do
  {
    cout << "Enter number to add : ";
    cin >> number; 

    sum+=number;

    // check here that the addition didn't break anything.
    // Negative + negative should stay negative, positive + postive should stay positive
    if ((number > 0 && previous > 0 && sum < 0) || (number < 0 && previous < 0 && sum > 0))
    {
      cout << "Error: Beyond int limits !!";
      return 1;
    }

    count++;
    previous = sum;

  }
  while ( count < numberitems);

  cout<<"sum is: "<< sum<<endl;

  return 0;
} 
0
fzd

簡単なプログラムは、forループを使用していくつかの整数の合計を見つける方法を示しています。

#include <iostream>    
using namespace std;

int main ()
{
    int sum = 0;

    int endnum = 2;

    for(int i = 0; i<=endnum; i++){
        sum += i;
    }
    cout<<sum;
}
0
David Z
#include<iostream>
int main()
{//initialize variables
    int limit;
    int num;
    int sum=0;
    int counter=0;

    cout<<"Enter limit of numbers you wish to see"<<" ";
    cin>>limit;
    cout<<endl;

while(counter<limit)
{

   cout<<"Enter number "<<endl;
  cin>>num;

  sum=sum+num;
  counter++;
}
cout<<"The sum of numbers is "<<" "<<endl

return 0;
}
0
lerato

やったほうがいい:

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

    int sum = 0;
    int number;
    int numberitems;


    cout << "Enter number of items: \n";
    cin >> numberitems;

    for(int i=0;i<numberitems;i++)
    {
        cout << "Enter number <<i<<":" \n";
        cin >> number; sum+=number;
    }
    cout<<"sum is: "<< sum<<endl;
}

そしてしばらくの間ステートメントで

#include <iostream>
using namespace std;
int main ()
{
    int sum = 0;
    int number;
    int numberitems;
    cin>>numberitems;

    cout << "Enter number: \n";

    while (count <=numberitems)
    {
        cin >> number;
        sum+=number;
    }
    cout << sum << endl;
}
0
John St