fehler im programm



  • kann mir jemand behilflich sein und mir sagen wodran es liegt das dieses programm nicht läuft.

    #include <iostream.h>
    #include <windows.h>
    #include <math.h>
    #include <conio.h>

    class Koordinaten {

    int xachse;
    int yachse;

    public:

    void Set_koordinaten(int x,int y) //Funktion setze X und Y-achse(Mittel-Punkt)
    {
    xachse=x;
    yachse=y;
    }

    int Xachse() {return xachse;} //Ausgabe von X und Y-achse(Mittel-Punkt)
    int Yachse() {return yachse;}

    };

    class Treiber {

    HWND hWIN;
    HDC win;

    public:

    Treiber() // Default Konstruktor
    {
    hWIN = GetForegroundWindow();
    win = GetDC (hWIN);
    }

    HDC getwin(){return win;} // Funktion Rückgabewert Fenstergröße

    };

    class Stifte

    {
    public:

    HPEN pen1, pen2, pen3, pen4, pen5; // Zeichenstifte
    HBRUSH brush1;

    enum Farbe //Setze verschiedene Farben als Enumeration Farbe
    {

    black=RGB(0,0,0),
    white=RGB(255,255,255),
    red=RGB(255,0,0),
    green=RGB(0,255,0),
    blue=RGB(0,0,255),
    yellow=RGB(255,255,0),
    lila=RGB(255,0,255)
    };

    Stifte () //Definiton der einzelnen Zeichenstifte
    {

    pen1 = CreatePen(PS_DOT,4,red);
    pen2 = CreatePen(PS_DOT,4,green);
    pen3 = CreatePen(PS_DOT,4,blue);
    pen4 = CreatePen(PS_DOT,4,yellow);
    pen5 = CreatePen(PS_DOT,4,black);
    brush1 = CreateSolidBrush (black); // Pinsel zum Flächenfüllen
    }

    };

    class Grad
    {
    protected:

    double lrrad;
    double ourad;
    public:

    void umrechnen (int grad)

    {
    lrrad=(3.14grad)/180;
    ourad=(3.14
    (grad+90))/180;
    }

    double LRrad(){return lrrad;}
    double OUrad(){return ourad;}
    };

    class Abstand
    {
    protected:

    int abstand;

    public:

    int getabstand() {return abstand;}

    void setabstand()
    {
    if (abstand==250)
    {
    abstand=100;
    }
    if (abstand==200)
    {
    abstand=250;
    }
    if (abstand==150)
    {
    abstand=200;
    }
    if (abstand==100)
    {
    abstand=150;
    }
    else
    {
    abstand=100;
    }

    }
    };

    class Rechnen: public Grad,public Abstand
    {

    public:

    int Xfaktor (int i)
    {
    double x;

    if(i==1)
    {
    x=getabstand()-(cos(LRrad())*getabstand());
    }
    if(i==2)
    {
    x=getabstand()+(cos(LRrad())*getabstand());
    }
    if(i==3)
    {
    x=getabstand()-(cos(OUrad())*getabstand());
    }
    if(i==4)
    {
    x=getabstand()+(cos(OUrad())*getabstand());
    }

    return x;

    }

    int Yfaktor (int i)
    {
    double y;

    if(i==1)
    {
    y=getabstand()-(sin(LRrad())*getabstand());
    }
    if(i==2)
    {
    y=getabstand()+(sin(LRrad())*getabstand());
    }
    if(i==3)
    {
    y=getabstand()-(sin(OUrad())*getabstand());
    }
    if(i==4)
    {
    y=getabstand()+(sin(OUrad())*getabstand());
    }

    return y;

    }

    };

    class Rechteck:virtual public Rechnen,virtual public Treiber,virtual public Koordinaten
    {
    public:

    void getrechteck()
    {
    Rectangle(getwin(),Xachse()-Xfaktor(1)-50,Yachse()-Yfaktor(1)-50,Xachse()-Xfaktor(1)+50,Yachse()-Yfaktor(1)+50);
    }
    };

    class Elli: virtual public Rechnen,virtual public Treiber,virtual public Koordinaten
    {
    public:

    void getellipse()
    {
    Ellipse(getwin(),Xachse()-Xfaktor(2)-75,Yachse()-Yfaktor(2)-50,Xachse()-Xfaktor(2)+75,Yachse()-Yfaktor(2)+50);
    }
    };

    class Kreis: virtual public Rechnen,virtual public Treiber,virtual public Koordinaten
    {
    public:

    void getkreis()
    {
    Ellipse(getwin(),Xachse()-Xfaktor(3)-50,Yachse()-Yfaktor(3)-50,Xachse()-Xfaktor(3)+50,Yachse()-Yfaktor(3)+50);
    }
    };

    class Dreick: virtual public Rechnen,virtual public Treiber,virtual public Koordinaten
    {
    public:

    void getdreieck()
    {
    MoveToEx(getwin(),Xachse()-Xfaktor(4)-50,Yachse()-Yfaktor(4)+50,0);
    LineTo (getwin(),Xachse()-Xfaktor(4)+50,Yachse()-Yfaktor(4)+50);
    LineTo (getwin(),Xachse()-Xfaktor(4),Yachse()-Yfaktor(4)-37);
    LineTo (getwin(),Xachse()-Xfaktor(4)-50,Yachse()-Yfaktor(4)+50);
    }
    };

    class Steuerklasse: public Rechteck, public Elli,public Stifte, public Kreis, public Dreick
    {
    public:

    void start()
    {

    int gradr=0;
    Set_koordinaten(400,400);
    setabstand();
    while(!kbhit()) //Programm ausführen bis Taste gedrückt wird auf der Tastatur
    {
    umrechnen (gradr);
    SelectObject(getwin(),pen1);
    SelectObject(getwin(),brush1);
    getrechteck();
    SelectObject(getwin(), pen2);
    getellipse();
    SelectObject(getwin(), pen3);
    getkreis();
    SelectObject(getwin(), pen4);
    getdreieck();
    Sleep(30); // Zeitverzögerung bis "schwarz übergemalt" wird
    SelectObject(getwin(),pen5);
    getrechteck();
    getellipse();
    getkreis();
    getdreieck();
    gradr=gradr+5; // Verschiebung für neues Zeichenbild
    }
    }
    };

    void main()
    {
    Steuerklasse frame;
    frame.start();

    }



  • falsches forum und ausserdem heißt es int main()



  • Nö:

    • CodeTags verwenden!
    • Frage stellen
    • Nie den ganzen Code posten!

Anmelden zum Antworten