Seite 2 von 2 ErsteErste 12
Ergebnis 21 bis 27 von 27

Thema: Kompilier-Fehler mit Dev-C++

  1. #21
    Zitat Zitat
    Original geschrieben von -=kama=-
    - clrscr(); zum löschen des Fensters funktioniert nicht (ERROR: undefined function 'clrscr()'!!)
    clrscr aus C++ kenn ich nicht, in Pascal hab ich davon gehört... versuch einfach folgendes:

    Code:
    printf("\033[2J"); printf("\033[0;0H");
    \033 ist das Escape zeichen, [2J löscht den Bildschirm, und [0;0H setzt den Cursor zurück... alte C-Hacker-Kunst

    Zitat Zitat
    - ich hab versucht bei "case 4: ergebnis = zahl1 / zahl2" per Cast aus den Integern ein Double zu machen, hat aber nicht wirklich geklappt, weder mit "static_cast<double> (...)" noch mit "(double) (...)". Kann man Variablen überhaupt casten?
    probiers so:
    Code:
    ergebnis = (int) (((double) zahl1)/((double) zahl2));
    Damit sollte es eigentlich laufen!

  2. #22
    Zitat Zitat
    Original geschrieben von MuadDib
    clrscr aus C++ kenn ich nicht, in Pascal hab ich davon gehört... versuch einfach folgendes:

    Code:
    printf("\033[2J"); printf("\033[0;0H");
    \033 ist das Escape zeichen, [2J löscht den Bildschirm, und [0;0H setzt den Cursor zurück... alte C-Hacker-Kunst
    Also in Dev-C++ gehts schonmal nicht...

  3. #23
    Zitat Zitat
    Original geschrieben von .drifting
    Also in Dev-C++ gehts schonmal nicht...
    Sorry... dürfte anscheinend nur unter Unix-Systemen laufen, wusste nicht, dass Windows damit nicht klarkommt (es liegt sicher nicht an Dev-C++, auch nicht am MinGW, sondern an der Windows-Kommandozeile, die anscheinend keine ANSI-Escape-Sequenzen unterstütz)

    Als Windows-Variante eignet sich z.B. das:

    Code:
    #include <stdlib.h>
    ...
    system("cls"); // externer System-Call
    system("clear"); unter *nix...

    Sauberer Programmierer sorgen natürlich für beide Varianten:

    Code:
    #ifdef WIN32
    	system("cls");
    #else
    	printf("\033[2J");  printf("\033[0;0H");
    #endif

  4. #24
    Zitat Zitat
    Zitat von Muad
    clrscr aus C++ kenn ich nicht, in Pascal hab ich davon gehört...
    Najo, das hab ich aus "C/C++ in 16 Teilen" von Sebastian Dietz. Er schreibt dazu folgendes:

    Zitat Zitat
    clrscr()

    Der Befehl clrscr() löscht einfach den Bildschirm. Dies sollte man auf alle Fälle machen, bevor das Programm startet. Und bei den Beispielprogrammen kann man ein clrscr() vor dem Anzeigen des Menüs einfügen, damit das Programm nicht den Bildschirm vollschreibt, sondern immer nur die aktuell wichtigen Informationen eingeblendet werden. Um clrscr() zu benutzen, muß man die Datei <conio.h> einbinden (durch eine weitere include-Anweisung). Probiere einfach mal einige Sachen damit aus.

    Hier ein kleines Beispiel:


    Code:
     1        #include <iostream.h>
    2        #include <stdio.h>
    3        #include <conio.h>
    
    4        int MeinX, MeinY;
    
    5        void main(void)
    6        {
    7                clrscr();
    8                gotoxy(1, 12);
    9                cout << "Hier beginnt der Text bei (1, 12)";
    10                getchar();
    11                MeinX = 10;
    12                MeinY = 3;
    13                gotoxy(MeinX, MeinY);
    14                cout << "Und hier bei (10, 3)";
    15                getchar();
    16        }
    Aber vielleicht ist das auch nur wieder so 'ne VC++ -spezifische Sache die mit anderen Compilern nicht funzt. Ich werd's jetzt einfach mal mit deiner Variante Testen.

    Zitat Zitat
    probier's so:
    ergebnis = (int) (((double) zahl1)/((double) zahl2));
    Da war ich ja schon nahe dran....hab aber die äußere Klammer um...
    Code:
    (double) zahl2 /(double) zahl2
    ...vergessen >_<

    Jedenfalls danke für die Hilfe.

  5. #25
    conio.h ist eine Microsoft-spezifische Includedatei, die es erlaubt, die Windows-Kommandozeile zu interfacen. Sollte eigentlich mit Standard-C++ funktionieren; ich halte es trotzdem für schlechten Stil (was auf sämtliche Techniken zutrifft, die das Programm plattformspezifisch machen).

  6. #26
    Zitat Zitat
    Original geschrieben von Jesus_666
    conio.h ist eine Microsoft-spezifische Includedatei, die es erlaubt, die Windows-Kommandozeile zu interfacen. Sollte eigentlich mit Standard-C++ funktionieren; ich halte es trotzdem für schlechten Stil (was auf sämtliche Techniken zutrifft, die das Programm plattformspezifisch machen).
    conio.h stammt eigentlich von Borland, und wurde später von MS übernommen, da es einfach zuviele verwendet hatten - komischerweise gibts die conio.h auch in MinGW, laufen tuts trotzdem nicht, wohl falsch implementiert...

    EDIT: darn, nicht falsch implementiert, sondern gar nicht kompiliert... die Source-Files befinden sich im minGW-include-Verzeichnis...

    Geändert von MuadDib (16.07.2004 um 21:33 Uhr)

  7. #27
    Zitat Zitat
    Original geschrieben von MuadDib
    conio.h stammt eigentlich von Borland, und wurde später von MS übernommen, da es einfach zuviele verwendet hatten
    Ich korrigiere mich: Windows-spezifisch. *schauder*

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •