0

can someone convert this c++ code to C# code... I'm very new to C# pls help

the main.cpp

// Main Program

//

#include "square.h" // Derived Class square

int main()

{

 

//*******************************************************************************

cout << "\t\t\t+y";

cout << "\n\t\t\t +";

cout << "\n\t\t\t +" << "\tpoint a" << "\t\t\t\tpoint b";

cout << "\n\t\t\t +" << "\t ax,ay" << "\t\t\t\t bx,by";

cout << "\n\t\t\t +";

cout << "\n\t\t\t +";

cout << "\n\t\t\t +" << "\t\t\t point e";

cout << "\n\t\t\t +" << "\t\t\t ex,ey";

cout << "\n\t\t\t +";

cout << "\n\t\t\t +";

cout << "\n\t\t\t +" << "\tpoint c" << "\t\t\t\tpoint d";

cout << "\n\t\t\t +" << "\t cx,cy" << "\t\t\t\t dx,dy";

cout << "\n\t\t\t +";

cout << "\n\t\t\t +";

cout << "\n\t\t\t + + + + + + + + + + + + + + + + +";

cout << "\n\t\t\t0.0" << "\t\t\t\t\t\t\t\t +x";

cout << "\n\t\t\t\tCartesian Coordinate System";

cout << "\n";

cout << "\nPoint a is upper left, b is upper right" << endl;

cout << "c is lower left, d if lower right" << endl;

cout << "\nSide a is ad, b is ba, c is bd and d is dc" << endl;

cout << "\nDiagonal a is cb, Diagonal b is ad" << endl;

cout << "************************************************************" << endl;

cout << "For a rectangle use points 4,12,11,5,-12,-4,-5,-11" << endl;

cout << "\nFor a square use points 1,9,8,2,-6,2,1,-5" << endl;

cout << "************************************************************" << endl;

Square Square_Results;

Square_Results.Square_Data();

return 0;

}

the quad.h

// Base Class Quadrilateral

//

// //*************************************************************

//The program will use cartesian coordinate system,

//The axises will be x,y as follows:

//

//

// ............................+

//................... +y.... +.. point a ..........side_a ..........point b

// ............................+.. ax,ay .......................................bx,by

//............................ +

// ............................+

// ............................+ ..side_c........... point e ...........side_b

// ............................+............................. ex,ey

// ............................+

//............................ +

//............................ + ..point c............ side d ...........point d

// ............................+ ..cx,cy ........................................dx,dy

// ............................+

// ............................+ + + + + + + + + + + + + + + + + +

// ..........................0.0............................................... +x

// Point a is upper left *** side_a is between points a and c

// Point b is upper right *** side_b is between points a and b

// Point c is lower left *** side_c is between points b and d

// Point d is lower right *** side_d is between points c and d

//

// *************************************************************

#include<iostream>

#include <cmath> // Needed fo "fabs" & "sqrt" functions

using namespace std;

class Quadrilateral

{

 

public:

// Declare coordinate point variables

float ax, ay, bx, by, cx, cy, dx, dy; // Corner points

Quadrilateral() // Default constructor

{

 

// Initialize variables to 0 ax = ay = bx = by= cx = cy = dx = dy = 0;

// Enter coordinate data points for corners

cout << "\nEnter coordinate ax: ";

cin >> ax;

cout << "Enter coordinate ay: ";

cin >> ay;

cout << "Enter coordinate bx: ";

cin >> bx;

cout << "Enter coordinate by: ";

cin >> by;

cout << "Enter coordinate cx: ";

cin >> cx;

cout << "Enter coordinate cy: ";

cin >> cy;

cout << "Enter coordinate dx: ";

cin >> dx;

cout << "Enter coordinate dy: ";

cin >> dy; };

 

 

// removed the curley brace

 

~Quadrilateral() // Call Destructor

{

 

cout << "\n\nThe Base Class Rectangle has been destroyed!" << endl;

 

};

 

};

the rect.h

//
//DERIVED CLASS RECTANGLE
//*************************************************************
//
//Derived Class rect.h

#include <iomanip>

#include "quad.h" // Base Class file

class Rectangle : public Quadrilateral // Inherit from Class Quadrilateral
{

public:

    float dx1, dy1, dx2, dy2, dx3, dy3, dx4, dy4; // differences
    double side_a, side_b, side_c, side_d;
    double diagonal_a, diagonal_b; // Diagonals
    int typeo; // Type of Figure
    double area;
    double diag_diff;

     

    Rectangle() // Default constructor
    {

        // Initialize variables to 0
        area= 0;
        cout << "\n********************" << endl;

        // Calculate sides - dxn and dyn are x and y components
        cout << "\n\tCalculating Sides and x/y Components" << endl;

        dy1= ay - cy;
        cout << "\ndy1= " << dy1;
        dx1= ax - cx;
        cout << "\ndx1= " << dx1;
        side_a= sqrt(dx1 * dx1 + dy1 * dy1);
        cout << "\nSide a = " << side_a;

        dy2= by - ay;
        cout << "\n\ndy2= " << dy2;
        dx2= bx - ax;
        cout << "\ndx2= " << dx2;
        side_b= sqrt(dx2 * dx2 + dy2 * dy2);
        cout << "\nSide b = " << side_b;

        dy3= dy - by;
        cout << "\n\ndy3= " << dy3;
        dx3= dx - bx;
        cout << "\ndx3= " << dx3;
        side_c= sqrt(dx3 * dx3 + dy3 * dy3);
        cout << "\nSide c = " << side_c;

        dy4= dy - cy;
        cout << "\n\ndy4= " << dy4;
        dx4= dx - cx;
        cout << "\ndx4= " << dx4;
        side_d= sqrt(dx4 * dx4 + dy4 * dy4);
        cout << "\nSide d = " << side_d;
        cout << "\n\n********************" << endl;

        // Calculate diagonals to check for rectangle
        cout << "\n\tCalculating Diagonals" << endl;

        diagonal_a = sqrt (side_a * side_a + side_b * side_b);
        diagonal_b = sqrt (side_c * side_c + side_d * side_d);
        diag_diff= fabs(diagonal_a - diagonal_b);
        cout << "\nDiagonal a= " << diagonal_a
        << "\t\tDiagonal b= " << diagonal_b
        << "\nDifference= " << diag_diff << endl;

        if (diag_diff == 0)
        {

            cout << "\n***********************************" << endl;
            cout << "\tPlane Figure is a Rectangle!" << endl;
            cout << "Diagonal difference zero" << endl;
            cout << "Side a= " << side_a << "\t\tSide b= " << side_b << endl;
            area = side_a * side_b; // Calculate the area
            cout << "The Area of the Rectangle is = " << area << endl;

        }

        else

            if (diag_diff < 0.0001)

            {

                cout << "\n***********************************" << endl;
                cout << "\tPlane Figure is approximately a Rectangle!" << endl;
                cout << "Diagonal difference less than 0.0001" << endl;
                cout << "Side a= " << side_a << "\t\tSide b= " << side_b << endl;
                area = side_a * side_b; // Calculate the area
                cout << "The Area of the Rectangle is = " << area << endl;

            }
            else
            {

            cout << "\n\n\tPlane Figure is NOT a Rectangle!" << endl;
            cout << "Diagonal difference greater than 0.0001" << endl;

            }

        };

        ~Rectangle() { }; // Call Destructor

};

and the square.h

//
//DERIVED CLASS SQUARE
//
//*************************************************************
//Devived Class square.h

# include "rect.h" // Base Class file

class Square : Rectangle // Inherit from Class Rectangle
{

    private:

        // Declare coordinate point variables
        float ex, ey;

    public:

        Square() // Default constructor
        {

            // Initialize variables to 0
            ex= 0;
            ey= 0;

        };

        ~Square() { }; // Call Destructor

        // Test for Square, Calculate Center Points and Display results

        void Square_Data()
        {

            // Calculate sides - dxn and dyn are x and y components

            dy1= ay - cy;
            dx1= ax - cx;
            side_a= sqrt(dx1 * dx1 + dy1 * dy1);
            dy2= by - ay;
            dx2= bx - ax;
            side_b= sqrt(dx2 * dx2 + dy2 * dy2);
            dy3= dy - by;
            dx3= dx - bx;
            side_c= sqrt(dx3 * dx3 + dy3 * dy3);
            dy4= dy - cy;
            dx4= dx - cx;
            side_d= sqrt(dx4 * dx4 + dy4 * dy4);

            // Calculate diagonals to check for rectangle

            diagonal_a = sqrt (side_a * side_a + side_b * side_b);
            diagonal_b = sqrt (side_c * side_c + side_d * side_d);

            if ((diag_diff < 0.0001) && (fabs(side_a - side_b) < 0.0001))
            {

                ex= bx - (bx - cx)/2;
                ey= ay - (ay - dy)/2;
                cout << "\n***********************************" << endl;
                cout << "\tPlane Figure is a Square!" << endl;
                cout << "Side = " << side_a << endl;
                cout << "Center Coordinates of the Square are: (" << ex << "," << ey << ")" << endl; }

            else
            {

                cout << "\n***********************************" << endl;
                cout << "\n\tObject is not a Square!" << endl;

        }

    };

};
4
Contributors
4
Replies
5
Views
9 Years
Discussion Span
Last Post by nvmobius
0

shouldn't this be in the c# board, i bet they know both c++ and (obviously) c-sharp, we tend to only know the former...

0

shouldn't this be in the c# board, i bet they know both c++ and (obviously) c-sharp, we tend to only know the former...

You mean we can only change file extension?
how about the header files? does the file extesion will be changed also?

0

Manutebecker is saying you may have gotten more help from the c# forum. On the other hand, it looks like you havent tried a thing because even the simple display statements havent been changed. Why dont you try to modify it with the little knowledge you have of c# then post the difficulties or what you dont understand

0

... Just compile it as C++/CLI and change all the * to ^, and all the cout to System::Console::WriteLine() calls. Then fix the compiler complaints.

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.