Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Dumme Frage aber benötige mal kurze Denkansstoß!

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
10.05.2004, 16:29 Uhr
~Stegi
Gast


Hi,

ich bin noch einsteiger in Sachen WinAPI. Das Problem was ich habe ist eigentlich schon zu peinlich es hier zu posten, aber ich komme nicht drauf!

Ich will in einem Programm die durchschnittliche Tastenanschläge pro Minute ausgeben.

Anschläge/Minuten

Nun will ich die Sekunden in Minuten umrechnen. Und diese dann durch die Anschläge Dividieren.


C++:
int Ergebnis(HWND hwnd, int sec, int min, int anschlaege, int fehler)
{
    char szBuffer[80];
    static int cxChar, cyChar;
    double i;
    double totalZeit,  z;
    HDC hdc;
    TEXTMETRIC tm;
    
    i=sec/60;
    z=min+i;
    totalZeit=anschlaege/z;
    hdc=GetDC(hwnd);
    GetTextMetrics(hdc, &tm);
    cxChar = tm.tmMaxCharWidth;
    cyChar = tm.tmHeight;
            
    InvalidateRect(hwnd, NULL, TRUE);
    UpdateWindow(hwnd);
    InvalidateRect(hwnd, NULL, FALSE);
                
    TextOut(hdc, cxChar*20, cyChar*10, TEXT("Diese Lektion haben sie beendet!"), 32);
    
    wsprintf(szBuffer, TEXT("Sie haben für diese Lektion %i Minuten und %i Sekunden benötigt."),
             min,sec);
    TextOut(hdc, cxChar*17, cyChar*12, szBuffer, wsprintf(szBuffer,
            TEXT("Sie haben für diese Lektion %i Minuten und %i Sekunden benötigt."), min,sec));
    
    wsprintf(szBuffer, TEXT("Die Anzahl Ihrer gesammten Anschläge beträgt: %i"), anschlaege);
    TextOut(hdc, cxChar*17, cyChar*14, szBuffer, wsprintf(szBuffer,
            TEXT("Die Anzahl Ihrer gesammten Anschläge beträgt: %i"), anschlaege));
    
    wsprintf(szBuffer, TEXT("Ihre durchschnittlichen Anschläge pro Minute: %i"), totalZeit);//totalZeit);
    TextOut(hdc, cxChar*17, cyChar*16, szBuffer, wsprintf(szBuffer,
            TEXT("Ihre durchschnittlichen Anschläge pro Minute: %i"), totalZeit));
    
    wsprintf(szBuffer, TEXT("Ihre Fehleranzahl beträgt: %i"), fehler);
    TextOut(hdc, cxChar*17, cyChar*17, szBuffer, wsprintf(szBuffer,
            TEXT("Ihre Fehleranzahl beträgt: %i"), fehler));
    ReleaseDC(hwnd, hdc);
    return 0;
}




ich habe jetzt schon etliches versucht aber ich weis nicht wie ich da einen vernümptigen wert raus bekommen.

Kann mir jemand bei den blöden Fehler helfen?

Danke im Vorraus

Stegi
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
10.05.2004, 18:31 Uhr
theosoft



Hello!

Teste mal:

C++:
double i;
i = (double) sec/60;


... oder übergib der function

C++:
double sec;  


... weil der 1. Operand den Type des Ergebnisses bestimmt.
Mein Verdacht ist, wenn man castet (s. o.) sollte es funken!

Viel Erfolg, Theo
--
ifS (immer fröhliches Schaffen)
theosoft
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: