Go4Expert

Go4Expert (http://www.go4expert.com/)
-   C# (http://www.go4expert.com/forums/c-sharp/)
-   -   C++ to C# Help Please :) (http://www.go4expert.com/forums/cpp-c-sharp-help-t16076/)

slapshot6819 5Feb2009 08:24

C++ to C# Help Please :)
 
Hi, just joined the forums! Seems pretty neat. Reading up on the OS and Ethical hacking section as soon as I'm done posting this :happy:

This is actually a very simple program; it's a circular Queue. The problem is that I'm used to C++ and I am aware that I've done a TON of things wrong in my sloppy method of conversion to C#. I was wondering if somebody could give me a few general pointers about some of the mistakes I made. Of course the already-converted code would be great, but I don't expect anybody to take the time to do that hehe. I was just hoping for a few rules of thumb to help me convert it myself.

Also, do I use the "System.Console.Writeline()" function just like "cout" in C++? I mean, if I want to write something involving a variable, would I do it like...

Code:

System.Console.Writeline("The day today is " << x << " and the year is " << y << ".");

Code:

#include <iostream>
#include <string>



class qObject
{
public:
    double time;
    string place;
};

class Queue
{
private:
    int front;
    int rear;
    qObject [] Q = new qObject[11];
public:
    Queue();
    void Enqueue(qObject);
    void Dequeue();
    void Makeempty();
    bool IsEmpty();
    bool IsFull();
    int QueueCount();
    void ShowQueue();
};

Queue::Queue()
{
    front = 0;
    rear = 0;
}

void Queue::Enqueue(qObject x)
{
    if(IsFull()) {System.Console.WriteLine("FULL" << endl); return;}
    Q[rear].time = x.time;
    Q[rear].place = x.place;
    rear++;
    if(rear == 11) rear = 0;
}

void Queue::Dequeue()
{
    if(IsEmpty()) {System.Console.WriteLine("EMPTY" << endl); return;}
    front++;
    if(front == 11) front = 0;
}

void Queue::Makeempty()
{
    front = 0;
    rear = 0;
}

bool Queue::IsEmpty()
{
    if(front == rear) return true;
    else return false;
}

bool Queue::IsFull()
{
    if(front > rear && (front - rear) == 1) return true;
    else if(front < rear && (rear - front) == 10) return true;
    else return false;
}

int Queue::QueueCount()
{
    if(rear > front) return (rear - front);
    else if(rear < front)
    {
        return (11 - front + rear);
    }
    else return 0;
}

void Queue::ShowQueue()
{
    if(IsEmpty()) {System.Console.WriteLine("EMPTY" << endl); return;}

/*
 * Insert code to write all elements in the Queue to the screen here.
 * Left blank since I'm not sure if I'm doing it write or not with the 'System.Console.WriteLine' command
 */

}


public class Program1Queue
{
    public static void Main()
    {

    }
}


Thanks,
Mike


All times are GMT +5.5. The time now is 13:36.