Ristor
Ristor

Reputation: 1

c++ Adding 100 numbers to each other

I know most of people may find this too easy but i am still very new to programming so i need a program that allows the user to enter 100 numbers and the program finds their sum , i have tried this:

#include <iostream>
using namespace std;
int main ()
{
float x;
int counter=0 , sum=0;


cout<<"enter a number\n";
cin>>x;
do {
        sum+=x;
        cout<<"sum="<<sum<<endl;
        counter++;  
   } 
while ( counter<=100 );
}

i found this making 'x' has the value that i entered first time but i need to enter different value every time it repeats (entering 100 different values) what should i add?

Upvotes: 0

Views: 1798

Answers (5)

nonis
nonis

Reputation: 1

Look out at the condition of your while. You are saying this -> counter<=100, and counter is initialized to 0. So, you will enter from 0 to 100(included) = 101 times. If you only want to enter 100 times, the condition should be

do
{
    cout << "enter a number\n";
    cin >> x
    sum += x;
    cout << "sum=" << sum << endl;
    counter++;
}
while (counter < 100);

or initialize counter to 1, and then you can use the same while as you had.

Upvotes: 0

user8937373
user8937373

Reputation: 1

You could also do it in a for loop:

float input, sum;
    for(int i = 0;i < 100; i++){
       cout << "Enter a number << endl;
       cin >> input;
       sum += input;
       cout << "sum is: << sum << endl;
    }

Upvotes: 0

Ishpreet
Ishpreet

Reputation: 5880

You can use a For loop also for simplicity. Make sure to use long int data type for storing sum because the sum of 100 integers may lead to integer overflow.

#include <iostream>
using namespace std;

int main() {
    int x, num;
    long int sum=0;
    cout<<"Enter the number you want to find the sum:";
    cin>>num;    // Like 100
    for(int counter=1;counter<=num;counter++)
    {
        cout<<"Enter a number:";
        cin>>x;
        sum+=x;
    }
    cout<<"Sum of "<<num<<" numbers is:"<<sum;
    return 0;
}

Upvotes: 0

Sami Ben Abderazak
Sami Ben Abderazak

Reputation: 3

You just have put the cin into the loop so that in every iteration it asks for an input. Also note that the variable sum is an integer, while the variable x is a float. So you probably should make sum a float or make x an integer to avoid getting unexpected results .

#include <iostream>
using namespace std;
int main () {
  float x,sum=0;
  int counter=0 ;



  do {
      cout<<"enter a number\n";
      cin>>x;
      sum+=x;
      cout<<"sum="<<sum<<endl;
      counter++;  
     } while ( counter<=100 );
  }

Upvotes: 0

lamandy
lamandy

Reputation: 982

Simply move the input prompt and cin into the loop

do
{
    cout << "enter a number\n";
    cin >> x
    sum += x;
    cout << "sum=" << sum << endl;
    counter++;
}
while (counter < 100);

Take note that it should be counter < 100 instead of counter <= 100 if you want it to be exactly 100 times.

Upvotes: 1

Related Questions