Was ist hier falsch?



  • hier der code
    #include <windows.h>

    /* Declare Windows procedure */
    LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);

    /* Make the class name into a global variable */

    int WINAPI WinMain (HINSTANCE hThisInstance,
    HINSTANCE hPrevInstance,
    LPSTR lpszArgument,
    int nFunsterStil)

    {
    HWND hwnd; /* This is the handle for our window /
    MSG messages; /
    Here messages to the application are saved /
    WNDCLASSEX wincl; /
    Data structure for the windowclass */

    /* The Window structure /
    wincl.hInstance = hThisInstance;
    wincl.lpszClassName = szClassName;
    wincl.lpfnWndProc = WindowProcedure; /
    This function is called by windows /
    wincl.style = CS_DBLCLKS; /
    Catch double-clicks */
    wincl.cbSize = sizeof (WNDCLASSEX);

    /* Use default icon and mouse-pointer /
    wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION);
    wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
    wincl.hCursor = LoadCursor (NULL, IDC_ARROW);
    wincl.lpszMenuName = NULL; /
    No menu /
    wincl.cbClsExtra = 0; /
    No extra bytes after the window class /
    wincl.cbWndExtra = 0; /
    structure or the window instance */
    /* Use Windows's default color as the background of the window */
    wincl.hbrBackground = (HBRUSH) COLOR_BACKGROUND;

    /* Register the window class, and if it fails quit the program */
    if (!RegisterClassEx (&wincl))
    return 0;

    /* The class is registered, let's create the program*/
    hwnd = CreateWindowEx (
    0, /* Extended possibilites for variation /
    szClassName, /
    Classname /
    "Windows App", /
    Title Text /
    WS_OVERLAPPEDWINDOW, /
    default window /
    CW_USEDEFAULT, /
    Windows decides the position /
    CW_USEDEFAULT, /
    where the window ends up on the screen /
    544, /
    The programs width /
    375, /
    and height in pixels /
    HWND_DESKTOP, /
    The window is a child-window to desktop /
    NULL, /
    No menu /
    hThisInstance, /
    Program Instance handler /
    NULL /
    No Window Creation data */
    );

    /* Make the window visible on the screen */
    ShowWindow (hwnd, nFunsterStil);

    /* Run the message loop. It will run until GetMessage() returns 0 */
    while (GetMessage (&messages, NULL, 0, 0))
    {
    /* Translate virtual-key messages into character messages */
    TranslateMessage(&messages);
    /* Send message to WindowProcedure */
    DispatchMessage(&messages);
    }

    /* The program return-value is 0 - The value that PostQuitMessage() gave */
    return messages.wParam;
    }

    /* This function is called by the Windows function DispatchMessage() */

    LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
    {
    switch (message) /* handle the messages /
    {
    case WM_DESTROY:
    PostQuitMessage (0); /
    send a WM_QUIT to the message queue /
    break;
    default: /
    for messages that we don't deal with */
    return DefWindowProc (hwnd, message, wParam, lParam);
    }

    return 0;
    }

    #include <iostream>
    using namespace std;

    const float MWSt = 16;

    int main()
    {
    float Netto, Steuer, Brutto;

    cout << `Bitte geben Sie den Nettopreis ein!`<< endl;
    cin >> Netto;
    Steuer = Netto * MWSt / 100;
    cout << `MWSt; `<< Steuer << endl;
    Brutto = Netto + Steuer;
    cout << `Brutto: `<< Brutto << endl;

    }

    Bin Lernender und benutze Dev C++ 5



  • hab mir 1 Zeile durchgelesen...

    benutze doch bitte [ cpp]-Tags die gehen so hier:
    [cpp] [/cpp]

    Und nach der Zeile ist mir aufgefallen, dass du auch noch im falschen Forum bist:

    #include <windows.h>
    -> WinAPI-Forum

    bb



  • Und ausserdem hast du vergessen, das Problem zu beschreiben.



  • Man beachte, dass er eigentlich zwei Programme gepostet hat...

    Das erste ist fehlerfrei (Windows):

    /* Declare Windows procedure */
    LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);
    
    /* Make the class name into a global variable */
    char szClassName[ ] = "WindowsApp";
    
    int WINAPI WinMain (HINSTANCE hThisInstance,
    HINSTANCE hPrevInstance,
    LPSTR lpszArgument,
    int nFunsterStil)
    
    {
    HWND hwnd; /* This is the handle for our window */
    MSG messages; /* Here messages to the application are saved */
    WNDCLASSEX wincl; /* Data structure for the windowclass */
    
    /* The Window structure */
    wincl.hInstance = hThisInstance;
    wincl.lpszClassName = szClassName;
    wincl.lpfnWndProc = WindowProcedure; /* This function is called by windows */
    wincl.style = CS_DBLCLKS; /* Catch double-clicks */
    wincl.cbSize = sizeof (WNDCLASSEX);
    
    /* Use default icon and mouse-pointer */
    wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION);
    wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
    wincl.hCursor = LoadCursor (NULL, IDC_ARROW);
    wincl.lpszMenuName = NULL; /* No menu */
    wincl.cbClsExtra = 0; /* No extra bytes after the window class */
    wincl.cbWndExtra = 0; /* structure or the window instance */
    /* Use Windows's default color as the background of the window */
    wincl.hbrBackground = (HBRUSH) COLOR_BACKGROUND;
    
    /* Register the window class, and if it fails quit the program */
    if (!RegisterClassEx (&wincl))
    return 0;
    
    /* The class is registered, let's create the program*/
    hwnd = CreateWindowEx (
    0, /* Extended possibilites for variation */
    szClassName, /* Classname */
    "Windows App", /* Title Text */
    WS_OVERLAPPEDWINDOW, /* default window */
    CW_USEDEFAULT, /* Windows decides the position */
    CW_USEDEFAULT, /* where the window ends up on the screen */
    544, /* The programs width */
    375, /* and height in pixels */
    HWND_DESKTOP, /* The window is a child-window to desktop */
    NULL, /* No menu */
    hThisInstance, /* Program Instance handler */
    NULL /* No Window Creation data */
    );
    
    /* Make the window visible on the screen */
    ShowWindow (hwnd, nFunsterStil);
    
    /* Run the message loop. It will run until GetMessage() returns 0 */
    while (GetMessage (&messages, NULL, 0, 0))
    {
    /* Translate virtual-key messages into character messages */
    TranslateMessage(&messages);
    /* Send message to WindowProcedure */
    DispatchMessage(&messages);
    }
    
    /* The program return-value is 0 - The value that PostQuitMessage() gave */
    return messages.wParam;
    }
    
    /* This function is called by the Windows function DispatchMessage() */
    
    LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
    {
    switch (message) /* handle the messages */
    {
    case WM_DESTROY:
    PostQuitMessage (0); /* send a WM_QUIT to the message queue */
    break;
    default: /* for messages that we don't deal with */
    return DefWindowProc (hwnd, message, wParam, lParam);
    }
    
    return 0;
    }
    

    Beim zweiten benutzt du bei cout faelschlicherwiese die '-Zeichen fuer Zeichenliterale anstelle der "-Zeichen, wenn du diese ersetzt funktioniert dein Programm auch:

    #include <iostream>
    using namespace std;
    
    const float MWSt = 16;
    
    int main()
    {
    float Netto, Steuer, Brutto;
    
    cout << "Bitte geben Sie den Nettopreis ein!"<< endl;
    cin >> Netto;
    Steuer = Netto * MWSt / 100;
    cout << "MWSt; "<< Steuer << endl;
    Brutto = Netto + Steuer;
    cout << "Brutto: "<< Brutto << endl;
    cin >> Brutto;
    }
    

    Gruss
    Cartman



  • #include <iostream>
    using namespace std;

    const float MWSt = 16;

    int main()
    {
    float Netto, Steuer, Brutto;

    cout << "Bitte geben Sie den Nettopreis ein!"<< endl;
    cin >> Netto;
    Steuer = Netto * MWSt / 100;
    cout << "MWSt; "<< Steuer << endl;
    Brutto = Netto + Steuer;
    cout << "Brutto: "<< Brutto << endl;
    cin >> Brutto;
    }

    Ich habe die Zeichen ersetzt aber es kommt immer noch ein Fehler ⚠



  • Ist es so schwierig, einen brauchbaren Threadtitel zu wählen, [cpp]-Tags einzusetzen, nachdem man darauf hingewiesen wurde, und die Fehlermeldung von sich aus zu posten? 🙄



  • Bei Microsoft Visual C++ Express Edition wird keine Fehlermeldung angezeigt oder könnt ihr mit dem was anfangen

    1>test - 1 Fehler, 1 Warnung(en)
    ========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========



  • Und was steht oberhalb?



  • Und dann das ist ein Code aus meinem C++ Buch den ich mal ausprobieren wollte ich bin grad am lernen von C++! 🙂



  • [quote="Nexus"]Und was steht oberhalb?[/quote]

    "test.exe": "C:\Users\xxxxx\Documents\Visual Studio 2008\Projects\test\Debug\test.exe" geladen, Symbole wurden geladen.
    "test.exe": "C:\Windows\System32\ntdll.dll" wurde geladen
    "test.exe": "C:\Windows\System32\kernel32.dll" wurde geladen
    "test.exe": "C:\Windows\System32\user32.dll" wurde geladen
    "test.exe": "C:\Windows\System32\gdi32.dll" wurde geladen
    "test.exe": "C:\Windows\System32\advapi32.dll" wurde geladen
    "test.exe": "C:\Windows\System32\rpcrt4.dll" wurde geladen
    "test.exe": "C:\Windows\winsxs\x86_microsoft.vc90.debugcrt_1fc8b3b9a1e18e3b_9.0.30729.1_none_bb1f6aa1308c35eb\msvcr90d.dll" wurde geladen
    "test.exe": "C:\Windows\System32\imm32.dll" wurde geladen
    "test.exe": "C:\Windows\System32\msctf.dll" wurde geladen
    "test.exe": "C:\Windows\System32\msvcrt.dll" wurde geladen
    "test.exe": "C:\Windows\System32\lpk.dll" wurde geladen
    "test.exe": "C:\Windows\System32\usp10.dll" wurde geladen
    "test.exe": "C:\Windows\System32\uxtheme.dll" wurde geladen
    "test.exe": "C:\Windows\System32\ole32.dll" wurde geladen
    "test.exe": "C:\Windows\System32\oleaut32.dll" wurde geladen
    Das Programm "[4700] test.exe: Systemeigen" wurde mit Code 0 (0x0) beendet.



  • Willst du uns verarschen? Hat das Programm nun kompiliert oder nicht?



  • Visual C++

    hat kompiliert und dann kam der Fehler



  • Aber lasst es einfach ich hör einfach auf mit C++ lernen gut


  • Administrator

    Das hier,

    rini schrieb:

    1>test - 1 Fehler, 1 Warnung(en)
    ========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========

    stand ganz sicher nie unterhalb von dem hier:

    rini schrieb:

    "test.exe": "C:\Users\xxxxx\Documents\Visual Studio 2008\Projects\test\Debug\test.exe" geladen, Symbole wurden geladen.
    "test.exe": "C:\Windows\System32\ntdll.dll" wurde geladen
    "test.exe": "C:\Windows\System32\kernel32.dll" wurde geladen
    "test.exe": "C:\Windows\System32\user32.dll" wurde geladen
    "test.exe": "C:\Windows\System32\gdi32.dll" wurde geladen
    "test.exe": "C:\Windows\System32\advapi32.dll" wurde geladen
    "test.exe": "C:\Windows\System32\rpcrt4.dll" wurde geladen
    "test.exe": "C:\Windows\winsxs\x86_microsoft.vc90.debugcrt_1fc8b3b9a1e18e3b_9.0.30729.1_none_bb1f6aa1308c35eb\msvcr90d.dll" wurde geladen
    "test.exe": "C:\Windows\System32\imm32.dll" wurde geladen
    "test.exe": "C:\Windows\System32\msctf.dll" wurde geladen
    "test.exe": "C:\Windows\System32\msvcrt.dll" wurde geladen
    "test.exe": "C:\Windows\System32\lpk.dll" wurde geladen
    "test.exe": "C:\Windows\System32\usp10.dll" wurde geladen
    "test.exe": "C:\Windows\System32\uxtheme.dll" wurde geladen
    "test.exe": "C:\Windows\System32\ole32.dll" wurde geladen
    "test.exe": "C:\Windows\System32\oleaut32.dll" wurde geladen
    Das Programm "[4700] test.exe: Systemeigen" wurde mit Code 0 (0x0) beendet.

    Das zweitere ist kein Fehler, das ist ein Log von dem erfolgreich ausgeführten Programm, welches du in Visual Studio gestartet hast.

    Grüssli



  • ne das Stand auch nicht untereinander


  • Administrator

    rini schrieb:

    ne das Stand auch nicht untereinander

    Aber Nexus hat danach gefragt, was oberhalb des ersteren steht. Wieso gibst du dann eine falsche Ausgabe an?
    Also vielleicht nochmals ganz genau. Was steht oberhalb von dem hier:

    rini schrieb:

    1>test - 1 Fehler, 1 Warnung(en)
    ========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========

    Grüssli



  • 1>------ Erstellen gestartet: Projekt: Hallo, Konfiguration: Debug Win32 ------
    1>Kompilieren...
    1>Hallo.cpp
    1>c:\users\xxx\documents\visual studio 2008\projects\hallo\hallo\hallo.cpp(1) : warning C4627: "#include <windows.h>": Wird bei der Suche nach Verwendung des vorkompilierten Headers übersprungen.
    1> "stdafx.h" Direktive hinzufügen oder vorkompilierten Header erneut erstellen
    1>c:\users\xxxx\documents\visual studio 2008\projects\hallo\hallo\hallo.cpp(90) : warning C4627: "#include <iostream>": Wird bei der Suche nach Verwendung des vorkompilierten Headers übersprungen.
    1> "stdafx.h" Direktive hinzufügen oder vorkompilierten Header erneut erstellen
    1>c:\users\xxx\documents\visual studio 2008\projects\hallo\hallo\hallo.cpp(107) : fatal error C1010: Unerwartetes Dateiende während der Suche nach dem vorkompilierten Header. Haben Sie möglicherweise vergessen, im Quellcode "#include "stdafx.h"" einzufügen?
    1>Das Buildprotokoll wurde unter "file://c:\Users\xxxx\Documents\Visual Studio 2008\Projects\Hallo\Hallo\Debug\BuildLog.htm" gespeichert.
    1>Hallo - 1 Fehler, 2 Warnung(en)
    ========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========



  • Ersetze "#include <iostream>" durch "#include "stdafx.h"" (vorkompilierter Header), dann gehts ... oder: Erstelle ein neues leeres (!) Projekt (keine "Win32-Konsolenanwendung", sonst bekommst du wieder den vorkompilierten Header aufgehetzt) - dann gehts wie es gehen soll 🙂

    Gruss
    Cartman



  • "1>c:\users\xxx\documents\visual studio 2008\projects\hallo\hallo\hallo.cpp(107) : fatal error C1010: Unerwartetes Dateiende während der Suche nach dem vorkompilierten Header. Haben Sie möglicherweise vergessen, im Quellcode "#include "stdafx.h"" einzufügen? "
    tata.

    Was ich aber nicht ganz verstehe, was hat das zweite Programm (Brutto / Netto Berechnung) mit dem ersten zu tun?
    Und wenn du schon Probleme mit Zeichenliteralen hast, was nicht schlimm ist, aber ein typischer Anfängerfehler was du auch zugibst, warum beschäftigst du dich dann mit Windowsprogrammierung?



  • rini schrieb:

    hat kompiliert und dann kam der Fehler

    Also hat es nicht vollständig kompiliert. Wieso bringst du uns dann die Debug-Ausgabe eines Programms, das funktioniert hat? Und warum braucht es fast zwei Seiten, bis du es schaffst, die Fehlermeldung zu posten?

    Wenn du schon Hilfe willst, können wir auch ein wenig Kooperation von dir verlangen. Dazu gehört unter anderem, das du von dir aus das Problem gut beschreibst, auf Fragen und Antworten von anderen Leuten eingehst und nicht den Eindruck machst, als sei dir sowieso alles egal. Ansonsten kommt man sich als Helfer nicht gerade ernst genommen vor. Und achte im Weiteren auf einen guten Threadtitel und [cpp]-Tags, wenn du nicht von Anfang an einen schlechten Eindruck machen willst.


Log in to reply