Just started learning c++ today and im pretty boggled. its an amazing language but im having some trouble overwriting a file
#include <iostream>
#include <fstream>
using namespace std;
int main( )
{
double payIncrease = 7.6;
double annual;
double annualIncrease;
double newAnnual;
double monthlyIncrease;
double newMonthly;
ifstream inStream;
ofstream outStream;
// heres where the problem lies
inStream.open("annualSalary.txt" );
outStream.open("newAnnualSalary.txt");
if i change newAnnualSalary.txt to annualSalary.txt i get some very weird numbers.
does anyone know why?
inStream >> annual;
inStream.close();
double monthly = (annual/12);
annualIncrease = ((annual/100)*payIncrease);
monthlyIncrease = ((monthly/100)*payIncrease);
newMonthly = (monthly + monthlyIncrease);
newAnnual = (annual + annualIncrease);
outStream <<"annual salary was: "<< annual << "\n" ;
outStream <<"new annual salary is " << newAnnual << "\n ";
outStream <<"new monthly salary is " << newMonthly <<"\n ";
outStream.close();
return 0;
}
im aware this is a very low skill level question but i am just learning.
You can’t open the same file as an istream and an ostream at the same time. Since you are closing the istream pretty early on, why not just put the ostream open call after the istream close? Alternatively you can use an fstream which will allow reads and writes.