004
23.02.2004, 18:51 Uhr
Pablo
Supertux (Operator)
|
Nein, nicht so schnell.
1. "Haus" ist ein Teil des Textes an std::cout geschickt wid. In C/C++ benutzt man ", um Zeichenketten zu bezeichnen. Das Problem ist, wie kann ich auf den Bildschirm das Zeichen " drucken, wenn " ein reserviertes Zeichen ist? Dafür gibt es eine Lösung. Es gibt manche Zeichen, die reserviert sind, d.h. man kann sie nicht einfach so benutzen, aber wenn man das Zeichen \ davor steht, sind sie normale Zeichen, deshalb hat mike \"Hallo\" geschrieben, damit, "Hallo" (mit Einführungszeichen) auf den Bildschirm kommt.
Also bekommst du beim Ausführen: Bitte geben Sie das Wort "Haus" ein: using namespace std; 2. Nein, foo und bar sind beide verschiedene Variablen. In C gibt es Zeichen. Und die bestehen nur aus einem Buchstabe. Ein einziges Zeichen weist man mit ' ' zu, d.h. "a" ist ein Zeichenkette, 'a' ist nur ein Zeichen.
Jedes Zeichen, das du siehst, es sein ein Buchstabe oder ein Zahl, oder z.b. ?-Zeichen, alle haben einen Code. Und das ist der ASCII-Code. Wenn du sowas hast wie x=1; bedeutet, dass zu den arithmetischen 1 der Variable x zuweist. Aber x='1'; heißt, dass du das Zeichen 1, als Zeichen, der Variable x zuweist. Man könnte das auch so sagen. Ich weise der Variable x den ASCII Code des Zeichens '1' zu.
Zeichen sind von typ char, man kann mit dem casting (int) in den Code umwandeln, wie ich oben gemacht habe. Weil char im Prinzip w ein int ist, welches kein Vorzeichen hat und viel wenige Werte annhemen kann.
3. Bzgl using namespace std; ja
4.
C++: |
if (foobar == 7297117115)
|
Das ist komplett falsch. Eine Zeichenkette ist ein Array von mehrern chars, d.h. du müsstest Zeichen für Zeichen vergelichen.
C++: |
if (foobar[0]=='H' && foobar[1]=='a' && foobar[2]=='u' && foobar[3]=='s' && foobar[4]=='\0')
|
Aber dafür gibt es Funktionen in der Standardliberieren. In C:
C++: |
#include <stdio.h> #include <string.h> int main() { char* x= "Haus"; if (strcmp(x, "Haus")==0) printf("Ja, x enthält das Wort Haus\n"); else printf("Nein, x enthält nicht das Wort Haus\n"); return 0; }
|
In C++ da kannst du die Klasse string benutzen, das macht die Sachen viel einfacher
C++: |
#include <iostream> #include <string> using namespace std; int main() { string x = "Haus"; if(x=="Haus") cout << "Ja, x enthält das Wort Haus" << endl; else cout << "Nein, x enthält nicht das Wort Haus" << endl; return 0; }
|
-- A! Elbereth Gilthoniel! silivren penna míriel o menel aglar elenath, Gilthoniel, A! Elbereth! |