PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [C++] Strich Film



thorbinger
05.08.2007, 16:33
Halli Hallöchen :)
Ich möchte gerne einen (ersteinmal) kurzen Strich Film in C++ machen.
Das soll heißen es soll ein Strichmännchen zu sehen sein, das die Arme bewegt. So:
0 \0/
/|\ |
/ \ / \

Dann habe ich das hier geschrieben:


#include <iostream>
#include <windows.h>

using namespace std;


int main()
{
cout << " 0 " << endl;
cout << " /|\ " << endl;
cout << " / \ " << endl;
Sleep(1000);
system("cls");

cout << " \0/ " << endl;
cout << " | " << endl;
cout << " / \ " << endl;
Sleep(1000);
system("cls");

cout << " 0 " << endl;
cout << " /|\ " << endl;
cout << " / \ " << endl;
Sleep(1000);
system("cls");

cout << " \0/ " << endl;
cout << " | " << endl;
cout << " / \ " << endl;
Sleep(1000);
system("cls");

cout << " 0 " << endl;
cout << " /|\ " << endl;
cout << " / \ " << endl;
Sleep(1000);
system("cls");

cout << " \0/ " << endl;
cout << " | " << endl;
cout << " / \ " << endl;
Sleep(1000);
system("cls");

cout << " 0 " << endl;
cout << " /|\ " << endl;
cout << " / \ " << endl;
Sleep(1000);
system("cls");

cout << " \0/ " << endl;
cout << " | " << endl;
cout << " / \ " << endl;
Sleep(1000);
system("cls");

cout << " 0 " << endl;
cout << " /|\ " << endl;
cout << " / \ " << endl;
Sleep(1000);
system("cls");
cout << " \0/ " << endl;
cout << " | " << endl;
cout << " / \ " << endl;
Sleep(1000);
system("cls");


getchar();
getchar();
return 0;
}

Beim Compilen kommt schon immer der Fehler: "[Warning] ´\040´"
Beim öffnen der .exe "verschlingt" das "\" sozusagen alles was hinter ihm steht.:(
Wie kann ich das verhindern?

Rolus
05.08.2007, 16:36
Der Backslash ist ein Escape-Zeichen. Damit lassen sich die folgenden Zeichen gewissermaßen neutralisieren. Um den Backslash auszugeben, muss man ihn selbst escapen, also zwei Backslashes (\\) statt einem.

freundliche Grüße, Rolus

Daepilin
05.08.2007, 16:36
1. wofür ist diw windows.h eingebunden? afaik brauchst du die hier nicht.
2. \ ist in c++ ein kontrollzeichen. wenn du eins abbilden willst, musst du immer 2 davon machen.

traxer
05.08.2007, 18:25
1. wofür ist diw windows.h eingebunden? afaik brauchst du die hier nicht.

Sleep(); (http://msdn.microsoft.com/en-us/library/ms686298.aspx)

Daepilin
05.08.2007, 18:26
hat nicht auch c++ ohne die windows.h ne funktion zum warten?

Kevinius
05.08.2007, 18:31
Ja sleep();

Sleep() ist das windows API Pendant. Afaik wartet sleep() nur in ganzen Sekunden, Sleep() jedoch in Millisekunden Genauigkeit.

traxer
05.08.2007, 18:32
hat nicht auch c++ ohne die windows.h ne funktion zum warten?

Glaube ich kaum. Einen Prozess schlafen zu legen ist inherent unportabel. Es gibt eine Version in unistd.h (mit kleinem Anfangsbuchstaben; die in Windows auch funktionieren könnte, Windows NT 4 hatte ein POSIX-Subsystem) die erwartet aber die Anzahl der Sekunden als Parameter.