Directory:Derek Elder/Programs/Grade Calculator
MyWikiBiz, Author Your Legacy — Thursday November 07, 2024
Jump to navigationJump to search#include <iostream> #include <iomanip> #include <fstream> #include <string> #include <cmath> using namespace std; int main() { string first_name = string(); string last_name = string(); int test_score = 0; int test_number = 0; float total_score = 0.0; bool done = false; char grade = ' '; char ch = ' '; ifstream Input; ofstream Output; string Input_File_Name = string(); string Output_File_Name = string(); while(!done) { Input.clear(); cout<<"Please enter the name of your input file: "; getline(cin,Input_File_Name); Input.open(Input_File_Name.c_str()); if(!Input) { cout<<"The file name is invalid or the file is read protected.\n"; done = false; } else { cout<<"The file "<<Input_File_Name<<" exists.\n"; ch = Input.peek(); if(ch == EOF) { cout<<"The file "<<Input_File_Name<<" has no data in it."<<endl; done = false; Input.close(); } else { cout<<"The file "<<Input_File_Name<<" has data in it."<<endl; done = true; } } } done = false; while(!done) { Output.clear(); cout<<"Please enter the name of your output file: "; getline(cin,Output_File_Name); Output.open(Output_File_Name.c_str()); if(!Output) { cout<<"Output file creation failed\n"; done = false; } else { cout<<"Output file creation successful\n"; done = true; } } Output<<"-----------------------------Grade Calculator-----------------------------"<<endl<<endl; Output<<"This program will process test scores to provide individuals"<<endl; Output<<"with letter grades according to the following scale:"<<endl<<endl; Output<<" Average 90-100 A"<<endl; Output<<" Average 80-89.9 B"<<endl; Output<<" Average 70-79.9 C"<<endl; Output<<" Average 60-69.9 D"<<endl; Output<<" Average < 59.9 F"<<endl<<endl; Output<<"--------------------------------------------------------------------------"<<endl; Input>>first_name>>last_name; while(Input) { Output<<"Your name is :"<<first_name<<" "<<last_name<<endl; Input>>test_score; if(test_score < 0) { Output<<first_name<<" "<<last_name<<" you didn't take any tests"<<endl; Output<<"--------------------------------------------------------------------------"<<endl; } else { Output<<"Your scores are :"; total_score = 0; test_number = 0; while(test_score >= 0) { total_score = total_score + test_score; test_number++; Output<<" "<<test_score; Input>>test_score; while(Input.fail()) { Input.clear(); Input.ignore(100,' '); Input>>test_score; } } float test_average = total_score/test_number; if(test_average >= 90) grade = 'A'; else if(test_average >= 80) grade = 'B'; else if(test_average >= 70) grade = 'C'; else if(test_average >= 60) grade = 'D'; else grade = 'F'; Output<<endl<<first_name<<" "<<last_name<<", your average is "<<setprecision(1)<<fixed<<test_average <<", and your letter grade is "<<grade<<endl; Output<<"--------------------------------------------------------------------------"<<endl; } Input>>first_name>>last_name; } Output<<"Thank you for using this Grade Calculator."; cout<<"Good day.\n"; Input.close(); Output.close(); return 0; }