Einführung in I/O und File-Handling in C ++

Größe: px
Ab Seite anzeigen:

Download "Einführung in I/O und File-Handling in C ++"

Transkript

1

2 1/34 Einführung in I/O und File-Handling in C ++ Florian Adamsky, B. Sc. (PhD cand.) florian.adamsky@iem.thm.de cbd Softwareentwicklung im WS 2014/15

3 2/34 Outline 1 Grundlagen Compilevorgang 2 Ein- und Ausgabe Grundlagen Ausgabe Eingabe 3 File Handling Streams und Buffer Schreiben in eine Datei Lesen einer Datei Serialisierung Fehlerbehandlung

4 3/34 Inhaltsverzeichnis 1 Grundlagen Compilevorgang 2 Ein- und Ausgabe Grundlagen Ausgabe Eingabe 3 File Handling Streams und Buffer Schreiben in eine Datei Lesen einer Datei Serialisierung Fehlerbehandlung

5 Compilevorgang Quelltext int main() { if (a < b) cout << ffoo``; do while z = x - y; cin >> var; return 0; }

6 Compilevorgang Quelltext int main() { if (a < b) cout << ffoo``; do while z = x - y; cin >> var; return 0; } compile Objekt-Datei (LIB REF) (LIB REF)

7 4/34 Compilevorgang Quelltext Objekt-Datei Binär-Datei int main() { if (a < b) cout << ffoo``; do while z = x - y; cin >> var; return 0; } compile (LIB REF) (LIB REF) linken Bibliothek

8 5/34 Entwicklungsumgebung IDE Code::Blocks Visual C++ Express visualstudio/eng/products/ visual-studio-2010-express Eclipse CDT Texteditor Sublime Text 2 Notepad++ Emacs http: //

9 6/34 Inhaltsverzeichnis 1 Grundlagen Compilevorgang 2 Ein- und Ausgabe Grundlagen Ausgabe Eingabe 3 File Handling Streams und Buffer Schreiben in eine Datei Lesen einer Datei Serialisierung Fehlerbehandlung

10 Standard-Datenströme Tastatur Programm Monitor

11 Standard-Datenströme Tastatur (1) stdin std::cin Programm Monitor

12 Standard-Datenströme Tastatur (1) stdin Monitor std::cin (2) stdout std::cout Programm

13 7/34 Standard-Datenströme Tastatur Monitor (1) stdin std::cin (2) stdout std::cout (3) stderr std::cerr Programm

14 8/34 Ausgabeoperator << Um die Standard Ein- und Ausgabefunktionen von C++ zu nutzen, ist es notwendig die folgende Datei zu inkludieren: #include <iostream> Mit der Methode cout weisen Sie C++ an, Informationen auszugeben: cout << "Ihre Eingabe: " << eingabe << endl; Der Ausgabeoperator (engl. Insertation Operator) << zeigt in die Richtung in die die Daten fließen und verkettet mehrere Daten miteinander

15 9/34 Manipulatoren Manipulatoren dienen dazu die Ein- und Ausgabe zu formatieren Der Manipulator endl fügt eine neue Zeile in den Ausgabestrom ein Über die Header-Datei iomanip können weitere Manipulatoren geladen werden: Manipulator endl setw(n) left right setfill(c) dec oct hex Bedeutung Fügt neue Zeile ein Abstand mit n Stellen linksbündig rechtsbündig c als Füllzeichen benutzen Stellt Zahl in dezimal dar Stellt Zahl in oktal dar Stellt Zahl in hexadezimal dar

16 10/34 Fließkomma-Manipulatoren Manipulatoren showpoint noshowpoint scientific fixed setprecision(n) Bedeutung Zeige Dezimalpunkt mit Nachkommastellen an Nur relevante Stellen werden ausgegeben Ausgabe in wissenschaftlicher Darstellung Festgelegte Nachkommastelle Genauigkeit mit n Stelle

17 Beispiel Quelltext #include <iostream> using namespace std;

18 11/34 Beispiel Quelltext #include <iostream> using namespace std; int main(void) { // Ausgabe cout << "Hello World" << endl; } int zahl = 42; cout << "Sinn des Leben ist " << zahl << endl;

19 11/34 Beispiel Quelltext #include <iostream> using namespace std; Ausgabe $./foo Hello World Sinn des Leben ist 42 int main(void) { // Ausgabe cout << "Hello World" << endl; compiliert } int zahl = 42; cout << "Sinn des Leben ist " << zahl << endl;

20 12/34 Beispiele für Fließkommazahlen Quelltext double irratio = sqrt(2); Ausgabe

21 12/34 Beispiele für Fließkommazahlen Quelltext double irratio = sqrt(2); cout << irratio; Ausgabe

22 12/34 Beispiele für Fließkommazahlen Quelltext double irratio = sqrt(2); cout << irratio; Ausgabe

23 12/34 Beispiele für Fließkommazahlen Quelltext double irratio = sqrt(2); cout << irratio; Ausgabe cout << setprecision(2) << irratio;

24 12/34 Beispiele für Fließkommazahlen Quelltext double irratio = sqrt(2); cout << irratio; Ausgabe cout << setprecision(2) << irratio; 1.4

25 12/34 Beispiele für Fließkommazahlen Quelltext double irratio = sqrt(2); cout << irratio; Ausgabe cout << setprecision(2) << irratio; 1.4 cout << fixed << setprecision(2)<< irratio;

26 12/34 Beispiele für Fließkommazahlen Quelltext double irratio = sqrt(2); cout << irratio; Ausgabe cout << setprecision(2) << irratio; 1.4 cout << fixed << setprecision(2)<< irratio; 1.41

27 12/34 Beispiele für Fließkommazahlen Quelltext double irratio = sqrt(2); cout << irratio; Ausgabe cout << setprecision(2) << irratio; 1.4 cout << fixed << setprecision(2)<< irratio; 1.41 cout << scientific<< setprecision(5) << irratio;

28 12/34 Beispiele für Fließkommazahlen Quelltext double irratio = sqrt(2); cout << irratio; Ausgabe cout << setprecision(2) << irratio; 1.4 cout << fixed << setprecision(2)<< irratio; 1.41 cout << scientific<< setprecision(5) << irratio; e+00

29 13/34 Fehlerausgabe Um Fehler auszugeben verwendet man die Methode cerr: Example (Fehlermeldungen) if (success) cout << "Alles in Ordnung" << endl; else cerr << "Fehler" << endl; Ausgabe fließt in den Kanal stderr (2), der jedoch standardmäßig mit stdout (1) verbunden ist Durch die verschiedenen Kanäle kann man Fehlermeldungen umlenken: $./programm 2>fehlermeldungen.txt

30 14/34 Eingabeoperator >> Um die Standard Ein- und Ausgabefunktionen von C++ zu nutzen, ist es notwendig die folgende Datei zu inkludieren: #include <iostream> Um eine Eingabe in einer Variable zu speichern, benutzt man die Methode cin: cin >> eingabe; Der Eingabeoperator >> berücksichtigt den Datentyp

31 Beispiel Quelltext #include <iostream> using namespace std;

32 15/34 Beispiel Quelltext #include <iostream> using namespace std; int main(void) { int zahl1; double zahl2; char zeichen; } cin >> zahl1; cin >> zahl2; cin >> zeichen;

33 16/34 Inhaltsverzeichnis 1 Grundlagen Compilevorgang 2 Ein- und Ausgabe Grundlagen Ausgabe Eingabe 3 File Handling Streams und Buffer Schreiben in eine Datei Lesen einer Datei Serialisierung Fehlerbehandlung

34 17/34 Streams Stream: Verbindungsstück mit zwei Enden um Daten zu transferieren (Analogie: Schlauch) Eingang: Festplatte, Tastatur oder ein anderes Programm Ausgang: Festplatte, Bildschirm, oder Drucker Vorteil: Flexibilität Streams sind effizienter mit Buffers

35 18/34 Ein Wort zu Buffer Definition (Buffer) Buffer: ist ein zusammenhängender Speicherbereich der als temporärer Speicher genutzt wird Möchte man 512 Bytes in eine Datei speichern, wäre es ineffizient 512 mal ein Byte zu speichern Besser ist es, die Daten in einem Buffer zu sammeln und mit einer Operation zu schreiben Einen Buffer zu leeren nennt man flushing und der dazugehörige Manipulator heißt flush() cout << "foobar" << flush;

36 19/34 In eine Datei schreiben 1 Erstellen eines ofstream Objektes 2 Verbinden des Objektes mit einer bestimmten Datei 3 Das erstellte Objekt kann dann genauso benutzt werden wie cout oder cerr 4 Schließen der Verbindung

37 In eine Datei schreiben (Beispiel) Example (Beispiel) #include <fstream> int main(void) { // Erstellen des Objektes std::ofstream fout;

38 In eine Datei schreiben (Beispiel) Example (Beispiel) #include <fstream> int main(void) { // Erstellen des Objektes std::ofstream fout; // Verbinden mit einer Datei fout.open("test.txt");

39 In eine Datei schreiben (Beispiel) Example (Beispiel) #include <fstream> int main(void) { // Erstellen des Objektes std::ofstream fout; // Verbinden mit einer Datei fout.open("test.txt"); // Benutzen wie cout fout << "Lorem ipsum dolor sit amet";

40 In eine Datei schreiben (Beispiel) Example (Beispiel) #include <fstream> int main(void) { // Erstellen des Objektes std::ofstream fout; // Verbinden mit einer Datei fout.open("test.txt"); // Benutzen wie cout fout << "Lorem ipsum dolor sit amet"; } 20/34 // Schliessen der Verbindung fout.close();

41 21/34 Vorsicht Obacht Das Öffnen einer Datei im default mode löscht den vorherigen Inhalt der Datei.

42 22/34 Aus einer Datei lesen 1 Erstelle ein ifstream Objekt 2 Verbinde das Objekt mit einer bestimmten Datei 3 Das erstellte Objekt kann genauso benutzt werden wie cin 4 Schließen der Verbindung

43 Aus einer Datei lesen (Beispiel 1) Example (Beispiel) #include <fstream> int main(void) { // Erstellen des Objektes std::ifstream fin;

44 Aus einer Datei lesen (Beispiel 1) Example (Beispiel) #include <fstream> int main(void) { // Erstellen des Objektes std::ifstream fin; // Verbinden mit einer Datei fin.open("test.txt");

45 Aus einer Datei lesen (Beispiel 1) Example (Beispiel) #include <fstream> int main(void) { // Erstellen des Objektes std::ifstream fin; // Verbinden mit einer Datei fin.open("test.txt"); // Benutzen wie cin char buf[80]; fin >> buf;

46 Aus einer Datei lesen (Beispiel 1) Example (Beispiel) #include <fstream> int main(void) { // Erstellen des Objektes std::ifstream fin; // Verbinden mit einer Datei fin.open("test.txt"); // Benutzen wie cin char buf[80]; fin >> buf; } 23/34 // Schliessen der Verbindung fin.close();

47 24/34 Aus einer Datei lesen (Beispiel 2) Example (Einzelnes Zeichen einlesen) char zeichen; fin >> zeichen;

48 24/34 Aus einer Datei lesen (Beispiel 2) Example (Einzelnes Zeichen einlesen) char zeichen; fin >> zeichen; Example (String einlesen) char buf[80]; fin >> buf;

49 24/34 Aus einer Datei lesen (Beispiel 2) Example (Einzelnes Zeichen einlesen) char zeichen; fin >> zeichen; Example (String einlesen) char buf[80]; fin >> buf; Example (Ganze Zeile einlesen) string zeile; getline(fin, zeile);

50 25/34 Datei Modi Datei Modus ios_base::in ios_base::out ios_base::app ios_base::trunc ios_base::ate ios_base::binary ios_base::nocreate ios_base::noreplace Bedeutung Datei lesend öffnen Datei schreibend öffnen Datei öffnen und Inhalt dranhängen Inhalt der Datei vorher löschen Datei öffnen und ans Ende springen Datei als Binärdatei öffnen Datei nur öffnen falls vorhanden Datei nur öffnen falls nicht vorhanden

51 26/34 Methode: open() Example (Open) ofstream myfile; string filename = "test.txt"; myfile.open(filename.c_str(), ios::out ios::app); Modi verbinden mit dem bitweise Oder Die Methode open() benötigt einen C-String, daher muss C++-String erst umgewandelt werden

52 27/34 Methode: eof() Jede Datei endet mit einem speziellen EOF-Zeichen EOF ist ein Akronym und steht für End Of File Die Methode eof() liefert true zurück falls das Ende der Datei erreicht ist, ansonsten false Example (Datei zeilenweise einlesen und ausgeben) // while (!fin.eof()) { } // string zeile; getline(fin, zeile); cout << zeile << endl;

53 28/34 Serialisierung ist die Abbildung von Daten oder Objekten in einer sequenziellen Form diese Form ermöglicht es die Daten abzuspeichern, zu laden oder über Netzwerk zu übertragen Einfachste Form der Serialisierung ist die Speicherung Byte für Byte Obacht Diese Form ist nicht kompatibel mit anderen Computersystemen (Little Endian, Big Endian)

54 Beispiel: Serialisierung von Objekten Example (Philosoph abspeichern) Student student; student.name = "Schopenhauer"; student.vorname = "Arthur"; student.mnr = 1234;

55 Beispiel: Serialisierung von Objekten Example (Philosoph abspeichern) Student student; student.name = "Schopenhauer"; student.vorname = "Arthur"; student.mnr = 1234; ofstream file;

56 Beispiel: Serialisierung von Objekten Example (Philosoph abspeichern) Student student; student.name = "Schopenhauer"; student.vorname = "Arthur"; student.mnr = 1234; ofstream file; file.open("testfile.bin", ios::binary);

57 Beispiel: Serialisierung von Objekten Example (Philosoph abspeichern) Student student; student.name = "Schopenhauer"; student.vorname = "Arthur"; student.mnr = 1234; ofstream file; file.open("testfile.bin", ios::binary); file.write((char*) (&student), sizeof(student));

58 29/34 Beispiel: Serialisierung von Objekten Example (Philosoph abspeichern) Student student; student.name = "Schopenhauer"; student.vorname = "Arthur"; student.mnr = 1234; ofstream file; file.open("testfile.bin", ios::binary); file.write((char*) (&student), sizeof(student)); file.close();

59 Beispiel: Deserialisierung von Objekten Example (Philosph einlesen) Student student;

60 Beispiel: Deserialisierung von Objekten Example (Philosph einlesen) Student student; ifstream file;

61 Beispiel: Deserialisierung von Objekten Example (Philosph einlesen) Student student; ifstream file; file.open("testfile.bin", ios::binary);

62 Beispiel: Deserialisierung von Objekten Example (Philosph einlesen) Student student; ifstream file; file.open("testfile.bin", ios::binary); file.read((char*) (&student), sizeof(student));

63 30/34 Beispiel: Deserialisierung von Objekten Example (Philosph einlesen) Student student; ifstream file; file.open("testfile.bin", ios::binary); file.read((char*) (&student), sizeof(student)); file.close(); cout << student.name << endl;

64 31/34 What could possibly go wrong? keine Rechte um Datei zu lesen oder zu schreiben Datei oder Verzeichnis existiert nicht die zu lesende Datei ist gar keine Datei (z.b. ein Ordner) Zu viele Dateien sind gleichzeitig geöffnet...

65 32/34 Fehlerbehandlung Example (Fehlerbehandlung bei Datei-Operationen) // if (!fin.is_open()) { } cerr << "Konnte Datei " << filename exit(1); << " nicht oeffnen" << endl; // code für file handling

66 32/34 Fehlerbehandlung Example (Fehlerbehandlung bei Datei-Operationen) // if (!fin.is_open()) { } Aber warum? cerr << "Konnte Datei " << filename exit(1); << " nicht oeffnen" << endl; // code für file handling Aber warum konnte die Datei nicht geöffnet werden?

67 33/34 Fehlerbehandlung mit Grund Example (Quelltext) #include <cstring> #include <cerrno> // if (!fin.is_open()) { cerr << "Konnte Datei " << filename << " nicht oeffnen: " << strerror(errno) << endl; exit(1); } // code für file handling

68 33/34 Fehlerbehandlung mit Grund Example (Quelltext) #include <cstring> #include <cerrno> // Inkludieren der Bibliothek <cerrno> zur Übersetzung der Fehlercodes in eine Fehlermeldung if (!fin.is_open()) { cerr << "Konnte Datei " << filename << " nicht oeffnen: " << strerror(errno) << endl; exit(1); } // code für file handling

69 33/34 Fehlerbehandlung mit Grund Example (Quelltext) #include <cstring> #include <cerrno> // Funktion strerror übersetzt anschließend den Fehlercode if (!fin.is_open()) { cerr << "Konnte Datei " << filename << " nicht oeffnen: " << strerror(errno) << endl; exit(1); } // code für file handling

70 33/34 Fehlerbehandlung mit Grund Example (Quelltext) #include <cstring> #include <cerrno> // Ausgabe $./programm if (!fin.is_open()) Datei 'foobar' konnte { nicht oeffnen: No such file or directory cerr << "Konnte Datei " << filename << " nicht oeffnen: " << strerror(errno) << endl; exit(1); } // code für file handling

71 34/34 Danke Fragen?

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 23

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf  Seite 1 von 23 Kapitel 16 Datei Aus- und Eingabe Seite 1 von 23 Datei Aus- und Eingabe - Für die Ausgabe auf Dateien und die Eingabe von Dateien werden die Streams ofstream und ifstream verwendet. - Sie sind in der Bibliothek

Mehr

Ein- und Ausgabe (I/O)

Ein- und Ausgabe (I/O) Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling benedict.reuschling@h-da.de Hochschule Darmstadt Fachbereich Informatik WS 2013/14 Überblick 1 2 / 14 Motivation Computer arbeiten

Mehr

Inhalt Streams Eingabe / Ausgbe in C Dateizugriff in C Eingabe / Ausgabe in C++ Dateizugriff in C++ Error Handling

Inhalt Streams Eingabe / Ausgbe in C Dateizugriff in C Eingabe / Ausgabe in C++ Dateizugriff in C++ Error Handling Input / Output in C, C++ Inhalt Streams Eingabe / Ausgbe in C Dateizugriff in C Eingabe / Ausgabe in C++ Dateizugriff in C++ Error Handling Page 1 Ausgaben in C,C++ - generell Fuer C basierte Ausgaben:

Mehr

ios fstream ifstream

ios fstream ifstream 4 Grundlagen der Dateiarbeit 4.1 File-Stream-Klassen Mit der Beendigung eines Programms gehen die im Hauptspeicher gehaltenen Daten des Programms verloren. Um Daten permanent zu speichern, müssen sie in

Mehr

For matierte Ein-/Ausgabe iostream: multiple inheritance von istream und ostream Weitere abgeleitete Klassen (z. B. Ausgabe nach Strings)

For matierte Ein-/Ausgabe iostream: multiple inheritance von istream und ostream Weitere abgeleitete Klassen (z. B. Ausgabe nach Strings) Übersicht Ersatz für stdio in C Typensicher Benutzt C++-Sprachfeatures Ein-/Ausgabe für selbstdefinierte Datentypen #include Mehrere Ebenen streambuf Schnelle (gepuffer te), zeichenweise Ein-/Ausgabe

Mehr

4 Schleifen und Dateien

4 Schleifen und Dateien 4 Schleifen und Dateien 4.1 Übungsaufgabe 4.1.1 Aufgabe 1 Schreiben Sie drei C++ Programme: pword_for.cxx, pword_while.cxx, pword_do.cxx. Die Programme sollen den Benutzer höchstens 5 Mal nach einem Passwort

Mehr

Ein- und Ausgabe mit Dateien

Ein- und Ausgabe mit Dateien Ein- und Ausgabe mit Dateien Edouard Lamboray Informatik I für D-ITET (2004) Ein- und Ausgabekonzepte in C und C++ fstream header Streamobjekt Files schreiben und lesen Argumente von main 2 Vorbemerkungen

Mehr

Ein und Ausgabe Grundlagen C++ E/A System operiert über streams streams sind logische Geräte, die Informationen produzieren bzw. verbrauchen streams

Ein und Ausgabe Grundlagen C++ E/A System operiert über streams streams sind logische Geräte, die Informationen produzieren bzw. verbrauchen streams Ein und Ausgabe Grundlagen C++ E/A System operiert über streams streams sind logische Geräte, die Informationen produzieren bzw. verbrauchen streams sind durch das E/A System mit physikalischen Geräten

Mehr

C++ - Einführung in die Programmiersprache Ein- und Ausgabe in die Konsole. Leibniz Universität IT Services Anja Aue

C++ - Einführung in die Programmiersprache Ein- und Ausgabe in die Konsole. Leibniz Universität IT Services Anja Aue C++ - Einführung in die Programmiersprache Ein- und Ausgabe in die Konsole Leibniz Universität IT Services Anja Aue Eingabe (input) und Ausgabe (output) In diesem Kapitel wird nur das Lesen von und das

Mehr

Programmieren in C/C++ und MATLAB

Programmieren in C/C++ und MATLAB Programmieren in C/C++ und MATLAB Christof Beyer Sven Willert Sabine Schmidt Christian-Albrechts-Universität zu Kiel CAU 7-1 Bisher eingeführt war für Namen nur der Datentyp char. Dieser erlaubt das Speichern

Mehr

Ein- und Ausgabe mit Dateien

Ein- und Ausgabe mit Dateien Ein- und Ausgabe mit Dateien Edouard Lamboray Informatik I für D-ITET (2004) Ein- und Ausgabekonzepte in C und C++ fstream header Streamobjekt Files schreiben und lesen Argumente von main Vorbemerkungen

Mehr

Die elementare Ausgabe von Daten auf externe Medien, wie Dateien und das Einlesen davon wird demonstriert.

Die elementare Ausgabe von Daten auf externe Medien, wie Dateien und das Einlesen davon wird demonstriert. Ein- und Ausgabe Die elementare Ausgabe von Daten auf externe Medien, wie Dateien und das Einlesen davon wird demonstriert. Komplexe E/A-Operationen werden erst diskutiert, nachdem das Klassenkonzept erarbeitet

Mehr

Programmierkurs Kapitel 4: Dateien Seite 1. Verwaltungfeld im Speicher. 4.1 Alternativen zur Programmierung der Eingabe und der Ausgabe

Programmierkurs Kapitel 4: Dateien Seite 1. Verwaltungfeld im Speicher. 4.1 Alternativen zur Programmierung der Eingabe und der Ausgabe Programmierkurs Kapitel 4: Dateien Seite 1 4 Dateien Verwaltungfeld im Speicher Dateivariable im Programm Dateizeiger Schreib-/Lesefeld im Programm EOF 4.1 Alternativen zur Programmierung der Eingabe und

Mehr

Grundlagen der Informatik 2. Typen

Grundlagen der Informatik 2. Typen Grundlagen der Informatik 2. Typen Speicher, Speicherbedarf Ein-/Ausgabe Grundlagen der Informatik (Alex Rempel) 1 Wiederholung // root calculation #include #include using namespace

Mehr

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2014/2015 Wirtschaftsingenieur Bachelor 4. Aufgabe Datenstruktur, Dateieingabe und -ausgabe

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2014/2015 Wirtschaftsingenieur Bachelor 4. Aufgabe Datenstruktur, Dateieingabe und -ausgabe Aufgabenstellung Für ein Baumkataster sollen für maximal 500 Bäume Informationen gespeichert werden, die alle nach der gleichen Weise wie folgt strukturiert sind: Nummer Bauminfo Baumart Hoehe Baum Umfang

Mehr

Ein- und Ausgabe in Dateien (File I/O)

Ein- und Ausgabe in Dateien (File I/O) Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling benedict.reuschling@h-da.de Hochschule Darmstadt Fachbereich Informatik WS 2013/14 Zuletzt aktualisiert: 13.01.2014, 08:27 Uhr

Mehr

Grundlagen der Informatik 6. Arrays I

Grundlagen der Informatik 6. Arrays I 6. Arrays I Motivation Array (konstante Länge) Speicherbereich Eingabe von Arrays Grundlagen der Informatik (Alex Rempel) 1 Motivation Beispiel: Bildschirmpixel zeichnen Auflösung 800x600, d.h. insgesamt

Mehr

C++ Teil 7. Sven Groß. 3. Juni Sven Groß (IGPM, RWTH Aachen) C++ Teil 7 3. Juni / 16

C++ Teil 7. Sven Groß. 3. Juni Sven Groß (IGPM, RWTH Aachen) C++ Teil 7 3. Juni / 16 C++ Teil 7 Sven Groß 3. Juni 2016 Sven Groß (IGPM, RWTH Aachen) C++ Teil 7 3. Juni 2016 1 / 16 Themen der letzten Vorlesung dynamische Speicherverwaltung (Wdh.) Cast bei Zeigern STL-Vektoren + Live Programming

Mehr

Einführung in C ++ und die Objektorientierte Programierung

Einführung in C ++ und die Objektorientierte Programierung 1/38 Einführung in C ++ und die Objektorientierte Programierung Florian Adamsky, B. Sc. (PhD cand.) florian.adamsky@iem.thm.de http://florian.adamsky.it/ cbd Softwareentwicklung im WS 2014/15 2/38 Outline

Mehr

Kapitel 8: Abstrakte Datentypen. Inhalt. Definition ADT Keller ADT Schlange

Kapitel 8: Abstrakte Datentypen. Inhalt. Definition ADT Keller ADT Schlange Wintersemester 005/06 Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl

Mehr

Hydroinformatik I: IO - Files

Hydroinformatik I: IO - Files Hydroinformatik I: IO - Files Prof. Dr.-Ing. habil. Olaf Kolditz 1 Helmholtz Centre for Environmental Research UFZ, Leipzig 2 Technische Universität Dresden TUD, Dresden Dresden, 02. Dezember 2016 1/24

Mehr

Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung)

Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) Wintersemester 2005/06 Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl

Mehr

9 Streams. 9.1 Einführung und Architektur

9 Streams. 9.1 Einführung und Architektur 9.1 9 Streams 9.1 Einführung und Architektur Die C++ Standardbibliothek stellt eine Klassehierarchie zum Umgang mit Streams zur Verfügung, welche im wesentlichen folgende Gebiete abdeckt: Umgang mit Inhalten

Mehr

C/C++ - Programmierung. Formatierte Ausgabe mit cout Seite 1 von 6

C/C++ - Programmierung. Formatierte Ausgabe mit cout Seite 1 von 6 Formatierte Ausgabe mit cout Seite 1 von 6 In der Programmiersprache C++ steht zur verbesserten Ausgabe auf der Konsole die Klasse cout (der so genannte output stream) zur Verfügung (deklariert in iostream).

Mehr

Einführung in die Programmierung mit C++

Einführung in die Programmierung mit C++ 1 Seite 1 Einführung in die Programmierung mit C++ Teil IV - Weiterführende Themen 13. Klassenbibliotheken Klassenbibliotheken Seite 2 Sammlung von Algorithmen und Klassen in Klassenbibliotheken: Konzept:

Mehr

C++ für Ingenieure. Einführung in die objektorientierte Programmierung 4 Objektorientierte Programmierung. 4.8 Streams und Dateien HARALD NAHRSTEDT

C++ für Ingenieure. Einführung in die objektorientierte Programmierung 4 Objektorientierte Programmierung. 4.8 Streams und Dateien HARALD NAHRSTEDT 309 HARALD NAHRSTEDT C++ für Ingenieure Einführung in die objektorientierte Programmierung Kapitel 4 Objektorientierte Programmierung Erstell am Beschreibung 4.8 Streams und Dateien 310 4 Objektorientierte

Mehr

Informationsverarbeitung

Informationsverarbeitung 1/19 Informationsverarbeitung Einführung in das Programmieren mit C++ Markus Uhlmann Institut für Hydromechanik Karlsruher Institut für Technologie www.ifh.kit.edu WS 2011/2012 Vorlesung 13 (Download Quelldateien)

Mehr

Programmieren in C++ Stream I/O

Programmieren in C++ Stream I/O Programmieren in C++ Stream I/O Inhalt Datenströme (Streams) Standard Input and Output C++ Streams () Formatierte Ein- und Ausgabe Format-Manipulatoren Textdatei schreiben und lesen Binärdatei

Mehr

Mapra: C++ Teil 7. Felix Gruber, Michael Rom. 14. Juni 2016 IGPM. Felix Gruber, Michael Rom (IGPM) Mapra: C++ Teil 7 14.

Mapra: C++ Teil 7. Felix Gruber, Michael Rom. 14. Juni 2016 IGPM. Felix Gruber, Michael Rom (IGPM) Mapra: C++ Teil 7 14. Mapra: C++ Teil 7 Felix Gruber, Michael Rom IGPM 14. Juni 2016 Felix Gruber, Michael Rom (IGPM) Mapra: C++ Teil 7 14. Juni 2016 1 / 20 Themen vom letzten Mal Klassen this-pointer Virtuelle Methoden Bildbearbeitung

Mehr

Implementation VL3 Gruppe A

Implementation VL3 Gruppe A Doubravsky Filip Rot Drazen Implementation VL3 Gruppe A Datei Anzahl diese Programms: main.cpp Menü mit Exit eingabe.hpp eingabe.cpp Eingabe und Datei öffnen und einlesen translate.hpp translate.cpp Speicherung

Mehr

Informatik I. Übung 2 : Programmieren in Eclipse. 5. März Daniel Hentzen

Informatik I. Übung 2 : Programmieren in Eclipse. 5. März Daniel Hentzen Informatik I Übung 2 : Programmieren in Eclipse 5. März 2014 Daniel Hentzen dhentzen@student.ethz.ch Downloads : http://n.ethz.ch/~dhentzen/download/ Heute 1. Nachbesprechung Übung 1 2. Theorie 3. Vorbesprechung

Mehr

Praktikum zur Vorlesung Einführung in die Programmierung WS 14/15 Blatt 3

Praktikum zur Vorlesung Einführung in die Programmierung WS 14/15 Blatt 3 Michael Jugovac Dominik Kopczynski Jan Quadflieg Till Schäfer Stephan Windmüller Dortmund, den 30. Oktober 2014 Praktikum zur Vorlesung Einführung in die Programmierung WS 14/15 Blatt 3 Es können 12 (+5

Mehr

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2015/2016 Wirtschaftsingenieur Bachelor 5. Aufgabe Datenstruktur, Dateieingabe und -ausgabe

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2015/2016 Wirtschaftsingenieur Bachelor 5. Aufgabe Datenstruktur, Dateieingabe und -ausgabe Aufgabenstellung Für eine Hausverwaltung sollen für maximal 500 Wohnungen Informationen gespeichert werden, die alle nach der gleichen Weise wie folgt strukturiert sind: Art Baujahr Wohnung Whnginfo Nebenkosten

Mehr

Grundlagen C und C++ Einheit 04: Weitere Grundlagen in C++ Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme

Grundlagen C und C++ Einheit 04: Weitere Grundlagen in C++ Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Grundlagen C und C++ Einheit 04: Weitere Grundlagen in C++ Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda Teil 1: Weitere Grundlagen von C++ Das assert Statement File Input und

Mehr

Hochschule Darmstadt Informatik-Praktikum SS 2017 EIT Bachelor 5. Aufgabenblatt Datenstruktur, Dateieingabe und -ausgabe

Hochschule Darmstadt Informatik-Praktikum SS 2017 EIT Bachelor 5. Aufgabenblatt Datenstruktur, Dateieingabe und -ausgabe Aufgabe 5: Bücher verwalten Für das Literaturverzeichnis einer Abschlussarbeit soll ein Programm zur Verwaltung von Bücherlisten geschrieben werden. Das Programm soll in der Lage sein, zu einem Buch die

Mehr

Informatik I. Matthias Geel Büro: IFW A Blog:

Informatik I. Matthias Geel Büro: IFW A Blog: Informatik I Matthias Geel Büro: IFW A45.2 E-Mail: geel@inf.ethz.ch Blog: http://blogs.ethz.ch/infitet09/ Übersicht 1. Nachbesprechung Übung 5 2. Theorie: Ein- und Ausgabe 3. Vorbesprechung Übung 7 09.11.2009

Mehr

Hochschule Darmstadt Informatik-Praktikum WS 2017/2018 WIng Bachelor 6. Aufgabenblatt Zeiger, verkettete Liste, Dateieingabe und -ausgabe

Hochschule Darmstadt Informatik-Praktikum WS 2017/2018 WIng Bachelor 6. Aufgabenblatt Zeiger, verkettete Liste, Dateieingabe und -ausgabe Aufgabe 6: Häuser verwalten - dynamisch Für ein Schneeräumungsunternehmen soll ein Programm zur Verwaltung von Häuserlisten geschrieben werden. Das Programm soll in der Lage sein, zu einem Haus die wichtigsten

Mehr

Inhalte. Einführung. Algorithmus, Programmiersprache, Compiler und Linker. Kontrollstrukturen. Präprozessoranweisungen. Libraries

Inhalte. Einführung. Algorithmus, Programmiersprache, Compiler und Linker. Kontrollstrukturen. Präprozessoranweisungen. Libraries INFIO.1 Informatik I Einführung Algorithmus, Programmiersprache, Compiler und Linker Datentypen Kontrollstrukturen Präprozessoranweisungen Libraries Funktionen und Klassen Inhalte INFIO.2 Auszug Daten

Mehr

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 18

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 18 Kapitel 3 Datentypen und Variablen Seite 1 von 18 Datentypen - Einführung - Für jede Variable muss ein Datentyp festgelegt werden. - Hierdurch werden die Wertemenge und die verwendbaren Operatoren festgelegt.

Mehr

Einführung in die STL

Einführung in die STL 1/29 in die STL Florian Adamsky, B. Sc. (PhD cand.) florian.adamsky@iem.thm.de http://florian.adamsky.it/ cbd Softwareentwicklung im WS 2014/15 2/29 Outline 1 3/29 Inhaltsverzeichnis 1 4/29 Typisierung

Mehr

C++ Teil 1. Sven Groß. 9. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil 1 9. Apr / 19

C++ Teil 1. Sven Groß. 9. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil 1 9. Apr / 19 C++ Teil 1 Sven Groß IGPM, RWTH Aachen 9. Apr 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 1 9. Apr 2015 1 / 19 Organisatorisches Anmeldung zu Vorlesung und Praktikum über CampusOffice heute! Zugang zu

Mehr

Klausur: Grundlagen der Informatik I, am 05. Februar 2008 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte:

Klausur: Grundlagen der Informatik I, am 05. Februar 2008 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte: Seite 1 von 8 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 10 Pkt.) a) Geben

Mehr

Mapra: C++ Teil 3. Felix Gruber. 29. April IGPM, RWTH Aachen. Felix Gruber (IGPM, RWTH Aachen) Mapra: C++ Teil 3 29.

Mapra: C++ Teil 3. Felix Gruber. 29. April IGPM, RWTH Aachen. Felix Gruber (IGPM, RWTH Aachen) Mapra: C++ Teil 3 29. Mapra: C++ Teil 3 Felix Gruber IGPM, RWTH Aachen 29. April 2015 Felix Gruber (IGPM, RWTH Aachen) Mapra: C++ Teil 3 29. April 2015 1 / 11 Themen vom letzten Mal Debuggen mit gdb Zusammengesetzte Datentypen

Mehr

Angewandte Mathematik und Programmierung

Angewandte Mathematik und Programmierung Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens SS2013 Inhalt Projekt Vorlesung: praktische Implementierung üben Ein und

Mehr

Grundlegende Anweisungen in C++

Grundlegende Anweisungen in C++ Grundlegende in C++ Peter Bastian Dieses Dokument basiert auf einer ursprünglich englischen Fassung von Katharina Vollmayr-Lee (http: // www. eg. bucknell. edu/ ~ kvollmay/ caps_ s2010/ C+ +_ summary.

Mehr

Quiz und Übungen. C++ Übung am 19. Mai 2016

Quiz und Übungen. C++ Übung am 19. Mai 2016 Quiz und Übungen C++ Übung am 19. Mai 2016 Was ist der Unterschied zwischen kompilierenden und interpretierenden Programmiersprachen? Was ist der Unterschied zwischen kompilierenden und interpretierenden

Mehr

Themen. Formatierte und unformatierte Eingabe Bedingungsoperator Namespaces Kommandozeilenargumente

Themen. Formatierte und unformatierte Eingabe Bedingungsoperator Namespaces Kommandozeilenargumente Themen Formatierte und unformatierte Eingabe Bedingungsoperator Namespaces Kommandozeilenargumente Formatierte Eingabe mit cin Die Formatierung der Eingabe ist der Ausgabe sehr ähnlich: Die Flags werden

Mehr

Auswahlen (Selektionen)

Auswahlen (Selektionen) 1 Anhang 10.3 Ein/Ausgaben Eingabe mit Prompt (Beispiel) cout ; // Prompt ohne endl cin

Mehr

DAP2-Programmierpraktikum Einführung in C++ (Teil 1)

DAP2-Programmierpraktikum Einführung in C++ (Teil 1) DAP2-Programmierpraktikum Einführung in C++ (Teil 1) Carsten Gutwenger 11. April 2008 Lehrstuhl 11 Algorithm Engineering Fakultät für Informatik, TU Dortmund Überblick Mein erstes C++-Programm Namensräume

Mehr

Kapitel 1: Einführung

Kapitel 1: Einführung 10 Kapitel 1: Einführung 1.1 Was ist eine Programmiersprache? 1.2 Details zu C++ 1.3 Phasen der Programmierung 1.4 Ein erstes Programm: Hello World! 1.5 Addition zweier Zahlen 1.6 Entscheidungen 1.1 Was

Mehr

3. Semester : 1. Prüfung

3. Semester : 1. Prüfung 3. Semester : 1. Prüfung Name : Die gesamte Prüfung bezieht sich auf die!! Prüfungsdauer: 90 Minuten mit Kugelschreiber oder Tinte schreiben Lösungen können direkt auf die Aufgabenblätter geschrieben werden

Mehr

C++ - Einführung in die Programmiersprache Header-Dateien und Funktionen. Leibniz Universität IT Services Anja Aue

C++ - Einführung in die Programmiersprache Header-Dateien und Funktionen. Leibniz Universität IT Services Anja Aue C++ - Einführung in die Programmiersprache Header-Dateien und Funktionen Leibniz Universität IT Services Anja Aue Modularisierung Logische Gliederung von Programmteilen mit Hilfe von Namensräumen. Aufteilung

Mehr

Es ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen.

Es ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen. Ziele sind das Arbeiten mit Dateien, sowie Records und Funktionen Aufgabe 4: Diese Aufgabe basiert auf der Aufgabe 3. Es ist ein Programm zu erstellen, in welchem der Anwender aus einer Anzahl möglicher

Mehr

Von C zu C++ Karl Gmeiner

Von C zu C++ Karl Gmeiner Karl Gmeiner 2015 1 Beziehung C und C++ C ist (fast) vollständig in C++ enthalten C++ = C with classes C++ bietet Features, die es in C nicht gibt Vererbung/Polymorphismus Operatorenüberlagerung Generizität

Mehr

Z:\Informatik 3\Labor_GINF3\Labor_01-Sonstiges.txt

Z:\Informatik 3\Labor_GINF3\Labor_01-Sonstiges.txt Z:\Informatik 3\Labor_GINF3\Labor_0-Sonstiges.txt Laborbericht Nils Gemba Informatik 3 - OOP Labor 0 Vorbereitungszeit: ca. 4 Stunden Durchführungszeit: ca. 3 Stunden z:\informatik 3\Labor_GINF3\Labor_0\Labor_0.0\main.cpp

Mehr

Gestrige Themen. Benutzung des Compilers und Editors. Variablen. Ein- und Ausgabe mit cin, cout (C++) Verzweigungen. Schleifen

Gestrige Themen. Benutzung des Compilers und Editors. Variablen. Ein- und Ausgabe mit cin, cout (C++) Verzweigungen. Schleifen 1 Gestrige Themen Benutzung des Compilers und Editors Variablen Ein- und Ausgabe mit cin, cout (C++) Verzweigungen Schleifen Ausdrücke 2 Themen heute Elementare Datentypen Zusatz zu Kontrollstrukturen

Mehr

Objektorientiertes Programmieren für Ingenieure

Objektorientiertes Programmieren für Ingenieure Uwe Probst Objektorientiertes Programmieren für Ingenieure Anwendungen und Beispiele in C++ 18 2 Von C zu C++ 2.2.2 Referenzen und Funktionen Referenzen als Funktionsparameter Liefert eine Funktion einen

Mehr

Ein- und Ausgabe. C - Kurs Mario Bodemann. 15. September 2010

Ein- und Ausgabe. C - Kurs Mario Bodemann. 15. September 2010 Ein- und Ausgabe C - Kurs 2010 Mario Bodemann 15. September 2010 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License 1 / 46 Inhaltsverzeichnis 1 Wiederholung

Mehr

7.1 Motivation. Tastatureingabe. Inhalt von input.txt. Bildschirmausgabe. Inhalt von output.txt. i =33 j = 44

7.1 Motivation. Tastatureingabe. Inhalt von input.txt. Bildschirmausgabe. Inhalt von output.txt. i =33 j = 44 7. Stream-Klassen #include #include using namespace std; void main() { //Teil 1 int i,j; fstream eingabe("input.txt,ios::in); fstream ausgabe("output.txt,ios::out); //Teil 2 if ( eingabe>>

Mehr

Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung)

Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) Wintersemester 2005/06 Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl

Mehr

Kapitel 8: Elementare Datenstrukturen. Inhalt. Definition ADT Keller ADT Schlange ADT Liste ADT Binärbaum

Kapitel 8: Elementare Datenstrukturen. Inhalt. Definition ADT Keller ADT Schlange ADT Liste ADT Binärbaum Wintersemester 27/8 Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fakultät für Informatik Lehrstuhl

Mehr

E-/A-Funktionalität nicht Teil der Programmiersprache

E-/A-Funktionalität nicht Teil der Programmiersprache C Ein-/Ausgabe C Ein-/Ausgabe C.1 Überblick E-/A-Funktionalität nicht Teil der Programmiersprache Realisisierung durch "normale" Funktionen Bestandteil der Standard-Funktionsbibliothek einfache Programmierschnittstelle

Mehr

Kurze Einführung in die Programmiersprache C++ und in Root

Kurze Einführung in die Programmiersprache C++ und in Root Kurze Einführung in die Programmiersprache C++ und in Root Statistik, Datenanalyse und Simulation; 31.10.2006 Inhalt 1 Einführung in die Programmiersprache C++ Allgemeines Variablen Funktionen 2 1 Einführung

Mehr

Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung)

Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) Wintersemester 2007/08 Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fakultät für Informatik Lehrstuhl

Mehr

Bereits behandelt: Einfache Datentypen, Felder, Zeiger, Referenzen. Kontrollstrukturen. Funktionen. Heute: Datentypen: Structs, Unions

Bereits behandelt: Einfache Datentypen, Felder, Zeiger, Referenzen. Kontrollstrukturen. Funktionen. Heute: Datentypen: Structs, Unions Kompaktkurs C++ Themen D 1 Bereits behandelt: Einfache Datentypen, Felder, Zeiger, Referenzen Kontrollstrukturen Funktionen Heute: Datentypen: Structs, Unions Datentypen: typedef, sizeof, Typkonvertierung

Mehr

Grundlagen der Informatik 5. Kontrollstrukturen II

Grundlagen der Informatik 5. Kontrollstrukturen II 5. Kontrollstrukturen II Schleifen Sprünge Grundlagen der Informatik (Alex Rempel) 1 Schleifen Schleifen allgemein und in C++ Schleifen (Loops) ermöglichen die Realisierung sich wiederholender Aufgaben

Mehr

Informatik für Elektrotechnik und Informationstechnik

Informatik für Elektrotechnik und Informationstechnik Informatik für Elektrotechnik und Informationstechnik Praktikum 1 Wintersemester 2013/14 1 Kennenlernen der Entwicklungsumgebung Netbeans Netbeans ist eine moderne Entwicklungsumgebung für mehrere Programmiersprachen,

Mehr

Übungen zur Vorlesung EidP (WS 2015/16) Blatt 6

Übungen zur Vorlesung EidP (WS 2015/16) Blatt 6 Andre Droschinsky Ingo Schulz Dortmund, den 0. Dezember 2015 Übungen zur Vorlesung EidP (WS 2015/16) Blatt 6 Block rot Es können 4 + 1 Punkte erreicht werden. Abgabedatum: 10. Dezember 2015 2:59 Uhr Hinweise

Mehr

Organisatorisches/Einstieg

Organisatorisches/Einstieg 1/31 Organisatorisches/Einstieg Florian Adamsky, B. Sc. (PhD cand.) florian.adamsky@iem.thm.de http://florian.adamsky.it/ cbd Softwareentwicklung im WS 2014/15 2/31 Outline 1 Motivation Theoretische Grundlagen

Mehr

Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Gute Lösung:

Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Gute Lösung: Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Der Sourcecode wird an den entsprechenden Stellen im Programm wiederholt Programm wird lang

Mehr

Informatik II Datenstrukturen und Algorithmen in C/C++ Nachtrag

Informatik II Datenstrukturen und Algorithmen in C/C++ Nachtrag Informatik II Datenstrukturen und Algorithmen in C/C++ Nachtrag Dr. Stefan Lewandowski 1 Version 25. Juni 2011 Dieses Skript darf nur mit ausdrücklicher Zustimmung des Autors vervielfältigt werden. Die

Mehr

Einführung in die C++ Programmierung für Ingenieure

Einführung in die C++ Programmierung für Ingenieure Einführung in die C++ Programmierung für Ingenieure MATTHIAS WALTER / JENS KLUNKER Universität Rostock, Lehrstuhl für Modellierung und Simulation 14. November 2012 c 2012 UNIVERSITÄT ROSTOCK FACULTY OF

Mehr

Ein- und Ausgabe. C - Kurs Mario Bodemann. 15. September 2010

Ein- und Ausgabe. C - Kurs Mario Bodemann. 15. September 2010 Ein- und Ausgabe C - Kurs 2010 Mario Bodemann 15. September 2010 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License 1 / 46 Inhaltsverzeichnis 1 Wiederholung

Mehr

Konstruktor/Destruktor

Konstruktor/Destruktor 1/23 Konstruktor/Destruktor Florian Adamsky, B. Sc. (PhD cand.) florian.adamsky@iem.thm.de http://florian.adamsky.it/ cbd Softwareentwicklung im WS 2014/15 2/23 Outline 1 2 3/23 Inhaltsverzeichnis 1 2

Mehr

Funktionales C++ zum Ersten

Funktionales C++ zum Ersten Funktionales C++ zum Ersten WiMa-Praktikum 1, Teil C++, Tag 1 Christoph Ott, Büro: Helmholtzstr.18, E22 Tel.: 50-23575, Mail: christoph.ott@uni-ulm.de Institut für Angewandte Informationsverarbeitung 26.08.08

Mehr

Bereits behandelt: Einfache Datentypen, Felder, Zeiger, Referenzen. Kontrollstrukturen. Funktionen. Heute: Datentypen: Structs, Unions

Bereits behandelt: Einfache Datentypen, Felder, Zeiger, Referenzen. Kontrollstrukturen. Funktionen. Heute: Datentypen: Structs, Unions Kompaktkurs C++ Themen D 1 Bereits behandelt: Einfache Datentypen, Felder, Zeiger, Referenzen Kontrollstrukturen Funktionen Heute: Datentypen: Structs, Unions Datentypen: typedef, sizeof, Typkonvertierung

Mehr

Hydroinformatik I: Hello World

Hydroinformatik I: Hello World Hydroinformatik I: Hello World Prof. Dr.-Ing. habil. Olaf Kolditz 1 Helmholtz Centre for Environmental Research UFZ, Leipzig 2 Technische Universität Dresden TUD, Dresden Dresden, 28. Oktober 2016 1/15

Mehr

Übungen zu C++ Kapitel 1

Übungen zu C++ Kapitel 1 Übungen zu C++ Kapitel 1 Aufgabe 1 Ergänze den Text. a) Die sechs logischen Einheiten eines Computers sind Eingabe-Einheit, Ausgabe-Einheit, RAM, ALU, CPU, Plattenspeicher. b) Die Programme, welche Hochsprachenprogramme

Mehr

Einführung in die Programmierung Wintersemester 2016/17

Einführung in die Programmierung Wintersemester 2016/17 Einführung in die Programmierung Wintersemester 2016/17 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund : Gültigkeitsbereiche Inhalt Lokale und globale

Mehr

Kontrollstrukturen -- Schleifen und Wiederholungen

Kontrollstrukturen -- Schleifen und Wiederholungen Kontrollstrukturen -- Schleifen und Wiederholungen Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling benedict.reuschling@h-da.de Hochschule Darmstadt Fachbereich Informatik WS 2013/14

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Dynamische Datenobjekte Pointer/Zeiger, Verkettete Liste Eigene Typdefinitionen 1 Zeigeroperatoren & und * Ein Zeiger ist die Speicheradresse irgendeines Objektes. Eine

Mehr

Einführung in den Einsatz von Objekt-Orientierung mit C++ I

Einführung in den Einsatz von Objekt-Orientierung mit C++ I Einführung in den Einsatz von Objekt-Orientierung mit C++ I ADV-Seminar Leiter: Mag. Michael Hahsler Syntax von C++ Grundlagen Übersetzung Formale Syntaxüberprüfung Ausgabe/Eingabe Funktion main() Variablen

Mehr

Grundlagen der Programmierung

Grundlagen der Programmierung Grundlagen der Programmierung 5. Vorlesung 09.11.2016 1 Beispiel: Hello World #include Beginn Hauptprogramm int main() { Blockbeginn printf("hello World\n"); Einbinden der Headerdatei(en) für

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung P2.1. Gliederung Rechnerpraktikum zu Kapitel 2 Objektorientierte Programmierung C++-Standardbibliothek, Rekursion Beispiel: Fast Fourier Transformation Beispiel: Klasse für komplexe Zahlen Folie 1 P2.2.

Mehr

Programmiersprachen Einführung in C

Programmiersprachen Einführung in C Programmiersprachen Einführung in C Teil 10: Arbeiten mit Prof. Dr. Gliederung Programmiersprachen 1. Von der Maschinensprache zu C 2. Die Struktur von C-Programmen 3. Variable und Datentypen in C 4. Bildschirm

Mehr

Grundlagen der Informatik 4. Kontrollstrukturen I

Grundlagen der Informatik 4. Kontrollstrukturen I 4. Kontrollstrukturen I Anweisungen und Blöcke Grundlagen der Informatik (Alex Rempel) 1 Anweisungen und Blöcke Anweisungen ("statements") Immer mit Semikolon abzuschließen "Leere" Anweisung besteht aus

Mehr

4.2 Gleitkommazahlen. Der Speicherbedarf (in Bits) ist üblicherweise. In vielen Anwendungen benötigt man gebrochene Werte. Physikalische Größen

4.2 Gleitkommazahlen. Der Speicherbedarf (in Bits) ist üblicherweise. In vielen Anwendungen benötigt man gebrochene Werte. Physikalische Größen . Gleitkommazahlen In vielen Anwendungen benötigt man gebrochene Werte. Physikalische Größen Umrechnen von Einheiten und Währungen Jede Zahl x Q mit x 0 lässt sich folgendermaßen schreiben: x = s m e mit

Mehr

5. Elementare Befehle und Struktogramme

5. Elementare Befehle und Struktogramme 5. Elementare Befehle und Struktogramme Programmablauf Beschreibung des Programmablaufs mittel grafischer Symbole Beispiel : Flussdiagramme ja nein Besser : Struktogramme Dr. Norbert Spangler / Grundlagen

Mehr

Zeiger, Arrays und Strings in C und C++

Zeiger, Arrays und Strings in C und C++ Zeiger, Arrays und Strings in C und C++ 1 Zeiger in Java und C/C++ Zeigervariable (kurz: Zeiger, engl.: pointer): eine Variable, die als Wert eine Speicheradresse enthält Java: Zeiger werden implizit für

Mehr

7. Einführung in C++ Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt

7. Einführung in C++ Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt 7. Einführung in C++ Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt 1 Kontrollfragen Rekursion Was bedeutet Rekursion? Geben Sie Beispiele

Mehr

Grundlagen C und C++ Einheit 03: Grundlagen in C++ Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme

Grundlagen C und C++ Einheit 03: Grundlagen in C++ Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Grundlagen C und C++ Einheit 03: Grundlagen in C++ Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Teil 1: Wiederholung C Heutige Agenda Nutzereingaben verarbeiten Teil 2: Grundlagen in C++ Erstes

Mehr

2.4 Das erste C++-Programm *

2.4 Das erste C++-Programm * 2.4 Das erste C++-Programm * 11 2.4 Das erste C++-Programm * Den besten Lernerfolg erzielen Sie, wenn Sie alle Beispiele dieses Buchs selbst nachvollziehen. Sie können hierzu einen Compiler verwenden,

Mehr

File I/O. Persistieren von Daten. Gastvorlesung Ralph Erdt erdt (bei) informatik.fh-wiesbaden.de

File I/O. Persistieren von Daten. Gastvorlesung Ralph Erdt erdt (bei) informatik.fh-wiesbaden.de File I/O, Ralph Erdt, erdt (bei) informatik.fh-wiesbaden.de Seite 1 File I/O Persistieren von Daten Gastvorlesung - 18.01.10 Ralph Erdt erdt (bei) informatik.fh-wiesbaden.de File I/O, Ralph Erdt, erdt

Mehr

Informatik I - Übung 2 Programmieren in Eclipse

Informatik I - Übung 2 Programmieren in Eclipse Informatik I - Übung 2 Programmieren in Eclipse. / Info1 / HelloWorld / HelloWorld Wort1 Wort2 Daniel Hentzen dhentzen@student.ethz.ch 5. März 2014 1.2 Häufigste Fehler im Terminal auf Gross-/Kleinschreibung

Mehr

Klausur Informatik WS 2012/13

Klausur Informatik WS 2012/13 Klausur Informatik WS 2012/13 Name Gruppe 1 Vorname Dauer 90 min Matrikelnummer Hilfsmittel keine Die Klausur ist mit 50 Punkten sicher bestanden. Hinweies: Voraussetzung für die Teilnahme ist das Bestehen

Mehr

Programmieren in C/C++ und MATLAB

Programmieren in C/C++ und MATLAB Programmieren in C/C++ und MATLAB Sven Willert Christian-Albrechts-Universität zu Kiel CAU 2-1 Datentypen und Formate Mit der Festlegung des Datentyps wird die Art bestimmt, mit der der Computer die Informationen

Mehr

Klausur Programmieren 2 WS2016/17

Klausur Programmieren 2 WS2016/17 Klausur Programmieren 2 WS2016/17 Name Gruppe 1 Vorname Dauer 90 min Matrikelnummer Hilfsmittel keine Die Klausur ist mit 50 Punkten sicher bestanden. Hinweise: Formulieren Sie Ihre Lösungen auf dem Aufgabenblatt

Mehr

Dateizugriff unter C

Dateizugriff unter C Begriffe Dateizugriff unter C Datei = sequentielle Ansammlung von Datenbytes, z.b. auf einer Festplatte Auch Bildschirm und Tastatur werden wie Dateien behandelt: Bildschirm ist die Datei stdout Tastatur

Mehr

Es ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen.

Es ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen. Ziele sind das Arbeiten mit Funktionen und dem Aufzählungstyp (enum), sowie - einfache Verzweigung (if else) - Alternativen switch case - einfache Schleifen (while oder do while) Aufgabe 3: Diese Aufgabe

Mehr

Übungen zur Vorlesung EINI (WS 2010) Blatt 11

Übungen zur Vorlesung EINI (WS 2010) Blatt 11 Martin Apel Informatik VI, GB5/R 431; Tel.: 4775 Nicola Beume Informatik XI, OH14/R 233; Tel.: 7704 Jürgen Mäter Informatik IV, GB5/R 402; Tel.: 2411 Dortmund, den 14. Januar 2011 Übungen zur Vorlesung

Mehr