Braucht ihr einen neuen PC oder Hilfe beim (Web-)Programmieren? Stimmt etwas mit eurem Browser nicht? Themen rund um Hardware, Software, Internet sind hier herzlich willkommen.
Antwort schreiben

C++ Programmier-Schule: Lektion2

Do 23. Dez 2010, 13:35

Nach der langen pause ein Willkommen zu Lektion 2
Thema: if-else Verzweigungen und der cin Operator

Schritt1: Vorbereitungen!
Führt als 1. Die Schritte 1-3 von Lektion1 aus.

Schritt2: Das Programm!
So, in dieser Lektion wollen wir ein Programm schreiben was einen fragt ob man männlich oder weiblich ist, und es anschließend ausgibt.
Als 1. Kommt die Frage, diese schreiben wir ganz einfach über die cout Funktion die wir schon aus Lektion 1 kennen:
Code:
std::cout << "Sind sie männlich <m> oder weiblich <w>?\n"

Jetzt fragt das Programm einen bereits, aber mehr passiert noch nicht, das werden wir jetzt beheben:
Als 1. Definieren wir über dem Anfang der main Funktion eine variable mit dem Namen Frage:
Code:
std::string frage;

So, jetzt kommt das 1. Neue in dieser Lektion: Der cin Operator :
Code:
std::cin >> variable;

Das std:: kennen wir bereits aus der 1. Lektion, cin wartet auf eine Benutzereingabe und füllt anschließend eine Variable damit, danach kommt >> und danach der Name der jeweiligen Variable, in unserem fall also:
Code:
std::cin >> frage;

Bis jetzt sieht unser Code so aus:
Code:
// Lektion 2.cpp : Definiert den Einstiegspunkt für die Konsolenanwendung.
//

#include "stdafx.h"
#include <cstdlib>
#include <iostream>
#include <string>

std::string frage;

int _tmain(int argc, _TCHAR* argv[])
{
   std::cout << "Sind sie männlich <m> oder weiblich <w>?\n"
   std::cin >> frage;
   system ("PAUSE");
   return 0;
}



Wir haben nun eine Frage, und man kann darauf antworten, jetzt muss die Antwort nur noch ausgegeben werden: dafür brauchen wir if-else Verzwigungen:
Code:
If (bedingung) {
Anweisung;
}
else {
Anweisung;
}

In unserem fall wollen wir das wenn der Benutzer m eingibt, das dann auf dem Bildschirm steht das er männlich ist, und wenn er w eingibt das er weiblich ist, also müssen wir die Variable entsprechend umwandeln:
Code:
if (frage == "m") {
      frage = "maennlich\n";
   }
   if (frage == "w") {
      frage = "weiblich\n";
   }
   std::cout << "sie sind: ";
   std::cout << frage;


Schritt3: Hausaufgaben!
Schreibt ein Programm das einen fragt ob man Glumanda, Schiggy oder Bisasam möchte, und das dementsprechend ausgibt.
Deadline: gibt´s diesmal nicht, letztes mal hat nur einer abgegeben -.-

Do 23. Dez 2010, 13:35

Re: Lektion2

Fr 24. Dez 2010, 15:24

Ich fände es noch wichtig, zu erwähnen, dass in den if-Abfragen für "ist gleich wie" ein '==' stehen muss, und kein '='. ('=' setzt eine Variable auf einen Wert, '==' vergleicht zwei Werte.)
Das ist ein sehr häufiger Anfängerfehler, und der Kompiler bemerkt diesen auch nicht, was die Fehlersuche erschwert,
von daher sollte man sich das möglichst gut einprägen. ^-^
Ansonsten eine gute Lektion. Hat Spass gemacht. :3

Ach ja, ich wollte noch fragen, ob es in C++ eine Art "wait"-Befehl gibt, also dass die Engine für eine gewisse Anzahl Sekunden oder Frames pausiert.
LG

Re: Lektion2

Fr 24. Dez 2010, 19:33

Hopfel hat geschrieben:Ach ja, ich wollte noch fragen, ob es in C++ eine Art "wait"-Befehl gibt, also dass die Engine für eine gewisse Anzahl Sekunden oder Frames pausiert.
LG

ja gibt es^^
heist sleep, die dauer des stillstandes muss dabei in millisekunden angegeben werden:
sleep(anzahl millisekunden);
also für 1 sekunde:
sleep(1000);
ich hoffe ich konnte helfen^^

Re: Lektion2

Sa 25. Dez 2010, 10:21

ja gibt es^^
heist sleep, die dauer des stillstandes muss dabei in millisekunden angegeben werden:
sleep(anzahl millisekunden);
also für 1 sekunde:
sleep(1000);
ich hoffe ich konnte helfen^^

Jap, das ist genau das Richtige. ^-^
Danke dir. :3
Antwort schreiben



Bei iphpbb3.com bekommen Sie ein kostenloses Forum mit vielen tollen Extras
Forum kostenlos einrichten - Hot Topics - Tags
Beliebteste Themen: Forum, Erde, Pokemon, Spiele, NES

Impressum | Datenschutz