Zum Inhalt springen

Klotzkopp

Mitglieder
  • Gesamte Inhalte

    9912
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    3

Alle Inhalte von Klotzkopp

  1. Verschoben -> Windows Betriebssysteme
  2. Tut er? Mein Compiler spuckt immer Fehlermeldungen aus. Naja, jfalls kannst du einem Array nichts zweisen. Zum Kren von Strings gibt's die Funktion strcpy.
  3. Deine Funktion erwartet Zeiger, du musst also die Adressen deiner Arrayelemente übergeben.
  4. Wenn du die Datensätze in einer bestimmten Reihenfolge haben willst, dann musst du dafür sorgen, dass die Datensätze ein Feld haben, das bei Sortierung eben diese Reihenfolge erzeugt. Keinesfalls solltest du dich darauf verlassen, dass dir die Datenbank die Datensätze in der Reihenfolge der Erzeugung liefert, oder das ID-Feld für die Sortierung benutzen.
  5. Klotzkopp

    Suchen in mengen

    Da in der Aufgabenstellung steht gehe ich davon aus, dass zwischen den Suchvorgängen keine Daten hinzukommen. Es reicht also, einmal am Anfang zu sortieren.
  6. ...oder TCHAR-Strings benutzen oder Wide-Character-Strings benutzen oder explizit die ANSI-Variante aufrufen der jeweiligen Funktionen aufrufen..
  7. Klotzkopp

    Suchen in mengen

    Da ist immer noch nichts von der Anzahl der Suchvorgänge zu sehen. n ist nicht die Anzahl der Suchvorgänge, sondern die Anzahl der Elemente in der Menge. Was du gezeigt hast, ist die Situation für eine Suchanfrage. Da ist es klar, dass die sequentielle Suche schneller ist. Du sollst untersuchen, wie sich das bei mehreren Suchanfragen entwickelt.
  8. Klotzkopp

    Suchen in mengen

    Das ist eine Überlegung für eine einzige Suchanfrage. Die Frage ist, wie sich das entwickelt, wenn du mehrere Anfragen machst. Die Basis ist für solche Abschätzungen irrelevant. Sie wirkt sich nur in Form eines konstanten Faktors aus. Du wirst hier auch keinen konkreten Wert ausrechnen können. Es wird darum gehen, in welcher Größenordnung im Vergleich zu n die Anzahl der Suchanfragen steht. Bei einer einzigen Suchanfrage ist die lineare Suche sicher schneller.
  9. Klotzkopp

    String Expansion

    Wozu erase? Insert sollte alles ein, was du brauchst. Das ist keine ausreichende Problembeschreibung. Hat du bedacht, dass sich die hinteren Positionen verschieben, sobald du vorne etwas einfügst?
  10. Trotz was? Das ist das, was der Standard "undefiniertes Verhalten" nennt. C und C++ sind voll davon. Im Prinzip kann alles passieren, wenn du solche Fehler machst. Kann sein, dass es abstürzt, kann sein, dass falsche Werte angezeigt werden, kann sein, dass das Programm trotzdem richtig läuft, kann sein, dass deine Festplatte formatiert wird (). Du kannst dich also nicht darauf verlassen, dass solcher Code abstürzt.
  11. Du gibst SerienNr2 und TeileNr2 immer mit aus, auch wenn du dafür keinen Speicher reserviert hast. Das kann ja nicht funktionieren. Du solltest übrigens deinen Code ordentlich einrücken und beim Posten hier im Forum in [CODE]Code-Tags Und noch eins: Den Rückgabewert von malloc soll man nicht casten. Es ist überflüssig und kann unter bestimmten Bedingungen Fehler verdecken. SerienNr2 = malloc(laenge*sizeof(int)); // ohne (int*) einschließen, damit die Einrückung nicht verlorengeht.
  12. Klotzkopp

    Fermat-Test in C#

    ^2 bedeutet nicht "hoch 2", sondern "bitweise xor 2".
  13. Jetzt fällt mir auf die Schnelle auch nichts mehr ein. Du kannst dir ja mal das Microsoft-Sample zu diesem Thema ansehen: MSocUdp.exe Implement UDP Using CAsyncSocket
  14. Heißt deine Klasse wirklich CAsyncSocket?
  15. Prüf bitte die Rückgabewerte von Create und SetSockOpt. GetLastError solltest du nur dann aufrufen, wenn wirklich etwas schiefgelaufen ist.
  16. Das mit dem Broadcast hatte ich übersehen. Hast du vorher für den Socket SO_BROADCAST gesetzt? Das geht mit SetSockOpt.
  17. Sind es denn die richtigen 4 Zeichen? Stimmen Adresse und Port? Oder empfängst du da vielleicht etwas ganz anderes?
  18. Bitte kein Threadpushing, siehe Boardregeln. Wenn du meinst, dass dein Thread zusätzliche Aufmerksamkeit benötigt, wende dich an einen zuständigen Moderator. Zum Problem: nRead ist nach dem Aufruf also 4? Oder woraus folgerst du, dass du nur 4 Zeichen empfängst?
  19. Das geht so nur bei der Initialisierung: char Bedingung1[5] = "Wort"; Zuweisen kann man Arrays nichts. Aber für Strings gibt's strcpy.
  20. Das ist kein Vergleich. Vergleiche macht man mit ==. Außerdem ist es nicht sinnvoll, eine int-Variable mit einer Zeichenkette zu vergleichen, das geht in die Hose. if(y == 1234) Wenn du hinter der if-Anweisung mit geschweiften Klammern einen Block aufmachst, muss das else hinter diesem Block stehen, nicht mittendrin. Du tust dir übrigens selbst einen Gefallen, wenn du deinen Code von Anfang an ordentlich einrückst.
  21. Grundsätzlich ja. Es sollte aber etwas in den Arrays drinstehen. So kann dabei nichts Sinnvolles herauskommen. Außerdem sind die Arrays für das, mit dem sie verglichen werden sollen, zu klein. Du brauchst immer ein Arrayelement mehr für das Nullbyte, das das Ende des Strings markiert. Kommt darauf an, was du womit vergleichen willst. Dem Programm werden nur die Kommandozeilenparameter übergeben, mit denen es aufgerufen wurde.
  22. strcmp vergleicht zwei nullterminierte Zeichenketten, die als char-Zeiger übergeben werden. Bedingung1 und Bedingung2 sind aber keine Zeichenketten, sondern nur einzelne Zeichen. Und bevor du jetzt auf die Idee kommst, die Adresse deiner char-Variablen zu übergeben: Dann hast du immer noch keine Nullterminierung. Für Zeichenketten brauchst du char-Arrays. Einen Fehler meldet der Compiler immer dann, wenn er etwas nicht übersetzen kann. Laut C-Standard sind Ganzzahldatentypen (denn ein solcher ist char) implizit in jeden Zeigertyp konvertierbar. Übersetzen ließe sich das also, aber dabei kommt praktisch nie etwas Sinnvolles heraus, daher tut dir der Compilerhersteller mit der Warnung einen Gefallen. Dieser Code wird dir nämlich mit an Sicherheit grenzender Wahrscheinlichkeit um die Ohren fliegen, weil bei dieser Konvertierung kein gültiger Zeiger herauskommt.
  23. Da fehlt mir jetzt irgendwie eine Frage oder Problembeschreibung. Aber man sieht ja auch so, wo es da klemmt: strcmp vergleich char-Arrays, keine longs. Entweder machst du aus z ein char-Array und liest es entsprechend ein, oder du vergleichst dein z einfach direkt mit 1234, ohne strcmp.
  24. Wozu all der Aufwand? Warum schreibst du nicht einfach in eine Textdatei und öffnest sie mit Notepad, wenn du fertig bist? Tastureingaben gehen immer an das Fenster, das den Fokus hat. Das gilt auch für simulierte Tastatureingaben. Ein minimiertes Fenster hat offensichtlich nicht den Fokus.
  25. Die "Klasse des Projektes" wäre bei einer MFC-Dialoganwendung eher CProjektApp. Wenn du die Instanz der Hauptfensterklasse willst: AfxGetMainWnd sollte helfen. Und weil das MFC und nicht Standard-C++ ist: Verschoben -> C++: Compiler, IDEs, APIs.

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...