I tried to run this on Mac Xcode C++, but the file is not created. Can anyone help?

#include <iostream>
#include <fstream>
#include <iomanip>

using namespace std;

//Function prototype
void input(double&, double&, double&);
void calculate(double &, double &, double &, double &, double, double &);
void output_heading();
void output(double, double, double, double, int);

//Main function
int main()
{
//Declare variables
double ccbalance, interestrate, minimumpayment, sum = 0;
int month = 1;

//Input information
input (ccbalance, interestrate, minimumpayment);

//Output heading
output_heading();

//Interest per month
double ipm = (interestrate/100) /12;

//Minimum rate
double min = minimumpayment / 100;

//Loops
while (ccbalance > 0)
{
//Calculate
calculate(ccbalance, interestrate, minimumpayment, ipm, min, sum);

//Ouput
output(ccbalance, interestrate, minimumpayment, sum, month);

month++;
}

return 0;

}


//Input function
void input (double &ccbalance, double &interestrate, double &minimumpayment)
{
/* Pre: ccbalance - credit card balance
interestrate - the interest rate on your credit card
minimumpayment - percent of minimum paymet
Post: nothing
Purpose: Input information from users
*/

//Input file
ifstream inFile;

//Open the file

inFile.open ("Lab6.txt");
if(inFile.fail() == 1)
{
cout << "No Such File" << endl;
exit(100);
}
//Read the input

cout << "Enter your credit card balance: ";
cin >> ccbalance;
cout << "Enter the interest rate on your credit card: ";
cin >> interestrate;
cout << "Enter the percent of minimum payment: ";
cin >> minimumpayment;

inFile >> ccbalance;
inFile >> interestrate;
inFile >> minimumpayment;

//Close the file
inFile.close();
}

//Calculate function
/*Pre: ccbalance - reference to credit card balance
interestrate - reference to the interest rate
minimumpayment - reference to minimum payment
ipm - reference to interest per month
min - minimum rate
sum - reference to sum of interest paid
Post: interest rate, minimumpayment, ccbalance, sum
Purpose: to calculate the interestrate, minimumpayment, ccbalance, sum
*/
void calculate (double &ccbalance, double &interestrate, double &minimumpayment, double &ipm, double min, double &sum){

interestrate = ccbalance * ipm;
minimumpayment = (ccbalance + interestrate) * min;
if (minimumpayment <= 15){
minimumpayment = 15;
}
if (ccbalance < minimumpayment){
minimumpayment = ccbalance + interestrate;
ccbalance = 0;
}
else {
ccbalance = ccbalance + interestrate - minimumpayment;
}
sum = sum + interestrate;
}

//Output to the heading
/* Pre: none
Post: output of heading: month, balance, interest this month, minimum, sum of interest paid
Purpose: To ouput the heading
*/
void output_heading()
{
ofstream outFile;

outFile.open ("Output.txt");

outFile << left << setw(10) << "Month";
outFile << setw(15) << "Balance";
outFile << setw(15) << "Interest this month";
outFile << setw(15) << "Minimum";
outFile << setw(15) << "Sum of interest paid" << endl;

outFile.close();

}

//Ouput function
/* Pre: ccbalance - credit card balance
interestrate - the interestrate
minimumpayment - minimum payment
sum - sum of interest paid
month - months in a year
Post: Ouput of month, ccbalance, interestrate, minimumpayment,sum
Purpose: To output information
*/
void output(double ccbalance, double interestrate, double minimumpayment, double sum, int month)
{
ofstream outFile;

outFile.open ("Output.txt");

outFile << left << setw(10) << month;
outFile << setw(15) << ccbalance;
outFile << setw(15) << interestrate;
outFile << setw(15) << minimumpayment;
outFile << setw(15) << sum << endl;

outFile.close();
}


Last edited on
Topic archived. No new replies allowed.