Zum Inhalt springen

Klotzkopp

Mitglieder
  • Gesamte Inhalte

    9912
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    3

Alle Inhalte von Klotzkopp

  1. Nein, darf "man" nicht. Das passt irgendwie alles nicht zusammen. Warum sollten "deine Lehrer" ausgerechnet dich beauftragen, der ja offenbar keine Ahnung hat, wie er das umsetzen soll?
  2. Wer genau will denn da was genau dokumentieren? Bist du der zuständige Administrator?
  3. Nein, mit einzelnen Variablen geht das nicht. Du musst dir eine passende Datenstruktur ausdenken. Da rein schreibst du dann für jede Eingabe die passende Antwort. Das könnte z.B. eine Tabelle sein oder ein assoziativer Container. In dieser Datenstruktur suchst du dann die Eingabe, und holst die dazugehörige Ausgabe raus. Eine einfache Möglichkeit wäre z.B. eine Map: map<string, string> m; m["hi"] = "Hallo"; m["hallo"] = "Hallo"; // usw. // input einlesen cout << m[input] << '\n';[/code]
  4. Der Header heißt <conio.h>. Ist nicht Standard, aber weit verbreitet. Das automatische Schließen eines Konsolenprogramms verhinderst du aber besser anders: C/C++ Forum :: Automatisches Schließen verhindern Dann tut's auch while( true ) Man kann einer Variablen nicht mehrere Werte zuweisen. Eine Variable hat immer genau einen Wert. Meinst du vielleicht Arrays?
  5. Der Antworter hat keine Ahnung. C++ ist keine "Erweiterung" von C. C ist zum größten Teil in C++ enthalten, aber eben nicht vollständig. Ich empfehle diese Seite: Incompatibilities Between ISO C and ISO C++ Und zu deinem Code: Hast du dich jetzt für C++ entschieden? #include <conio> [B]Gibt's nicht[/B] #include <stdio> [B]Gibt's auch nicht[/B] #include <iostream> #include <string> void main() [B]int main![/B] { using namespace std; bool bla; [b]hier fehlt eine Initialisierung[/b] while ( bool bla=true ) [B]Das ist eine Zuweisung, kein Vergleich. Das bool ist hier auch falsch.[/B] { char input[100]; //als char deklariert weil unten cin.getline() verwendet wird [B]Du kannst std::getline benutzen, dann kannst du auch strings verwenden.[/B] [/code]
  6. Als C funktioniert dein Code nicht. Als C++ nur, weil dein Compiler veraltet ist. Wer ist denn "man"? Das ist nämlich Blödsinn. Es gibt jede Menge Sprachkonstrukte, die gültiges C, aber ungültiges C++ sind. C ist keine "Untermenge" von C++. Wenn du C lernen willst, solltest du keine Elemente aus C++ benutzen. Wenn du C++ lernen willst, solltest du nicht so programmieren, als ob du C benutzt. Die Sprachen mögen verwandt sein, aber die Art und Weise, wie man sie benutzt, kann sich stark unterscheiden. Dein Programm würde in C so aussehen: #include <stdio.h> #include <string.h> int main(void) { char hi[] = "hi"; char input[100]; scanf("%s",input); if(strcmp(hi, input) == 0) { printf("Hallo wie gehts?"); } else { printf("Ich verstehe dich nicht"); } }[/code] Und in C++ so: [code]#include <iostream> #include <string> int main() { using namespace std; string hi("hi"); string input; cin >> input; if(hi == input) { cout << "Hallo wie gehts?"; } else { cout << "Ich verstehe dich nicht"; } }
  7. Du könntest beispielsweise erklären, was du schon versuchst hast, und was dabei nicht geklappt hat. Vielleicht etwas detaillierter als "ein Fehler".
  8. Das funktioniert nie im Leben. Wenn es doch funktioniert, dann nur, weil du den Code als C++ compilierst. C ist das nicht. Du solltest dich entscheiden, ob du C oder C++ lernen willst. Dieser üble Mischmasch bringt dich nicht weiter. Dein Code ist kein gültiges C, und ziemlich hässliches C++.
  9. Ich weiß nicht, womit du dich in diesen 2 Wochen genau beschäftigt hast, aber es scheint mir eher veraltetes C++ gewesen zu sein. <iostream.h> ist ein veralteter C++-Header, weg damit. <cmath.h> gibt's gar nicht, weg damit. Namespaces gibt's in C auch nicht. <stdlib.h> brauchst du nicht, weg damit. Es muss int main heißen, nicht void main. Zeichenketten muss man in char-Arrays ablegen. Du hast da nur einen Zeiger, der nirgendwohin zeigt. Zeichenketten liest man mit %s ein, nicht %c Strings vergleicht man mit strcmp, nicht mit ==.
  10. Ja, zum Teil. <iostream.h> deutet aber auf Prä-Standard-C++ hin.
  11. Welche Programmiersprache soll das denn sein? Das ist weder korrektes C noch C++.
  12. Die Windows-API bietet fast alle Funktion, die mit Strings arbeiten, in zwei Varianten: Multi-Byte und Unicode Es gibt eigentlich keine Funktion namens MessageBox. Es gibt MessageBoxA und MessageBoxW. MessageBox ist nur ein Makro, das je nach Projekteinstellungen entweder auf MessageBoxA (Multi-Byte) oder MessageBoxW (Unicode) verweist. Die Unicode-Versionen haben die Eigenschaften, dass Strings als LP[C]WSTR erwartet werden. In Visual C++ 2008 ist Unicode die Voreinstellung. Du kannst das Problem also auf drei Arten lösen: Stell die Projekteinstellung von Unicode auf Multi-Byte Benutz Wide Char-Literale und WCHAR statt char Ruf explizit MessageBoxA auf (das ist die schlechteste Möglichkeit). Wenn dein Programm beide Einstellungen unterstützen soll, kannst du TCHAR und die dazugehörigen Funktionen benutzen.
  13. Du hast aber doch hoffentlich den Aufruf von GetEnvironmentVariable in die Schleife gesetzt, und nicht nur die Ausgabe, oder?
  14. Der Rückgabewert, nicht der Wert der Umgebungsvariablen. GetEnvironmentVariable gibt ein DWORD zurück. Aber daran liegt es anscheinend sowieso nicht. Ich vermute einfach mal, dass der Mechanismus für das Setzen der Umgebungsvariablen sich nicht auf dein Programm auswirkt. Jeder Prozess hat nämlich seinen eigenen Satz an Umgebungsvariablen. Dein Programm bekommt beim Start eine Kopie, und danach ändert sich nichts mehr. Wie genau setzt denn dieses "andere Programm" die Variable?
  15. Nein, den vom Funktionsaufruf von GetEnvironmentVariable.
  16. Welcher Wert wird denn ausgegeben? Hoffentlich nicht 34.3. Wer setzt denn diese Umgebungsvariable? Und prüf bitte mal den Rückgabewert von GetEnvironmentVariable.
  17. Natürlich kann er. Referenzen sind genauso polymorph wie Zeiger.
  18. Du hast in der Basisklasse eine pure virtual Methode. Wenn du davon erbst, muss die abgeleitete Klasse diese Methode definieren. Und zwar genau diese, nicht eine Überladung. Das ist bei Operatoren nicht anders.
  19. Hast du dich mal ein wenig auf dev.mysql.com umgesehen? Da gibt's auch Downloads. MySQL :: Connector/C 6.0 Für gängige Linuxdistributionen gibt's sicher auch fertige Pakete.
  20. Du musst die C-Clientbibliothek für MySQL natürlich installieren und ggf. in deiner Entwicklungsumgebung die Pfade für Header und Libraries anpassen. Der Code allein reicht nicht.
  21. "Es geht aber nicht" ist keine ausreichende Fehlerbeschreibung. Vermutlich "geht es nicht", weil du versuchst, dich mit localhost zu verbinden. Dort läuft vermutlich kein MySQL-Server. Noch einmal die wichtige Frage: Ist dein Server so eingerichtet, dass die MySQL-Schnittstelle von außen erreichbar ist? Normalerweise ist das nämlich aus Sicherheitsgründen nicht der Fall.
  22. Soll dieses Programm auf dem Server laufen, oder lokal? Ist die MySQL-Netzwerkschnittstelle überhaupt von außen erreichbar? Was sind VBase und VC?
  23. Na dann wieder zurück. Auf dev.mysql.com findest du jede Menge Dokumentation. Was genau ist denn "dein Server"?
  24. Du kannst das nicht genau so benutzen. TDM hatte doch geschrieben, dass er mit ^ "hoch" meint. In C und C++ ist das aber der Operator für bitweises XOR: (2 XOR (4*8)) - 1 = 33
  25. Laut Standard erzeugen arithmetische Überläufe undefiniertes Verhalten. Bei allen mir untergekommenen Compilern ist das Verhalten aber trotzdem definiert. Weil das Ergebnis von sizeof relativ zur Größe von char ist. sizeof(char) ist per Definition 1. Weil das nicht festgelegt ist. Ein char könnte auch 7 oder 9 oder 23 Bit haben. Dafür gibt es CHAR_BIT. Aber auch hier ist mir persönlich noch kein System begegnet, wo das nicht 8 war.

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