C++ File Output

  • #1
85
2
I have computed the total length of a 3D triangle and its area. The code is shown below.
I want to use file output instead of cout. The file name, cw2task1output, was just given as part of the task, in this case should I make an empty text file named cw2task1output then attach it to the resource file? Would the results be then shown on the created text file? Thanks.

C:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;

void foutput(double length, double area);

int main()
{

    double total_length, area, x1, x2, x3, y1, y2, y3, z1, z2, z3, side12,
        side13, side23, halfparameter;
    int i, count;

    ifstream inFile("triangle_cw2(1).txt");
    string line, c;
    char ch;

    if (inFile.is_open()) {
        getline(inFile, line);
    }

    inFile >> ch >> x1 >> y1 >> z1;
    inFile >> ch >> x2 >> y2 >> z2;
    inFile >> ch >> x3 >> y3 >> z3;

    total_length = sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1) + (z2 - z1) * (z2 - z1)) + sqrt((x3 - x1) * (x3 - x1) + (y3 - y1) * (y3 - y1) + (z3 - z1) * (z3 - z1)) + sqrt((x3 - x2) * (x3 - x2) + (y3 - y2) * (y3 - y2) + (z3 - z2) * (z3 - z2));
    side12 = sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1) + (z2 - z1) * (z2 - z1));
    side13 = sqrt((x3 - x1) * (x3 - x1) + (y3 - y1) * (y3 - y1) + (z3 - z1) * (z3 - z1));
    side23 = sqrt((x3 - x2) * (x3 - x2) + (y3 - y2) * (y3 - y2) + (z3 - z2) * (z3 - z2));
    halfparameter = (side12 + side13 + side23) / 2;
    area = sqrt(halfparameter * (halfparameter - side12) * (halfparameter - side13) * (halfparameter - side23));

    inFile.close();

    foutput(total_length, area); // You must use this function for output.

    // Do not use system("pause") for this task
    return 0;
}

////////  Using the funtion below for output. /////
void    foutput(double total_length, double area)
{

    ofstream cw2task1output;
    cw2task1output.open("cw2task1output.txt");

    cw2task1output << "The total length of sides = " << total_length << endl;
    cw2task1output << "The area of triangle = " << area << endl;

    cw2task1output.close();
}
 
Last edited:

Answers and Replies

  • #2
35,009
6,759
You don't need to create a text file for the output of your program -- the program will do that for you, and write its output to that file. Keep in mind that if you're running in the VS debugger, the file will be created in the same directory that contains your source code. If you run your program outside the debugger (i.e., from a command prompt) the file will be created in the directory where the executable is.
 

Related Threads on C++ File Output

Replies
6
Views
1K
  • Last Post
Replies
14
Views
1K
  • Last Post
Replies
4
Views
1K
  • Last Post
Replies
3
Views
825
  • Last Post
Replies
1
Views
2K
Replies
0
Views
1K
  • Last Post
Replies
2
Views
2K
  • Last Post
Replies
3
Views
2K
Replies
19
Views
2K
Replies
26
Views
2K
Top