output window will not stay open

I have an assignment where I need to write a grades calculator for two tests, the tests average for each student, as well as the letter grade. I got the code to build but the output window will not stay open. I do not know what else I am supposed to add to keep the window open. If someone knows how I can fix this problem any help would be appreciated thank you for your time.

<#include "stdafx.h"
#include <conio.h>
#include <iostream>
#include <iomanip>
#include <fstream> // std::ifstream, std::ofstream
#include <string>
using namespace std;
ofstream outFile;
double calculateAverage(double test1, double test2);
int calculateGrade(double avg);

int main()
{
// This program calculates the overall total points for two tests, the numeric grade and the letter grade.
//Declare variables to munipulate data
string studentName;
double test1, test2;
double average = 0.0;
char lettergrade;
int studentCount = 0;
double sumAverage = 0.0;
double cAverage = 0.0;
int i;

//Declare stream variables
ifstream inFile;
inFile.open("k:\\lettergrade.txt");
ofstream outFile;
outFile.open("k:\\Output.txt");
cout << "Student" << setw(10) << "Test1" << setw(10) << "Test2" << setw(10) << "Average" << setw(10) << "LetterGrade" << endl;
outFile << "Student" << setw(10) << "Test1" << setw(10) << "Test2" << setw(10) << "Average" << setw(10) << "LetterGrade" << endl;

while (inFile.good())
{
//Open input file
inFile >> studentName >> test1 >> test2;
average = calculateAverage(test1, test2);
lettergrade = (average);
i = 17 - studentName.size();

cout << studentName << setw(i) << test1 << setw(10) << test2 << setw(10) << lettergrade << endl;
outFile << studentName << setw(i) << test1 << setw(10) << test2 << setw(10) << average << setw(10) << lettergrade << endl;
sumAverage = sumAverage + average;
studentCount++;
}
cAverage = sumAverage / studentCount;

cout << setprecision(2) << fixed << showpoint << endl;
cout << endl << "Class average is:" << cAverage << endl;
outFile << setprecision(2) << fixed << showpoint << endl;
outFile << endl << "Class average is:" << cAverage << endl;
}

double calculateAverage(double test1, double test2)
{
double avg;
avg = (test1 + test2) / 2;
return avg;

}
//Calculate letter grade
int calculateGrade(double avg)
{
char lettergrade;
if (avg <= 100 && avg >= 90)
lettergrade = 'A';
else if (avg < 90 && avg >= 80)
lettergrade = 'B';
else if (avg < 70 && avg >= 60)
lettergrade = 'C';
else if (avg < 60 && avg >= 0)
lettergrade = 'F';
return lettergrade;

//Wait for a character before closing the console
cout << "\nPress any key to coninue...";
_getch();



return 0;
} >
Last edited on
I tried <std::cout << "Press ENTER to continue...";
std::cin.ignore( std::numeric_limits<std::streamsize>::max(), '\n' );
>
and the window does open but after pressing a button it closes without the calculator working. I tried <cin.get();
cin.get();> too but it won't open at all.
You need to put this code at the end of main.
1
2
3
  //Wait for a character before closing the console
  cout << "\nPress any key to coninue...";
  _getch();
Topic archived. No new replies allowed.