Verfügbare Informationen zu "C++ Tutorial (by progger)"
Qualität des Beitrags: Beteiligte Poster: progger Forum: Tutorials.at Forenbeschreibung: Programmierforum aus dem Unterforum: C / C++ Antworten: 2 Forum gestartet am: Mittwoch 19.04.2006 Sprache: deutsch Link zum Originaltopic: C++ Tutorial (by progger) Letzte Antwort: vor 17 Jahren, 7 Monaten, 30 Tagen, 18 Stunden, 7 Minuten
Alle Beiträge und Antworten zu "C++ Tutorial (by progger)"
Re: C++ Tutorial (by progger)
progger - 25.08.2006, 09:58C++ Tutorial (by progger)
Index
1.) Eine Kurze Anmerkung und die Grundlagen
Vorwort
Eigenschaften von C++
Erstes Programm (Hello world)
Texteingaben
2.) Mehr über Streams
Ganzahlmanipulatoren
Fließkommermanipulatoren
Ein einfaches Beispiel
Eine Zeile einlesen
Vorwort
So, da hier mit den Tutorials nichts weiter geht dachte ich mir ich sollte mal eines schreiben. Dieses Tutorial behandelt C++ und man sollte das C Tutorial schon durchgearbeitet haben. Bitte hier nichts hinein Posten! Ich werd ein anderes Themer eröffnen damit ihr dort eure Fragen stellen könnt. Warum nicht hier Posten?
Ganz einfach weil ich das Tutorial von Zeit zu Zeit erweitern werde und wenn hier Leute rein-Posten muss man immer wieder die neuen Sachen suchen.
Falls ihr Rechtschreibfehler findet (werdert ihr sicher genug :D) könnt ihr mich gerne darauf hinweisen. Auserdem bitte ich euch eure (Konstruktive) Kritik mir Mitzuteilen. In ferner Zukunft werde ich dann vielleicht ein weiteres Tutorial schreiben, jedoch steht das noch in den Sternen
Tja dann bleibt mir nur noch zu sagen Viel Spass bei meinem Tutorial! Möglicherweise funktionieren bei meinen Beispielen nicht alle auf jedem Compiler, ich bitte das mir solche Fehler mitgeteilt werden.
Eigenschaften von C++
C++ ist eine Hybridsprache (Misch) daher sie ist keine rein objektorientierte Sprache. Mit C++ hat man alle möglichkeiten die man mit C auch hat. Zu den erneuerungen gehören zum Beispiel
Streams
Die Klasse string
Namensbereiche
Methoden (?)
Klassen
uvm. Mit C++ kann man schnelle, kleine Programme schreiben. Auserdem ist C++ Plattform unabhängig und maschinennah.
Erstes Programm (Hello world)
Code: #include <iostream>
using namespace std;
int main(void)
{
cout << "Hello world" << endl;
return 0;
}
Die C++-ISO-Norm schreibt vor, dass das Ergebnis von main vom Typ int sein muss. Ein Programm, bei dem das Ergebnis von main nicht vom Typ int ist, ist kein gültiges Programm im Sinne der C++-ISO-Norm (ISO-14882).
Falls euer Programm sich sofort beendet könnt ihr nach der cout Anweisung cin.get(); hinschreiben. Das bewirkt das erst nach einem Tastendruck beendet wird.
Ich spar mir jetzt das ganze gefasel von globalen Funktionen und includateien. Die erste erneuerung ist die headerdatei iostream, sie entählt die Vereinbarungen für die Ein-/-Ausgaben (istream/ostream). Der Begriff Stream (dt. Strom) steht für nichts anderes als dass die Zeichenfolgen wie ein Datenstrom behandelt wird. Zu den Namespaces werde ich später noch genaueres sagen.
Der manipulator endl bewirkt ein neue Zeile und eine Synchronisation. Er sollte nicht zu oft verwendet werden da er sonst das Programm langsamer machen könnte.
Ein Vorteil der regelmäßigen Verwendung des Manipulators endl; ist dessen Auswirkung bei der Programmentwicklung: Falls ein Programm durch einen Fehler verfrüht abgebrochen wird, dann sind alle so abgeschlossenen Zeilen nach dem Abbruch sichtbar und können hilfreiche Informationen zur Fehlersuche geben.
Cout (Console Output) ist eine der zwei Anweisungen in unserem Programm. Cout ist ungefähr ähnlich mit printf, auf die unterschiede werd ich später noch eingehen.
Die shift Operatoren << sind zur ausgabe, >> wiederum zur Eingabe.
Return 0 dürfte bekannt sein. Später werden wir es noch brauchen bei der Fehlerbehandlung.
Texteingaben
Jetzt schreiben wir ein Programm das ein Zeichen von der Tastatur einlesen soll und danach wieder ausgibt. Dazu benötigen wir die Anweisung cin (Console Input).Cin ist die Standardt eingabe der Headerdatei istream.
Code: #include <iostream>
using namespace std;
int main(void)
{
char ch;
cout << "Ein Zeichen eingeben\n";
cin >> ch;
cout << "Das Zeichen das sie eingegeben haben ist: " << ch << endl;
cin.clear();
cin.ignore(cin.rdbuf()->in_avail());
cin.get();
return 0;
}
Wie ihr seht ist cin viel bequemer um Eingaben einzulesen als scanf. Abschliesen muss man das ganze natürlich wieder mit dem
Semikolon ( ; ).
Unter umständen reicht cin.get nicht aus um das schließen des Fensters zu verhindern. Dann kann man mit cin.clear(); cin.ignore(cin.rdbuf()->in_avail()); cin.get(); den Eingabepuffer löschen.
Kurze Erklärung: cin.clear() versetzt cin wieder in den Ursprungsstatus (zB Fehler werden wieder zurückgesetzt). cin.ignore(cin.rdbuf()->in_avail()); löscht alle Zeichen die noch im Eingabepuffer stehen. Wieso das so sein kann? Ein ganz einfaches Beispiel: Wenn das Programm ein Zeichen einlesen soll, der Benutzer aber zwei eingibt so bleibt ein Zeichen im Puffer und das Programm schließt sich ungewollt.
Re: C++ Tutorial (by progger)
progger - 25.08.2006, 12:24
Ganzahlmanipulatoren
C++ stellt eine große reihe an Manipulatoren zu verfügung um die Textausgaben zu formatieren. In dieser Liste seht ihr die wichtigsten für die formatierung von Ganzzahlen.(1,2,3, ... 9239429349, ...)
Manipulatoren Wirkung
oct Oktale Darstellung
hex Hexadezimale Darstellung
dec Dezimale Darstellung (Standard)
showpos Positive Zahlen werden mit Vorzeichen ausgegeben
noshopos Positive Zahlen werden ohne Vorzeichen
ausgegeben (Standard)
uppercase Bei der Ausgabe werden Großsbruchstaben
verwende
nouppercase Bei der Ausgabe werden Kleinbuchstaben
verwendet (Standard)
Wenn man die Ganzahl 11 in Hexadezimal ausgeben will und in Großbuchstaben sieht das ganze dann so aus:
cout << hex << uppercase << 11; // Ausgabe B
Hexerdezimale bzw oktale zahlen werden immer ohne Vorzeichen interpretiert!
Fließkommermanipulatoren
Hier die Tabelle für Gleitpunktzahlen (1.2, 1.23423, ...).
Manipulatoren Wirkung
showpoint Der Dezimalpunkt wird immer angezeigt.
noshowpoint Die Abschließenden Nullen hinter dem Punkt werden nicht angezeigt (Standard)
fixed Darstellung als Festpunktzahl
scientific Darstellung in exponentieller Darstellung
setprecision(x) Setzt die genauigkeit auf x.D.h. statt x die gewünschte Zahl eingeben.
Zu beachten is das bei dem Manipulator setprecision die Header Datei iomanip gebraucht wird. Die genauigkeit bezieht sich NICHT nur auf die Nachkommerstellen.
Ein einfaches Beispiel
Code: #include <iostream>
#include <iomanip>
using namespace std;
int main (void)
{
double f =3.14159;
cout << setprecision (5) << f << endl;
cout << setprecision (2) << f << endl;
cin.get();
return 0;
}
Eine Zeile einlesen
Mit dem shift Operator >> kann nur ein Wort eingelesen werden. Um eine ganze Zeile einzulesen verwendet man am besten die Funktion getline().
Beispiel: getline(cin, text);
Hier wird solange ein Text eingeles bis das Newline Zeichen auftritt( Wenn mit "Enter" die eingabe bestätigt wird).
Als drittes Argument kann auch ein anders Begrenzungszeichen eingegeben werden, als das Newline Zeichen.
Mit folgendem Code, können Sie den Beitrag ganz bequem auf ihrer Homepage verlinken
Weitere Beiträge aus dem Forum Tutorials.at
Turbo C Problem! (Umfrage nur nebenbei) - gepostet von ChillerT am Dienstag 06.02.2007
Turbo C - gepostet von Mei$ter A^ am Montag 24.04.2006
könnt ihr mir helfen??? - gepostet von MaRcO123 am Dienstag 05.06.2007
Problem mit Repeat-Schleife - gepostet von orluk am Samstag 11.08.2007
Pascal - Tutorial fertig - was jetzt ? - gepostet von jan040793 am Sonntag 18.11.2007
Fenstergröße - gepostet von metzel-monkey am Dienstag 30.05.2006
Mein Würfelprogramm funktioniert nicht richtig... - gepostet von Godmaster am Samstag 23.09.2006
c/c++? - gepostet von pYp am Montag 04.09.2006
Ähnliche Beiträge wie "C++ Tutorial (by progger)"
TUTORIAL: Veränderung von Augenfarben (von maggie) - maggie (Donnerstag 16.08.2007)
Tutorial charawechsel - Shino Aburame (Mittwoch 22.08.2007)
Tutorial Schneiderladen - bacocab (Mittwoch 05.01.2005)
Tutorial Glitzerschrift - ricky1 (Freitag 05.01.2007)
Ventile einstellen Tutorial - LazyJones (Freitag 27.04.2007)
C++ Tutorial - E-th4X[CREW] (Sonntag 30.07.2006)
[Videotutorial] Adboard Creating Tutorial by =>N4P4sT4< - Fastdog [ad] (Donnerstag 22.02.2007)
Metall-Avatar Tutorial (animiert) - oileee (Montag 04.06.2007)
Fraps + Tutorial - Nonchi_NPL (Mittwoch 18.07.2007)
TUTORIAL heute: wie man dateien runterlädt - Robin (Freitag 09.12.2005)