C++ Tutorial (by progger)

Tutorials.at
Verfügbare Informationen zu "C++ Tutorial (by progger)"

  • Qualität des Beitrags: 0 Sterne
  • 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:58

    C++ 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)