#include <iostream>
#include <iomanip>
usingnamespace std;
int main()
{
int num;
double input, sum=0, avg;
cout << "Enter a number for how many scores you'd like to put. \n\n"
<< "After you enter a number for the amount of scores, \n"
<< "proceed by entering any number you please until you have \n"
<< "reached the limit of the number you placed before.\n\n"
<< "Or if you wish to terminate the program early, please enter #. \n\n";
cin >> num;
for(int i = 1; i <= num; i++)
{
cin >> input;
sum += input;
}
avg = sum / num;
cout << "Average score of the numbers = " << avg << endl;
return 0;
}
For this program, I have to make a list number for the amount of scores the user wants to input and then have it come out. I have a decent loop to put the numbers in. The issue is that I can't set the program to terminate when I use the # symbol say the user wants to terminate the program early, I tried a for...while and it didn't work. Whenever I did use it, the list itself wouldn't work period, it wouldn't calculate the average. Any advice or aid? Thanks everyone!
avg = sum / num;
assuming the # symbol work for stopping the user input, the code above wouldn't calculate the correct average...
You can declare a new variable to count how many user input and divide the sum with that count variable,
and you can eliminate the "for-loop" and cin >> num;
So user can input as many number as they want without telling the program first.
as for the symbol, i thought the 'num' variable which is integer can't hold '#' cmiiw,
you can change the '#' to integer like '-1', then change the while loop to
#include <iostream>
#include <iomanip>
usingnamespace std;
int main()
{
int num;
double input, sum=0, avg;
double count;
bool again = true;
char yn = 'Y';
cout << "Enter a number for how many scores you'd like to put. \n\n"
<< "After you enter a number for the amount of scores, \n"
<< "proceed by entering any number you please until you have \n"
<< "reached the limit of the number you placed before.\n\n"
<< "Or if you wish to terminate the program early, please enter #. \n\n";
cin >> num;
input = 0;
count = 0;
sum += input;
while(input != -1){
cin >> input;
if(input == -1){
}
elseif (sum += input, count ++)
{
}
}
avg = sum / num;
cout << "Average score of the numbers = " << avg << endl;
{
cout << endl << "Would you like to enter another set of numbers and retrieve a new average?" << endl;
cin >> yn;
cout << endl << endl;
if (yn == 'n' || yn == 'N')
again = false;
else again = true;
}
return 0;
}
After doing what I thought was right, after inputting the ideas you told me it worked great. I've been attempting to gut other programs that I have and try inputting some of their stuff so it can prompt the user to input Y or N if they want to add another set of numbers. It ends the program regardless though.
EDIT: Nevermind, found what I did wrong. Turns out doing an algorithm first does help and makes you notice that you require a while loop in the beginning for the user to choose if they want to do it again. THANKS A BUNCH GENTS!