Skip to content

Program 5 (A) #753

Description

@Josh33cod

#include
#include
#include
#include

using namespace std;

int main()
{
// Declare variables to manipulate data
string firstName, lastName;
double testScore;
char grade = ' ';
double sum = 0;
int count = 0;

// Declare stream variables
ifstream inFile;
ofstream outFile;

// Open input file
inFile.open("C:\Users\joshu\OneDrive\Desktop\CSC118")
("Ch5_stData.txt");
if (!inFile)
{
    cout << "Cannot open input file. Program terminates!" << endl;
    return 1;
}

// Open output file
outFile.open("Ch5_stData.out");
outFile << fixed << showpoint << setprecision(2);

// Read first student data
inFile >> firstName >> lastName >> testScore;

while (inFile)
{
    sum += testScore; // Update sum
    count++; // Increment count

    // Determine the grade
    switch (static_cast<int>(testScore) / 10)
    {
        case 10:
        case 9:
            grade = 'A';
            break;
        case 8:
            grade = 'B';
            break;
        case 7:
            grade = 'C';
            break;
        case 6:
            grade = 'D';
            break;
        default:
            grade = 'F';
            break;
    }

    // Output student record to file
    outFile << left << setw(12) << firstName
            << setw(12) << lastName
            << right << setw(6) << testScore
            << setw(4) << grade << endl;

    // Read next student data
    inFile >> firstName >> lastName >> testScore;
}

outFile << endl;

// Output class average
if (count != 0)
    outFile << "Class Average: " << sum / count << endl;
else
    outFile << "No data." << endl;

inFile.close();
outFile.close();

return 0;

}

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions