+ 1
C++. Pls help me
How can i create a program that will accept input values while the input is not equal to zero.
3 Answers
+ 4
You will need a while loop, some number type variable, cin and booleans. It's all in the tutorial you're studying.
Wanna show us your attempt?
+ 1
i dont know why the input always infinite
#include <iostream>
using namespace std;
main(){
int number,counter=0,sum=0,average;
while(number!=0){
cout << "enter a number: ";
cin >> number;
sum+=number;
if(number!=0)
counter++;
}
average=sum/counter;
cout << endl << endl << "the sum of all input numbers is: " << sum;
cout << endl << "the average of all input numbers is: " << average;}
0
I would change the code slightly like this:
int number=0,counter=0,sum=0,average=0;
do{
cout << "enter a number: ";
cin >> number;
sum+=number;
if(number!=0)
counter++;
}while(number!=0);
if(counter)
average=sum/counter;
I set number and average to zero to begin with, so that you don't get an error if you just hit return, and a valid result.
To make that work, I have chosen the do while loop so that it runs at least once anyway.
Look at the condition if(counter):
It calculates the average only if there's a counter. Because otherwise you divide by zero which doesn't work.
I would further recommend to use the type double for number, sum and average, because otherwise everything will be rounded down to an integer.