Question

In: Computer Science

In C++ Write a program that dynamically allocates a built-in array large enough to hold a...

In C++

Write a program that dynamically allocates a built-in array large enough to hold a user-defined number of test scores. (Ask the user how many grades will be entered and use a dynamic array to store the numbers.) Once all the scores are entered, the array should be passed to a function that calculates the average score. The program should display the scores and average. Use pointer notation rather than array notation whenever possible. (Input Validation: Do not accept negative numbers for test scores.) Make it a class, call it something like gradeholder. You will need a destructor because you are using dynamic arrays.

I need your help. Thank you

Solutions

Expert Solution

#include <iostream>

using namespace std;

// function to calculate average of the scores

double calAverage(double *ptr, int size) {

    // initialize sum to 0

    double sum = 0.0;

    // calculate sum

    for(int i = 0; i < size; i++) {

        sum += *(ptr + i);

    }

    // return the average

    return sum/size;

}


// main function

int main() {

    // declare variable

    int n;

    // read the number of scores in array

    cout << "Number of test scores: ";

    cin >> n;

    // dynamically allocate the array to store scores

    double *scores = new double[n];

    for(int i = 0; i < n; i++){

        // read scores

        cout << "Enter score " << i + 1 << ": ";

        cin >> *(scores + i);

        // validating user input

        while (*(scores + i) < 0){

            cout << "Test score can not be negative."<<endl;

            cout << "Please re-enter: "<<endl;

            cin >> *(scores + i);

        }

    }


    // display scores

    cout << "\n\nTest Scores: ";

    for(int i = 0; i < n; i++){

        cout << *(scores + i) << " ";

    }

    // call function to calculate average

    cout << "\nAverage: ";

    cout << calAverage(scores, n);  // function call to calculate average

    

    // delete the array free its memory

    delete[] scores;

    return 0;

}


Related Solutions

Write a program that dynamically allocates a built-in array large enough to hold a user-defined number...
Write a program that dynamically allocates a built-in array large enough to hold a user-defined number of test scores. (Ask the user how many grades will be entered and use a dynamic array to store the numbers.) Once all the scores are entered, the array should be passed to a function that calculates the average score. The program should display the scores and average. Use pointer notation rather than array notation whenever possible. (Input Validation: Do not accept negative numbers...
In C++ 1. Test Scores #1 Write a program that dynamically allocates a built-in array large...
In C++ 1. Test Scores #1 Write a program that dynamically allocates a built-in array large enough to hold a user-defined number of test scores. (Ask the user how many grades will be entered and use a dynamic array to store the numbers.) Once all the scores are entered, the array should be passed to a function that calculates the average score. The program should display the scores and average. Use pointer notation rather than array notation whenever possible. (Input...
C++ Task 1 Write a program that allocates an array large enough to hold 5 student...
C++ Task 1 Write a program that allocates an array large enough to hold 5 student test scores. Once all the scores are entered, the array should be passed to a function that sorts them in ascending order. Another function should be called that calculates the average score. The program should display the sorted list of scores and averages with appropriate headings. Input Validation: Do not accept negative numbers for test scores. Task 2 Modify the program so the lowest...
C++ Task 1 Write a program that allocates an array large enough to hold 5 student...
C++ Task 1 Write a program that allocates an array large enough to hold 5 student test scores. Once all the scores are entered, the array should be passed to a function that sorts them in ascending order. Another function should be called that calculates the average score. The program should display the sorted list of scores and averages with appropriate headings. Input Validation: Do not accept negative numbers for test scores. Task 2 Modify the program so the lowest...
Task 1 Write a program that allocates an array large enough to hold 5 student test...
Task 1 Write a program that allocates an array large enough to hold 5 student test scores. Once all the scores are entered, the array should be passed to a function that sorts them in ascending order. Another function should be called that calculates the average score. The program should display the sorted list of scores and averages with appropriate headings. Input Validation: Do not accept negative numbers for test scores. Task 2 Modify the program so the lowest test...
Write a program in c++ to do the following: 2. Create an array to hold up...
Write a program in c++ to do the following: 2. Create an array to hold up to 20 integers. 3. Create a data file or download attached text file (twenty_numbers.txt) that contains UP TO 20 integers. 4. Request the input and output file names from the user. Open the files being sure to check the file state. 5. Request from the user HOW MANY numbers to read from the data file, up to twenty. Request the number until the user...
In C++, write a program that uses array to calculate the factorial of a reasonable large...
In C++, write a program that uses array to calculate the factorial of a reasonable large number (say, up to 2,000).
In C++. Write a program that uses array to calculate the factorial of a reasonable large...
In C++. Write a program that uses array to calculate the factorial of a reasonable large number (say, up to 2,000).  
Write a function that dynamically allocates references to other arrays. The goal is to end up...
Write a function that dynamically allocates references to other arrays. The goal is to end up with a square 2D array who's value increment with each index increment so that the values placed in first array start at zero and end at 9, and the values placed in the last array start at 90 and end at 99.
Program in C: Write a program in C that reorders the elements in an array in...
Program in C: Write a program in C that reorders the elements in an array in ascending order from least to greatest. The array is {1,4,3,2,6,5,9,8,7,10}. You must use a swap function and a main function in the code. (Hint: Use void swap and swap)
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT