-
-
Notifications
You must be signed in to change notification settings - Fork 436
Open
Description
#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;
}
Metadata
Metadata
Assignees
Labels
No labels