Dringende Fragen für eine Hausarbeit



  • Hallo,
    bin sowohl neu hier als auch bei C++.... Pflichtprogramm an der Uni und ich muss nächste Woche eine Hausarbeit abgeben....

    Wenn ich bei Visual Studio (2003) meine Programme kompilieren will, sagt mir das Programm seit neuestem, dass es die exe-Datei nicht finden kann. Sonst hat es die immer automatsch gespeichert, wenn ich bei dem neuen Projekt mein Programm als "vorhandenes Element" hinzugefügt habe. Und dann "starten ohne debuggen" (so haben wir's in der Uni immer gemacht) und dann ging das automatisch, jetzt nicht mehr => HIIILFE!!!! 😕

    Zweite Frage: Wie gehe ich vor, wenn ich ein Programm mit einer Header-Datei und einer Bibliothek habe?? Einfach alle als "vorhandene Elemente" hinzufügen?? => HIIILFE!!!! 😕

    Vielen Dank für Antworten!!



  • hiiilfe schrieb:

    Wenn ich bei Visual Studio (2003) meine Programme kompilieren will, sagt mir das Programm seit neuestem, dass es die exe-Datei nicht finden kann. Sonst hat es die immer automatsch gespeichert, wenn ich bei dem neuen Projekt mein Programm als "vorhandenes Element" hinzugefügt habe. Und dann "starten ohne debuggen" (so haben wir's in der Uni immer gemacht) und dann ging das automatisch, jetzt nicht mehr => HIIILFE!!!! 😕

    Du kannst mal einen komplette Rebuild versuchen. Also alles neu erstellen.

    hiiilfe schrieb:

    Zweite Frage: Wie gehe ich vor, wenn ich ein Programm mit einer Header-Datei und einer Bibliothek habe?? Einfach alle als "vorhandene Elemente" hinzufügen?? => HIIILFE!!!! 😕

    Wenn du mit Blibliothek eine *.lib-Datei meinst, dann muss diese über die Linkeroptionen (Eingabe/Input -> Zusätzliche Abhängigkeiten/Additional Dependencies) hinzugefügt werden. Die Header-Datei fügst du deinem Projekt hinzu und dann kannst du die Funktionen der Dll aufrufen.



  • Ich bin Dir schonmal sehr dankbar für Deine Antwort, aber so richtig hat sie mir nicht geholfen. Meine Probleme, dass sich das nicht öffnen lässt, haben sich erledigt. Ich habe soeben brandneu Visual Studio 2005 installiert.
    ABER das mit dem compilieren mit Header und Library hab ich noch nicht gechekt.

    So haben wir es ohne gemacht:
    Datei -> neu -> Projekt -> Win32 (Konsolenanwendung) -> Anwendungseinstellungen -> leeres Projekt;

    Projekt -> vorhandenes Element hinzufügen -> [entsprechende .cpp auswählen];

    Debuggen -> starten ohne debuggen;

    Aber wenn ich nun eine Header- und eine .lib-Datei habe, weiß ich nicht, wie ich das mache. Deine Möglichkeit finde ich bei mir gar nicht erst... 😕

    Habe irgendwas im Kopf von .lib in dem Ordner speichern, wo debug steht, aber da gibt es zwei und ich weiß nicht weiter - HIIILFE!!! 😕

    Meinetwegen auch andere Möglichkeiten, hauptsache, ich kann mein Programm (die HAUSARBEIT) überprüfen und somit abgeben.
    Vielen Dank!



  • hiiilfe schrieb:

    Habe irgendwas im Kopf von .lib in dem Ordner speichern, wo debug steht, aber da gibt es zwei und ich weiß nicht weiter - HIIILFE!!! 😕

    Lösch einfach mal die zwei Debug Ordner. (Es kann in deinem Projekt nur einen geben). Um herauszufinden wo deine exe-Datei erzeugt wird gehst du mit der rechten Maustaste auf dein Projektnamen im Solution Explorer/Projektmappen Explorer. Dann im Kontextmenü auf Eigenschaften. Dort wählt du Linker. Rechts im Dialog steht ganz oben Ausgabedatei. Die Variable $OutDir gibt den Ordner an in dem dein Projekt liegt. Dort den Debug-Ordner löschen. Dein Projekt neu kompilieren. Jetzt ist EIN Debug-Ordner vorhanden. Dort kopiertst du deine lib-Datei hinein.

    In den Projekteinstellungen (siehe oben, rechte Maustaste etc.) Wieder zu Linker->Eingabe (3. darunter) -> rechte Seite "Zusätzliche Abhängigkeiten". Fort trägst du den namen der lib-Datei ein.

    Die Header Datei fügst du dem Projekt hinzu (vorhandenes Element hinzufügen).

    Die Header-Datei noch an der richtigen Stelle (z.B. main.cpp) per #include einbinden und schon kannst du die Funktionen der Dll nutzen.



  • Guten Morgen .
    ALso wenn ich dich richtig verstanden habe, willst du wissen wie du eine Bibliothek in dein Projekt einbindest.
    Zuerst gibts du den Pfad an , wo die Bibliothek liegen soll, das machst du unter tools und dann eigenschaften. dort wählst du den punkt verzeichnisse . und gibst dein vberzeichnis an.

    so nun kann vc schon mal den pfad wo er suchen soll. als nächstes musst du nur npch deine bibliothek bekannt geben. das machst du über projket eigenschaften link und dann input glaube ich.

    Versuch es einfach mal.



  • Hey, vielen Dank!! Bei so viel Hilfsbereitschaft muss doch irgendwas funktionieren.

    Ich hab da noch ne technischere Frage zu C++ selber:

    In meiner Hausarbeit geht es darum ein Programm zu schreiben, dass Daten eines bestimmten Formates aus einer Datei einliest und diese in ein anderes bestimmtes Format formatiert und die Daten so in eine neue Datei schreibt. Ok, verstanden (Umsetzung hoffentlich auch einigermaßen). ABER: Der Benutzer soll gefragt werden, wie diese neue Datei heißen soll. HIIILFE!!! 😕

    Wie um Himmels Willen kriege ich das denn hin? Den Benutzer zu fragen und ihn den Namen eingeben zu lassen, geht schon. Aber wie kann ich die Variable, die ich durch seine Eingabe fülle so in das OFSTREAM ein, dass ich keinen konkreten Dateinamen angeben muss? HIIILFE!!! 😕

    Ich krieg noch einen zu viel mit dieser Geschichte,
    LIEBSTEN DANK FÜRS HELFEN!!!

    PS: Und wo wird so eine erzeugte Datei eigentlich gespeichert?? Ich muss doch auch meine Ergebnisse kontrollieren.



  • hiiilfe schrieb:

    Wie um Himmels Willen kriege ich das denn hin? Den Benutzer zu fragen und ihn den Namen eingeben zu lassen, geht schon. Aber wie kann ich die Variable, die ich durch seine Eingabe fülle so in das OFSTREAM ein, dass ich keinen konkreten Dateinamen angeben muss? HIIILFE!!!

    Also du lässt den Benutzer einen Dateinamen eingeben. Diesen speicherst du wie geschrieben in einer (std::string)-Variablen. Der Konstruktor der Klasse std::ofstream hat meherer Überladungen, denen du den Dateinamen übergeben kannst. Anonstenten wählst du den gleichen Weg wie beim Einlesen mit std::ifstream.

    hiiilfe schrieb:

    PS: Und wo wird so eine erzeugte Datei eigentlich gespeichert?? Ich muss doch auch meine Ergebnisse kontrollieren.

    Ich kenne die Aufgabenstellung nicht genau, aber der Benutzer sollte dann den absoluten Pfad angegen. Beispiel: c:\output.txt



  • hiiilfe schrieb:

    Wie um Himmels Willen kriege ich das denn hin? Den Benutzer zu fragen und ihn den Namen eingeben zu lassen, geht schon. Aber wie kann ich die Variable, die ich durch seine Eingabe fülle so in das OFSTREAM ein, dass ich keinen konkreten Dateinamen angeben muss? HIIILFE!!! 😕

    Ich krieg noch einen zu viel mit dieser Geschichte,
    LIEBSTEN DANK FÜRS HELFEN!!!

    PS: Und wo wird so eine erzeugte Datei eigentlich gespeichert?? Ich muss doch auch meine Ergebnisse kontrollieren.

    Du gibst ja nicht viel Preis von deinem Projekt. Soll das als Konsolenanwendung laufen oder hat das eine richtige GUI? Wenn du eine GUI hast, dann gibts doch schon fertige Klassen. Da du schon mal im MFC-Forum bist könntest du CFileDialog nehmen. In der Konsole musst du das abfragen und über einen Stream (std::cin z.B.) kannst du es einlesen und in einer Stringvariablen speichern. Die Streams zum Schreiben in eine Datei werden sicher in irgendeiner ihrer vielen Überladungen auch den Dateipfad, ob nun absolut oder nicht, aufnehmen.



  • Um Gottes Willen, ich versteh nur Bahnhof. Klassen gehen mal gar nicht, denn mit denen kann ich nicht umgehen, weil ich alles, was mit objektorientiert zu tun hat, nicht verstanden hab. Aber wir müssen ne Struktur benutzen. Habt ihr dazu vielleicht auch noch einen passenden Tip?
    Wenn ihr die ganze Aufgabenstellung haben wollt: http://hki.uni-koeln.de/?q=dogsbody_display_course/9/119/1
    Da unten auf der Seite steht der Kram, ich bin überfordert.... 😕



  • Hallo aus deinen Antworten entnehem ich das du ein absoluter anfänger bist.
    Nicht schlimm aber wehre dich nihct gegen Klassen-.
    Auf sie wird später alles aufbauen

    also versuche deine aufgabe alleine zu lösen. in schwierigen situationen stht dir das forum sicher zur verügung.

    ich habe selber die erfahrung gemacht . wenn man sich alleine durchquält ist es viel schöner als wenn man in 5 minuten einen codeschnipsel verwendet.



  • hiiilfe schrieb:

    Um Gottes Willen, ich versteh nur Bahnhof. Klassen gehen mal gar nicht, denn mit denen kann ich nicht umgehen, weil ich alles, was mit objektorientiert zu tun hat, nicht verstanden hab. Aber wir müssen ne Struktur benutzen. Habt ihr dazu vielleicht auch noch einen passenden Tip?
    Wenn ihr die ganze Aufgabenstellung haben wollt: http://hki.uni-koeln.de/?q=dogsbody_display_course/9/119/1
    Da unten auf der Seite steht der Kram, ich bin überfordert.... 😕

    Ok, dann bist du hier im falschen Forum. Die MFC ist ein Klassengerüst, sozusagen objektorientiert noch und nöcher....
    Ich hab mir mal die Aufgabe angesehen. Die ersten Teile kann man locker in eine Konsolenanwendung auch ohne objektorientierte Programmierweise packen. Nimm dir erst mal ein Tutorial (z.B. http://www.cpp-tutor.de) und hangel dich Stück für Stück durch die Grundlagen. Der Umgang mit Dateien folgt da aber erst etwas später. Vorteil hier ist, dass deine Daten in einem Textfile vorliegen und die Konvertiererei damit wesentlich einfacher ist. Ich würde die Datei zeilenweise einlesen (hier gibts aber auch schon schöne fertige Klasse wie z.B. CFile oder CStdioFile), die das ganze sehr vereinfachen.
    Sobald da was mit Suche und so weiter losgeht wird das mit der Konsole auch schon ziemlich aufwendig, da du ja irgendwie eine Benutzerführung implementieren musst. Spätestens hier sollte über eine grafische Benutzeroberfläche nachgedacht werden.


Anmelden zum Antworten