mardi 27 septembre 2016

IF or WHILE for numerical input checker

I've been working on a program that calculates the mean of the user's inputs. I couldn't figure out yet, what to use for the input checker. I can't use arrays or strings yet. It should check that both inputs are numerical values; if no, it should ask again for the correct input.

#include <iostream>
using namespace std;
int main()
{
    // Get number from user
    int input = 0;
    double accumulator = 0;
    double mean;
    cout << "How many numbers would you like me to average together?\n";
    cin >> input;
    if (input >= 0){ //to check if input is a numerical value

        // Compute and print the mean of the user input

        int number = 1;
        double x;
        while (number <= input) //while corrected
        {
            cout << "Please type a numerical value now: \n";
            cin >> x;
            if (x < 0  || x > 0){ //to check if x is a numerical value
                accumulator = accumulator + x;
            }
            else {
                cout << "Input incorrect"<< endl;
            }
            number = number + 1;
        }
        mean = accumulator / input; // formula corrected
        cout << "The mean of all the input values is: " << mean << endl;
        cout << "The amount of numbers for the average calculation is: " << input << endl;
        }
    else {
        cout << "Input incorrect"<< endl;
    }
    return 0;
}

Aucun commentaire:

Enregistrer un commentaire