Beiträge von Wasserleiche

    canfänger:

    Ich hab doch geschrieben wie es in der main Funktion aufruft, auch wenn ich einen kleinen Fehler gemacht habe :oops: :


    So funktioniert der Aufruf. Getestet habe ich das jetzt zwar nicht, aber ich wüsste nicht was schiefgehen sollte...

    Also, Teilaufgabe b) sollte problemlos funktionieren. Bei der Aufgabe c) hast du allerdings einen Fehler, und zwar in der Zeile

    Code
    if(kopie=NULL)
       cout << "keine Werte";
    else
       { ... }

    musst du natürlich zwei "==" nutzen, nicht eines. Jetzt hast du in der If-Anweisung eine Zuweisung. Da sollte außerdem ein guter Compiler eine Warnung rausgeben!

    Ein Beispiel wie du die Funktionen nutzen könntest wäre folgendes:

    Ich bin mir jetzt aber nicht vollkommen sicher ob das deine Frage war...

    Ja, das funktioniert. Also a) ist damit gelöst.
    Aber anstatt jetzt zu jeder Teilaufgabe einen Tipp zu geben, frag doch konkrete Sachen. Also wo hast du genau Probleme?

    PS: wozu der globale "startZeiger" Pointer wenn du ihn nicht nutzt?

    Also, Precompiled Header heißt nicht das du sie einfach auslagerst, sondern das sie wirklich schon im kompilierten Zustand vorliegen und der Compiler die nicht mehr parsen muss.

    Diese ganzen unresolved external symbols Fehler kommen vom Linker, der aus deinen Objektdateien eine ausführbare Datei macht. So wie es aussieht hast du vergessen die Headerdatei von der "Container" Klasse (oder Struktur) zu includieren.

    Die muss noch per include rein, und dann sollten diese Fehler nicht mehr auftauchen...

    Ich muss zugeben das ich mit Visual Studio noch nie Precompiled Header genutzt habe. Aber der Fehler deutet ja darauf hin, dass er die Header nicht finden kann. Eventuell hast du dich nur vertippt. Könnte aber auch sein das die Precompiled Header (welche du in dem Projekt nutzt - kann man auch ausschalten) anders heißen. Aber das weiß ich nicht.

    "The Project is out of date" heißt einfach nur, dass seit dem letzten Compiliervorgang sich die Sourcefiles geändert haben. Einfach nochmal kompilieren und fertig.

    Ach und ob du *.h oder *.hpp benutzt ist eigentlich egal. Mir persönlich gefällt die Endung *.h besser, ist auch fast überall anzutreffen...

    Zitat von anki

    Bei mir schließt das fenster sofort nach der eingabe

    Ach das ist dein Problem, jetzt versteh ich es. Schau doch mal den Code von DarkSyranus an, er hat am Ende ein cin.get() -> das sollte das Schließen des Fensters verhindern.

    Desweiteren würde ich mir die Tipps von ihm auch zu Herzen nehmen, du solltest den Code wirklich einrücken um die Lesbarkeit zu erhöhen.

    Hallo Folks,

    also ich muss erstmal zugeben das ich nicht sehr bewandert in Javascript bin. Habe ein Tooltip Skript geschrieben, welches aber einen Bug hat und einfach nicht klappen will.

    Folgendes soll funktionieren (siehe Beispielcode):
    Wenn ich über das "muh" div Element fahre, sollte ein neben meiner Maus das div Element auftauchen mit der Id "tooltip". Es wird zwar dargestellt und auch wieder ausgeblendet, aber leider unter dem ersten div-Element.

    Irgendwie scheint die Funktion updateTT() nicht so zu klappen.

    Der Code ist natürlich nur ein Schnippsel, aber der Fehler tritt hier auch auf.

    Irgendwelche Ideen warum tt.style.left und tt.style.top nicht richtig funktionieren?

    Schonmal vielen Dank!

    Also wenn es um Konsolenprogrammierung geht, nimm das "Win32 Console Application Project" als Startprojekt. Dann sind die nötigen Voreinstellungen schon drin. Dann dürftest du kein Problem mehr haben.

    Und zu deinem Fehler, du meinst wahrscheinlich so was hier:

    Oder? Falls das die Fehlermeldungen verursacht hat -> die Variable i gehört mehr oder weniger zum Scope der for-Schleife, auch wenn diese nur einmal angelegt wird (im Gegensatz zu y). Deswegen kannst du i außerhalb der for-Schleife nicht nutzen.

    So weit ich weiß war das früher (vor dem ISO C++ 99 Standard) möglich.

    Also ich habe hier zwar nicht die Express (sondern Professional), aber es müsste bei dir genauso gehen:

    Project -> (Projektname) Properties... -> Configuration Properties -> Linker -> Input -> Additinal Dependencies -> [...]

    Dort kannst du weitere statische Libs eintragen. Doch normalerweise sollte die user32.lib immer drin sein.
    Was ist denn das für ein Projekt (Win32 Console Application?). Wenn du ein Empty Project erstellt hast, bekommst du wahrscheinlich noch mehr Probleme. Denn dann ist garnichts eingestellt.

    Also ich bin dafür, dass hier eine Prügelstrafe eingeführt wird für Leute, welche die Code-Tags nicht nutzen! Solche Code-Schnippsel kann doch keiner lesen...

    Zu deinem Problem, bzw. erstmal ein paar Tipps:

    1. die main Funktion sollte so aussehen:

    Code
    int main()
    // oder
    int main(int argc, char* argv[])
    
    
    // aber nicht
    void main() // falsch! das ist kein C++ standard!

    2. direkt vor der for-Schleife steht bei dir ein "i = 0;" -> das kannst du dir sparen, da du im for-Schleifenkopf i auf 0 setzt. Desweiteren würde ich i auch erst dort anlegen, dass hilft der Übersicht und du brauchst i nirgends anders:

    Code
    for(int i=0; i<=20; ++i)
    {
       // do something
    }

    3. dein Programm geht sicher in die for-Schleife, aber dort wird es abstürzen (bzw. undefiniertes Verhalten)! Denn du nutzt "fltRest" ohne es initialisiert zu haben. Das knallt gewaltig.

    4. du nutzt cout völlig falsch, ich denke du willst folgendes erreichen:

    Code
    cout << i << " " << fltRest << " " << fltZinsen << " " << fltTilgung << " " << fltRate << endl;

    5. falls du C++ lernst: bitte verwende anstatt <math.h> die <cmath> Header. Diese <XXX.h> Header sind "veraltet" und sollten nur in reinem C verwendet werden.

    So einfach ist das nicht, denn wenn es ein statisches Array wäre, musst du drauf achten nicht über die Grenzen drüber zu laufen. Und falls doch, muss via new eine neues größeres Array angefordert werden.

    (das wäre dann auch eine Implementierung des std::vectors, der auch nichts anderes macht)

    Dein Problem ist ein typischer Anfängerfehler: diese gegenseitigen include's machen dem Compiler Probleme, und sind häufig ein Designfehler des Programms.

    Um solche Probleme vor zu beugen gibt es einige Regeln die das verhindern (neben einem guten Klassendesign). In der Headerdatei sollten so wenige include's stehen wie möglich (diese verlängern außerdem den Compiliervorgang). Dafür kannst du Vorwärtsdeklarartionen verwenden, wenn dies möglich ist.

    Aber erklären kann man es am besten, wenn du mal beide hpp Dateien postest. Aber bitte in Code Tags. Also [code]...[/ code].

    Ok, also ich hab jetzt doch Zeit gefunden. Sind ein bisschen mehr als 2-3 Zeilen geworden:

    Skript kann immer per Alt + Entfernen beendet werden (sendet dabei einen Beep). Wenn du es startest wird es sofort ausgeführt. Kannst natürlich so umbauen das man es auch starten und pausieren kann, oder nur dann ausgeführt wird wenn ein bestimmtes Programm läuft...

    Viel Spaß

    Uiuiui, das sieht wirklich sehr zusammenkopiert aus. Ich muss allerdings sagen, dass ich AutoHotkey erst für 2 Skripte genutzt habe bin selber kein Profi :oops:

    Funktioniert das Skript denn? Also läuft tut es das was es soll?

    Ich kann mich der Sache schonmal annehmen, aber dafür muss hab ich heute wahrscheinlich keine Zeit mehr. Denke aber nicht das es ein großes Problem sein wird. Ich meld mich dann heute Abend oder morgen wieder...

    Les dir doch mal den Quickstart Guid durch, da steht in Kürze ne Menge Informationen drin.

    Also Textdatei anlegen mit Endung .ahk. Mit Send {Key} kannst du Tastendrücke simulieren. Dann ist es möglich auch einfach zu warten, mit Sleep <Millisekunden> kannst du das Skript also pausieren. Wiederholungen sind einfache Schleifen, bei AHK ist das die Loop.

    Mit diesen 3 Befehlen kannst du schon dein Skript verwirklichen. Alles in eine (beispielsweise) Test.ahk. Dann mit Doppelklick starten und los gehts...
    Ist natürlich klar, dass das dann ein ganz simples Skript ist, was sicherlich noch weiter verfeinert werden will :wink:

    Man kann das Skript auch kompilieren, damit es ohne installiertest AHK auf anderen Rechnern funktioniert.

    Bei Problemen meld dich ruhig. Allerdings sollte man es eventuell in ein anderes Forum verschieben (schließlich gehts hier nicht mehr um C/C++).