FAQ Beispiel = Fehler??



  • Ich hab von der FAQ den Code kopiert, zum vergrössern der Konsole. Ich hab jetzt folgendes:

    #include <dos.h>
    #include <conio.h>
    #include <windows.h>
    #include <cstdio>
    #include <iostream>
    #include <stdlib.h>
    #include <stdio.h>
    int main()
    {
    void Resize ( DWORD SizeX , DWORD SizeY , HANDLE StdOutput = GetStdHandle ( STD_OUTPUT_HANDLE ) )
    {
        CONSOLE_SCREEN_BUFFER_INFO csbi;
        COORD c = GetLargestConsoleWindowSize ( StdOutput );
        SMALL_RECT sr;
    
        GetConsoleScreenBufferInfo ( StdOutput , &csbi );
    
        sr.Bottom = min ( SizeX , c.X ) - 1;
        sr.Right = min ( SizeY , c.Y ) - 1;
        sr.Top = sr.Left = 0;
    
        c.X = SizeX;
        c.Y = SizeY;
    
        if ( csbi.dwSize.X > SizeX || csbi.dwSize.Y > SizeY )
        {
            SetConsoleWindowInfo ( StdOutput , TRUE , &sr );
            SetConsoleScreenBufferSize ( StdOutput , c );
        }
        else
        {
            SetConsoleScreenBufferSize ( StdOutput , c);
            SetConsoleWindowInfo ( StdOutput , TRUE , &sr );
        }
    }
    clrscr();
    printf("Bitte eine taste...");
    getch();
    return 0;
    }
    

    Jo, geht ja, aber es kommt folgender Fehler:_
    11: Fehler in der Deklarationssyntax in Funktion main()

    Warum? Was ist falsch?



  • Und wenn ich es so mache:

    #include <dos.h>
    #include <conio.h>
    #include <windows.h>
    #include <cstdio>
    #include <iostream>
    #include <stdlib.h>
    #include <stdio.h>
    
    void Resize ( DWORD SizeX , DWORD SizeY , HANDLE StdOutput = GetStdHandle ( STD_OUTPUT_HANDLE ))
    {
        CONSOLE_SCREEN_BUFFER_INFO csbi;
        COORD c = GetLargestConsoleWindowSize ( StdOutput );
        SMALL_RECT sr;
    
        GetConsoleScreenBufferInfo ( StdOutput , &csbi );
    
        sr.Bottom = min ( SizeX , c.X ) - 1;
        sr.Right = min ( SizeY , c.Y ) - 1;
        sr.Top = sr.Left = 0;
    
        c.X = SizeX;
        c.Y = SizeY;
    
        if ( csbi.dwSize.X > SizeX || csbi.dwSize.Y > SizeY )
        {
            SetConsoleWindowInfo ( StdOutput , TRUE , &sr );
            SetConsoleScreenBufferSize ( StdOutput , c );
        }
        else
        {
            SetConsoleScreenBufferSize ( StdOutput , c);
            SetConsoleWindowInfo ( StdOutput , TRUE , &sr );
        }
    
    }
    

    Kann ich
    1. Kein Code also cout <<" Spielstart"* oder sonst was einbetten
    2. KOmmen folgende Fehler:

    Aufruf undefinierter Funktion 'min' in Funktion main()

    WHAT SOLL DAT?? Ich cheks nich mehr!



  • Weiss KEINER NE LÖSUNG!????
    It is from the FAQ!!!
    But this form has an error!!! Please help!
    thx



  • tagchen...

    mhm, also deine variante 1 ist kaese 🙂 hast du aber sicher schon selber gemerkt...

    was variante 2 betrifft...

    du sagst in main() gibts nen Fehler... nunja, dann zeig uns mal main, sonst wirds haarig...

    schau dir die header die du inkludierst nochmal an... cstdio und stdio.h? etweder oder, wuerde ich meinen.

    und wozu iostream wenn du stdio schon hast...? dos.h und windows.h - eins von beiden brauchst du nicht!



  • #include <conio.h>
    #include <windows.h>
    #include <cstdio>
    #include <iostream>
    #include <stdlib.h>
    int main()
    {
    void Resize ( DWORD SizeX , DWORD SizeY , HANDLE StdOutput = GetStdHandle ( STD_OUTPUT_HANDLE ))
    {
        CONSOLE_SCREEN_BUFFER_INFO csbi;
        COORD c = GetLargestConsoleWindowSize ( StdOutput );
        SMALL_RECT sr;
    
        GetConsoleScreenBufferInfo ( StdOutput , &csbi );
    
        sr.Bottom = min ( SizeX , c.X ) - 1;
        sr.Right = min ( SizeY , c.Y ) - 1;
        sr.Top = sr.Left = 0;
    
        c.X = SizeX;
        c.Y = SizeY;
    
        if ( csbi.dwSize.X > SizeX || csbi.dwSize.Y > SizeY )
        {
            SetConsoleWindowInfo ( StdOutput , TRUE , &sr );
            SetConsoleScreenBufferSize ( StdOutput , c );
        }
        else
        {
            SetConsoleScreenBufferSize ( StdOutput , c);
            SetConsoleWindowInfo ( StdOutput , TRUE , &sr );
        }
    }
    }
    

    So geht auch net!!! Undefinierte Funktion 'min' in funtkion main()



  • Schau mal: Der Code von Resize stellt eine Funktion dar, also kannst du sie zwar in main() aufrufen, allerdings nicht dort deklarieren. Das sollte dann so aussehen:

    // Includes...
    
    // Deklaration von Resize():
    void Resize ( DWORD SizeX , DWORD SizeY , HANDLE StdOutput = GetStdHandle ( STD_OUTPUT_HANDLE ) );
    
    // main(), hier kann Resize aufgerufen werden:
    int main ()
    {
        cout << "Dein Fenster wird jetzt auf die Größe 80,25 genormt.";
        Resize ( 80 , 25 );
        cout << "Gefällts dir?";
    
        return ( 0 );
    }
    
    // Definition von Resize(), also der Code für die Funktion:
    void Resize ( DWORD SizeX , DWORD SizeY , HANDLE StdOutput = GetStdHandle ( STD_OUTPUT_HANDLE ) )
    {
        CONSOLE_SCREEN_BUFFER_INFO csbi;
        COORD c = GetLargestConsoleWindowSize ( StdOutput );
        SMALL_RECT sr;
    
        GetConsoleScreenBufferInfo ( StdOutput , &csbi );
    
        sr.Bottom = min ( SizeX , c.X ) - 1;
        sr.Right = min ( SizeY , c.Y ) - 1;
        sr.Top = sr.Left = 0;
    
        c.X = SizeX;
        c.Y = SizeY;
    
        if ( csbi.dwSize.X > SizeX || csbi.dwSize.Y > SizeY )
        {
            SetConsoleWindowInfo ( StdOutput , TRUE , &sr );
            SetConsoleScreenBufferSize ( StdOutput , c );
        }
        else
        {
            SetConsoleScreenBufferSize ( StdOutput , c);
            SetConsoleWindowInfo ( StdOutput , TRUE , &sr );
        }
    }
    

    Ich hoffe, dass dir das jetzt näher gebracht wurde.

    MfG SideWinder



  • Jo thx.


Anmelden zum Antworten