Hello this is my current source code, #include #include #include #include // Fun
ID: 3568996 • Letter: H
Question
Hello this is my current source code,
#include
#include
#include
#include
// Function prototypes
void PrintFileContents(std::ifstream& ifile);
void ProcessAccounts(std::ifstream& ifile, std::ofstream& ofile, double);
void SetInputStreamPos(std::ifstream &str, int pos);
void SetOutputStreamPos(std::ofstream &str, int pos);
std::ifstream& GetInputFile(std::string filename);
std::ofstream& GetOutputFile(std::string filename);
//[BEGIN MAIN]
int main()
{
std::string inputFileName;
std::string outputFileName;
double interestRate;
std::cout << "Enter an input filename: ";
std::cin >> inputFileName;
std::cout << "Enter an output filename: ";
std::cin >> outputFileName;
std::cout << "Enter an interest rate (%): ";
std::cin >> interestRate;
std::cout << std::endl;
std::ifstream &ifile = GetInputFile(inputFileName);
std::ofstream &ofile = GetOutputFile(outputFileName);
std::cout << "Current account status:" << std::endl;
PrintFileContents(ifile);
ProcessAccounts(ifile, ofile, interestRate);
ifile.close();
ofile.close();
std::cout << std::endl;
std::cout << "New account status:" << std::endl;
// std::ifstream &ifile = GetInputFile(outputFileName);
PrintFileContents(ifile);
ifile.close();
std::cout << "Press ENTER";
std::cin.ignore();
std::cin.get();
return 0;
}
//[END MAIN]
void ProcessAccounts(std::ifstream &ifile, std::ofstream &ofile, double rate)
{
// Everyday the bank checks the status of the accounts and processes them
// If the customer has:
// 1) a positive savings balance, pay them interest
// 2) a negative savings balance, transfer it to credit (credit is positive)
// 3) a credit balance, charge them interest
// Note: Unlike normal banks, the interest rate for savings and credit is the same
// Read the info from the input file
// Put the new info into the output file
// The format for the input file and output file should be
// [NAME] [SAVINGS BALANCE] [CREDIT BALANCE]
// There is a single space between each value and a newline at the end
// Put your code here
std::string name;
double sav_balance;
double credit_balance;
ifile >> name >> sav_balance >> credit_balance;
while(!ifile.eof())
{
//std::cout << name << " " << sav_balance << " " << credit_balance << std::endl;
double sav_final=0;
double credit_final=0;
if(sav_balance > 0) // 1) a positive savings balance, pay them interest
sav_final = sav_balance + sav_balance*rate;
else if(sav_balance < 0) // 2) a negative savings balance, transfer it to credit (credit is positive)
credit_final = credit_balance - sav_balance;
if(credit_balance > 0) // 3) a credit balance, charge them interest
credit_final = credit_final + credit_balance*rate;
ofile << name << " " << sav_final << " " << credit_final << std::endl;
//std::cout << name << " " << sav_final << " " << credit_final << std::endl;
ifile >> name >> sav_balance >> credit_balance;
}
}
void PrintFileContents(std::ifstream &str)
{
// Print the contents of the file
// First, print the file headers
// Then, print each line.
// Make sure the text is properly formatted
// Remember the functions available in iomanip?
// EXAMPLE:
// Name Savings Credit
// Bob $23.56 $0.00
// Joe $43.52 $0.00
// Sally -$1.58 $0.00
// Put your code here
std::string name;
double sav_balance;
double credit_balance;
std::cout <<"Name Savings Credit" << std::endl;
str >> name >> sav_balance >> credit_balance;
while(!str.eof())
{
std::cout << std::setprecision(2) << std::fixed << name << " $" << sav_balance <<" $"<< credit_balance << std::endl;
str >> name >> sav_balance >> credit_balance;
}
}
std::ifstream & GetInputFile(std::string filename)
{
// Open the file named filename
// Make sure it exists
// Return it as an input file stream
// Put your code here
static std::ifstream ifile;
ifile.open(filename.c_str());
if(!ifile.is_open())
{
std::cout<<"Unable to open file ";
}
return ifile;
}
std::ofstream & GetOutputFile(std::string filename)
{
// Open the file named filename
// Make sure it exists
// Return it as an output file stream
// Put your code here
static std::ofstream ofile;
ofile.open(filename.c_str());
if(!ofile.is_open())
{
std::cout<<"Unable to open file";
}
return ofile;
}
void SetInputStreamPos(std::ifstream &str, int pos)
{
// Set the 'g'et cursor to the desired byte in the stream
// Use the beginning of the file as the reference point
// Put your code here
str.clear();
str.seekg(pos, std::ios::beg);
}
void SetOutputStreamPos(std::ofstream &str, int pos)
{
// Set the 'p'ut cursor to the desired byte in the stream
// Use the beginning of the file as the reference point
// Put your code here
str.clear();
str.seekp(pos, std::ios::beg);
}
This is my current output,
however I need to have this output:
Can anyone see the error/help me fix this?
Explanation / Answer
A=0;
x=0;
n=input('How many variables=');
disp('Enter the coefficients along with constants For instance if x+y+3z=-5 then enter 1 1 3 -5 each number followed by an enter not space');
for i=1:n
for j=1:n+1
A(i,j)=input('');
end
end
%pivoting
for i=1:n-1
for j=i+1:n
if abs(A(j,i))>abs(A(i,i))
T=A(j,:);
A(j,:)=A(i,:);
A(i,:)=T;
end
end
end
disp('After pivoting');
disp(A);
for k=1:n-1
for i=k+1:n
m=A(i,k)/A(k,k);
for j=k:n+1
A(i,j)=A(i,j)-m*A(k,j);
end
end
end
disp('Triangularize Form ');
disp(A);
if A(n,n)==0
disp('No unique solution');
end
x(n)=A(n,n+1)/A(n,n);
for j=n-1:-1:1
sum=0;
for i=1:n
sprintf('x%.0f=%.10f',i,x(i))
end
for i=1:n-j
sum=sum+A(j,n+1-i)*x(n+1-i);
end
x(j)=(A(j,n+1)-sum)/A(j,j);
end
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.