Zum Inhalt springen

Klotzkopp

Mitglieder
  • Gesamte Inhalte

    9912
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    3

Alle Inhalte von Klotzkopp

  1. Da gibt's eine Menge. Such mal nach Software-Anforderungsmanagement (Software Requirements Management). Ein Beispiel wäre Telelogic Doors, aber ich weiß nicht, ob das für euch die richtige Größe hat.
  2. Ich hatte aus der Beschreibung und den Beispielen geschlossen, dass es hier in der Tat um den ganz gewöhnlichen euklidischen R^2 geht. Ansonsten könnte man die Punkte ja beliebig verteilen und dann einfach eine passende Metrik angeben. Wenn ich das richtig verstanden habe, unterliegt der "Problem-2-Punkt" nicht der Äquidistanzbedingung, sondern muss nur entsprechend der Ausprägung seiner Eigenschaften positioniert werden.
  3. Das ist für mehr als 3 Punkte nicht möglich. Du kannst beispielsweise 4 Punkte in der Ebene nicht so anordnen, dass alle den gleichen Abstand haben. Bei deiner vorgeschlagenen Anordnung (Quadrat) sind die jeweils gegenüberliegenden Punkte weiter voneinander entfernt als die direkten Nachbarn.
  4. Was genau soll da maximiert werden? Wirklich nur die Summe der Abstände aller Punktepaare? Gibt es sonst keine Anforderungen? Denn dein Beispiel für drei Punkte ist nach deiner Beschreibung nicht die Lösung. Wenn man für die Fläche ein Quadrat der Seitenlänge 1 annimmt, hast du da als Gesamtabstand 1 + Wurzel(1,25) + Wurzel(1,25), was ungefähr 3,23 ist. Wenn man die Punkte aber einfach in drei beliebige Ecken der Fläche setzt, kommt man schon auf 1 + 1 + Wurzel(2), ungefähr 3,41.
  5. In der Basisklasse setzt du Img->OnMouseMove, in der abgeleiteten aber OnMouseMove (ohne "Img->").
  6. Hast du dir die Beispiele in der MSDN Library überhaupt angesehen? Erstell einen StreamWriter mit dem Dateinamen, keinen TextWriter. Und dann ruf SetOut mit diesem StreamWriter als Parameter auf.
  7. Klotzkopp

    Kleines Java-Problem

    Nur zur Information: Der letzte Aufruf von pow ist überflüssig. Math.pow( irgendwas, 1 ) ist dassselbe wie irgendwas
  8. Du kannst mit Console.SetOut die Ausgabe umlenken. In der MSDN Library findest du dazu auch Beispiele.
  9. Bitte kein Threadpushing, siehe Boardregeln. Ja, das hörte sich im ersten Beitrag noch ganz anders an. Ich konnte mir unter "den Debug oder allgemeine Konsolenvorgänge exportieren" nichts vorstellen, darum habe ich nicht geantwortet. Leite doch einfach die Ausgabe um, wenn du dein Programm startest.
  10. Jetzt hast du aber wieder das Problem, dass jede Kombination aus Name und Passwort akzeptiert wird, auch wenn die gar nicht zusammengehören. Muss das eigentlich sein, dass die Daten auf zwei Dateien verteilt sind? Das macht das ganze unnötig kompliziert. Unsauber an dem Code ist übrigens nicht das break, sondern das goto.
  11. Ganz ruhig Ein printf ist schon viel, viel besser als ein Kommentar, und kann durchaus eine ausreichende Fehlerbehandlung sein. Alles in Ordnung. Schau dir mal genau an, wann du die Dateien schließt.
  12. Das gleiche gilt für diesen Kommentar: Ich hoffe, du glaubst nicht, dass diese Kommentare etwas bewirken. Du musst das schon umsetzen, was da steht. Stammen diese Kommentare eigentlich von dir selbst? Es wäre übrigens auch recht sinnvoll zu prüfen, ob das zweite fopen geklappt hat. Du prüfst nur das Ergebnis des ersten, und machst im Fehlerfall - wie bereits mehrfach erwähnt - nichts.
  13. Hast du das mal mit mehr als einer Zeile in den Dateien getestet? Das sollte eigentlich nur dann funktionieren, wenn der Benutzer die Daten der jeweils letzten Zeilen der Dateien eingibt.
  14. Willst du nur prüfen, ob die Eingabe auf irgendeine Kombination von Name und Passwort passt, oder müssen es schon die zusammengehörigen sein? Denn dadurch, dass du die Schleifen verschachtelst, würdest du jede Kombination prüfen, was vermutlich nicht gewollt ist.
  15. Das ist so schon gar nicht schlecht. Allerdings ist es nicht besonders sinnvoll, für die Eingabe und die Dateien dieselben Variablen zu benutzen. Wie willst du die denn vergleichen, wenn du die eingegebenen Daten mit denen aus den Dateien überschreibst?
  16. iceman30, bitte benutz unseren Stellenmarkt.
  17. sshd versucht standardmäßig einen Reverse-DNS-Lookup des Clients. Wenn der auf einen Timeout läuft, kann sich das so äußern. Sorge entweder dafür, dass das DNS-Lookup funktioniert (schlimmstenfalls sollte ein Eintrag in der hosts-Datei Abhilfe schaffen) oder schalte diese Funktion im sshd ab (UseDNS auf "no").
  18. Es gibt eine WinAPI-Funktion namens SetWindowText, d.h eigentlich gibt es die nicht . Es gibt die Multi-Byte-Variante (SetWindowTextA) und die Wide-Character-Variante (SetWindowTextW). SetWindowText ist nur ein Präprozessorsymbol, das je nachdem, wie die UNICODE-Einstellungen im C++-Projekt definiert sind, entweder auf SetWindowTextA oder SetWindowTextW verweist. Und da Präprozessormakros dumm sind und keine Scopes beachten, passiert diese Ersetzung auch in deinem Code, sobald du die Windows-Header einbindest. Das gilt übrigens für praktisch alle WinAPI-Funktionen, die mit C-Strings arbeiten.
  19. Wenn der Compiler mit seiner Arbeit fertig ist, hast du für jede Übersetzungseinheit (.cpp-Datei) eine Objektdatei (meist .o oder .obj). In so einer Objektdatei gibt es externe Symbole, d.h. Verweise auf Objekte oder Funktionen, die in der dazugehörigen Quellcodedatei verwendet, aber nicht definiert wurden. Jeder Objektdatei enthält natürlich auch die Symbole, die in der Codedatei definiert wurden. Die Entwicklungsumgebung wirft nun die gesamten Objektdateien dem Linker vor die Füße (zusammen mit weiteren Biliotheken usw.). Der Linker durchsucht dann alle angegebenen Objektdateien und Bibliotheken, und versucht, die externen Symbole aufzulösen, indem er sie an Symbole aus anderen Objektdateien bindet (daher der Name "Linker). Der Linker "weiß" also nicht, dass die benötigten Funktionen in funktionen.obj sind. Aber er weiß vom Compiler, dass sie in main.obj fehlen, und findet sie eben in funktionen.obj - und nur dort. Würde er sie an mehr als einer Stelle finden, würde er sich auch beklagen.
  20. Benutz einen absoluten Pfad beim Öffnen, um zu prüfen, ob es am Arbeitsverzeichnis liegt. FILE *datei = fopen("C:\\Pfad\\zur\\Dateo\\Kat_A2_5.csv", "r"); Bist du sicher, dass die Datei nicht gerade noch von einem anderen Prozess benutzt wird? Und lässt du die Includedirektiven drin, lässt es sich erst gar nicht kompilieren. Daraus solltest du nun wirklich nicht folgern, dass du diese Direktiven brauchst. Nochmal: Das sind Includedirektiven für C++-Header. Damit kann dein C-Compiler nichts anfangen, und du brauchst sie auch nicht.
  21. Was soll das sein? C oder C++? Die Dateiendung und der Code selbst deuten auf C hin, diese Includedirektiven sind aber C++-spezifisch. Dass ein C-Compiler die nicht findet, dürfte nicht weiter verwunderlich sein. Du benutzt auch nichts, das einen dieser Header erfordern würde. Außerdem empfehle ich dir, bei der "Fehlerbehandlung" etwas mehr zu tun als nur einen Kommentar hinzuschreiben, damit man auch merkt, wenn ein Fehler aufgetreten ist.
  22. Du könntest eine DOT-Datei erstellen und das ganze dann durch Graphviz jagen, um beispielsweise eine Bitmapdatei daraus zu machen.
  23. Was du da hast, ist nicht zwangsläufig ein Baum. Beispiel: a bindet b und c ein b bindet d ein c bindet d ein Das lässt sich nicht als Baum darstellen, weil es mehr als einen "Weg" von a nach d gibt (über b und über c). Das wäre dann ein ganz normaler Graph (ein Baum ist ein besonderer Graph). Wenn du garantieren kannst, dass es sich um eine Baumstruktur handelt, kannst du einfach eine struct für eine solche Datei definieren, die einen std::vector derselben struct enthält, in dem die verknüpften Dateien abgelegt sind. Wenn du keinen Baum hast, musst du anders vorgehen. Ich würde erst mal alle Dateien in einem std::vector anlegen, und dann über eine Liste von Zeigern die Verknüpfungen abbilden. Die Ausgabe hängt auch stark davon ab, ob das nun wirklich ein Baum ist oder nicht.
  24. Was meinst du mit "Dateiverknüpfung"? Wie soll die Baumstruktur organisiert sein? Von welchen Zusammenhängen sprichst du? P.S.: Kein 'c' in Struktur
  25. Dein "Ansatz" ist nicht immer praktikabel. Bei kleinen Vorhaben und Zugang zu Testumgebungen mag deine Ausprobier-Vorgehensweise ähnlich effizient sein wie geplantes Vorgehen, aber diese Situation ist nicht immer gegeben. Manchmal gibt es keine Testumgebung, an der du etwas ausprobieren könntest, sondern bestenfalls eine Spezifikation. Manchmal ist es exterm aufwendig, eine Testumgebung aufzusetzen, nur weil du nicht ohne eine solche auskommst. Manchmal ist die Vorgehensweise nicht praktikabel, weil Testläufe zum Ausprobieren einfach zu lange dauern. Und es soll schon vorgekommen sein, dass man direkt an einem Produktivsystem arbeiten muss, an dem bei unvorsichtigem Rumprobieren leicht Schaden entstehen kann. Deine Einschätzung, welche Anforderungen die zukünftige Praxis für dich bereithält, ist diesbezüglich etwas blauäugig, und du tust dir keinen Gefallen damit, wenn du dir die Situation schönredest.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...