Alle Beiträge von Klotzkopp
-
Sortieren eines CString Arrays
Ich frage mich, wie du darauf kommst, dass ich das bin. qsort erwartet als letzten Parameter einen Zeiger auf eine Funktion, die so aussieht: int NameEgal(const void*, const void*); Erstens ist KundenListe::Vergleich() kein Funktionszeiger, sondern ein Funktionsaufruf. Die Klammern sind zuviel. Zweitens passt die Signatur der Funktion nicht. KundenListe::Vergleich ist eine nichtstatische Memberfunktion und hat den Typ int(KundenListe::*)(). Du musst Vergleich entweder statisch machen oder nicht-Member. Außerdem musst du die const void*-Parameter hinzufügen. Hier fehlen beim ersten GetNName die Klammern. Nachtrag: In Vergleich darf natürlich auch keine Schleife sein. Über die Parameter erhältst du die beiden Zeiger, die du vergleichen sollst.
-
Tab Control und List Control keine Kommunikation
Ich verstehe gerade das Problem nicht. Wie greifst du auf das Eingabefeld zu, und was meinst du mit "Setter Methoden"?
-
Sortieren eines CString Arrays
Nein, nicht "am besten". Ich halte es für eine Frechheit, derart viel Code abzuladen, und dann die Fehlerbeschreibung auf "ich weiß nicht weiter" zu beschränken.
-
Prüfen, ob char im ASCII-Bereich ist
Der cast nach int bewirkt hier nichts, daher kannst du ihn auch weglassen. bool isInASCII(char ch) { return ch > 65 && ch < 122; }[/CODE] Aber bist du sicher, dass du nicht >= 65 meinst?
-
CString, der böhse Feind ;-))
Das knallt nicht. CString hat einen Konvertierungsoperator, der hier aufgerufen wird. Genau deswegen ist es aber auch komplett unnötig.
-
*.cab - Datei Signieren
Hier schon nachgelesen? http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/Creating_Signed_CAB_Files_for_MFC_and_ATL_Controls.asp
-
Struktur-Array dynamisch erweitern
Ganz genauso.
-
Struktur-Array dynamisch erweitern
#include <vector> struct basis { int wert1; int wert2; int wert3; }; std::vector<basis> Datenbasis; int main() { // 1. ermitteln der Anzahl erfolgt hier irgendwo und wird in int-Variablen x gespeichert Datenbasis.resize(x); // dann passiert noch mehr // 2. kann man hier noch mehr speicher reservieren? Datenbasis.resize(neue_groesse); // hier wird gerechnet // 3. Speicher freigeben // fällt weg, macht der vector }[/CODE] Statt resize kannst du auch neue Elemente mit push_back anhängen.
-
Struktur-Array dynamisch erweitern
Muss es ein Array sein? Warum benutzt du keinen vector?
-
Gesucht wird ein C++ Editior (kostenlos und grafisch)
Habe ich doch schon geschrieben. Funktioniert das nicht?
-
Absturz duch eine unbekannte exception!!!
Das eigentlich Problem ist ja nun gelöst.
-
Gesucht wird ein C++ Editior (kostenlos und grafisch)
Das ist dann ein Feature der Entwicklungsumgebung. Wenn du das erstellte Programm außerhalb der IDE startest, sollte es sich am Ende eigentlich auch sofort schließen.
-
Gesucht wird ein C++ Editior (kostenlos und grafisch)
Es ist völlig normal, dass sich das Fenster sofort schließt, wenn das Programm beendet ist. Wenn du das nicht willst, musst du dafür sorgen, dass das Programm nach der letzten Ausgabe noch wartet, z.B. indem du eine weitere Eingabe einliest: char c; cin >> c;[/CODE]
-
Absturz duch eine unbekannte exception!!!
Hast du dich vielleicht verlesen? http://msdn.microsoft.com/library/en-us/vclib/html/_mfc_crecordset.3a3a.open.asp Da steht unter Exceptions: Der Stern ist insofern wichtig, als CDBException ein anderer Typ ist als CDBException*. Das eine ist die Klasse selbst, das andere ist ein Zeiger auf die Klasse. Und bei catch muss der Typ passen.
-
VBA // docmd.sendObject - Funktion
Das ist ein Sicherheitsfeature von Outlook. Ich bezweifle, dass man das programmiertechnisch umgehen kann, sonst wäre es ein sehr schlechtes Sicherheitsfeature.
-
Cooles Online Rollenspiel
Keine Sorge, hab PVP-Immunität.
-
???Hash-Maps voll langsam und bugbehaftet???
Kannst du dafür ein Beispiel geben? Da der Standard nicht vorschreibt, wie die Containerklassen zu implementieren sind, kann man da keine pauschale Antwort geben. Welche STL-Implementierung benutzt du?
-
Cooles Online Rollenspiel
Ich hab momentan leider keine Zeit. Das Echte Leben[tm] holt mich immer wieder ein
-
Absturz duch eine unbekannte exception!!!
CRecordset::Open kann CDBException* (und CMemoryException*) werfen. Die Sternchen sind wichtig.
-
Coumputer English
Das habe ich doch geschrieben: count gibt die Anzahl der Elemente an, die gerade auf dem Stapel liegen, size gibt an, wie viele Element maximal reinpassen. Das ist, wie gesagt, nur eine Vermutung. Ohne die Implentierung der Klasse kann man da nur spekulieren. Pop soll den obersten Wert auf dem Stapel an den Aufrufer zurückgeben. Da das offensichtlich nicht über den Rückgabewert geschieht - denn der ist bool, anscheinend ein Fehlercode - geht das nur über einen Zeiger- oder Referenzparameter. Bei Push ist das nicht notwendig.
-
Coumputer English
Push ist der Vorgang, bei dem ein Element auf den Stapel gelegt wird. Pop bedeutet, dass man das oberste Element wieder herunternimmt. Eine sinnvolle Übersetzung fällt mir dazu nicht ein. Die übrigen Begriffe sind eigentlich nicht computerspezifisch: size: Größe count: Anzahl average: Durchschnitt value: Wert data: Daten Ohne jetzt die Implementierung der Klasse zu kennen, vermute ich, dass count die aktuelle Anzahl der Elemente auf dem Stapel ist, und size die maximale.
-
Coumputer English
Kennst du die Datenstruktur, die man gewöhnlich als Stapel (englisch: Stack) bezeichnet? Falls nicht, müsste ich etwas weiter ausholen.
-
CL - Compiler
/I<Verzeichnis> Mit cl /? bekommst du übrigens eine Übersicht.
-
Probleme mit Dateien
Du solltest unbedingt auf die globalen Dateiströme verzichten. Und wenn schon globale Variablen, dann nicht in einer Headerdatei. Außerdem sollte das Symbol für den #include-Wächter einheitlich sein, entweder kunde oder _kunde (wobei beide schlechte Namen für #include-Wächter-Symbole sind).
-
Programm zur Nullstellenberechnung als Projektarbeit - Empfehlenswert?
Wieviel Zeit ist denn für die Projektarbeit geplant? So ein Nullstellensuchprogramm kann nämlich praktisch beliebig kompliziert werden. 1. Eingabe Soll der Benutzer die Funktionsvorschrift selbst eingeben können (d.h. du hast einen String "y = 2*x*x - 4") oder soll die Funktionsvorschrift als gültiger Code im Quelltext stehen? Im ersten Fall musst du einen Parser schreiben, der den String zerlegt und auswertet. Keine einfache Aufgabe, schon gar nicht für einen Anfänger. Im zweiten Fall bleibt dir das erspart, aber das Programm ist dadurch weniger benutzerfreundlich, und du nimmst dir die Möglichkeit der symbolischen Verarbeitung (siehe Punkt 2). 2. Verarbeitung Sollen die Nullstellen rein numerisch gesucht werden (d.h. durch wiederholtes Einsetzen und Ausprobieren) oder soll die Funktionsgleichung Null gesetzt und nach x aufgelöst werden? Im ersten Fall musst du mit Genauigkeitsproblemen rechnen. Im zweiten Fall (setzt einen Parser voraus) musst du die algebraischen Gesetze auf die vom Parser erzeugte Datenstruktur anwenden. Auch keine einfache Aufgabe. Was ganz gut funktionieren könnte: Du könntest dich auf bestimmte Arten von Funktionen beschränken, z.B. lineare. Der Benutzer kann nur die Koeffizienten eingeben (dadurch brauchst du keinen Parser). Wenn das gut läuft, kannst du noch quadratische Funktionen dazu nehmen. Alles andere dürfte den Rahmen der Projektarbeit sprengen.