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

Größe: px
Ab Seite anzeigen:

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

Transkript

1 7. Stream-Klassen

2 #include <fstream> #include<iostream> 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>> i ) cout << " eingabe hat geklappt"<<endl; else cout << " eingabe hat nicht geklappt"<<endl; if ( cin >>j ) cout << " cin hat geklappt"<<endl; else cout << " cin hat nicht geklappt"<<endl; //Teil 3 ausgabe << "i =" << i << " j = " << j <<endl; cout << "i =" << i << " j = " << j <<endl; //Teil 4 cout << " sizeof eingabe " <<sizeof(eingabe) <<endl; cout << " sizeof ausgabe "<<sizeof(ausgabe) <<endl; cout << " sizeof cout " <<sizeof(cout) <<endl; cout << " sizeof cin " <<sizeof(cin) <<endl; cout << " sizeof cin " <<sizeof(cin>>j) <<endl; } 7.1 Motivation Tastatureingabe Inhalt von input.txt Dr. Norbert Spangler / Grundlagen der Informatik Bildschirmausgabe Inhalt von output.txt i =33 j = 44

3 Wiederholung void main() { //Teil 1 int i,j; fstream eingabe("input.txt,ios::in); fstream ausgabe("output.txt,ios::out); //Teil 2 if ( eingabe>> i ) cout << " eingabe hat geklappt"<<endl; else cout << " eingabe hat nicht geklappt"<<endl; if ( cin >>j ) cout << " cin hat geklappt"<<endl; else cout << " cin hat nicht geklappt"<<endl; if ( cin >>j ) cout << " cin hat geklappt"<<endl; else cout << " cin hat nicht geklappt"<<endl; cout << "i =" << i << " j = " << j <<endl; Eingabedatei input.txt nicht vorhanden Eingabe von x statt einer Zahl cin 2 mal ausführen Was ist da passiert? Antwort später } Dr. Norbert Spangler / Grundlagen der Informatik

4 Bewegt mn den Cursor in der Entwicklungsumgebung void main() //Teil 1 int i, j; std::fstream eingabe fstream eingabe("input.txt",ios::in); fstream ausgabe("output.txt",ios::out); //Teil 2 if (eingabe >> i) std::fstream eingabe cout << " eingabe hat geklappt" << endl; else cout << " eingabe hat nicht geklappt" << endl; if (cin >> j) cout << " cin std::istream hat geklappt" std::cin << endl; else cout << " cin hat nicht geklappt" << endl; //Teil 3 std::ostream std::cout ausgabe << "i =" << i << " j = " << j << endl; ausgabe.close(); std::fstream ausgabe cout << "i =" << i << " j = " << j << endl; //Teil 4 cout << " sizeof eingabe " << sizeof(eingabe) << endl; cout << " sizeof ausgabe " << sizeof(ausgabe) << endl; cout << " sizeof cout " << sizeof(cout) << endl; cout << " sizeof cin " << sizeof(cin) << endl; cout << " sizeof cin " << sizeof(cin >> j) << endl;} Dr. Norbert Spangler / Grundlagen der Informatik

5 Fragestellungen Was bedeutet istream ostream bzw. iostream (Stream-)Klassen cin bzw. cout Objekte der Klassen eingabe bzw. ausgabe? cin>>i ausgabe<<j Ausdrücke (Typ/Wert?) Dr. Norbert Spangler / Grundlagen der Informatik

6 7.2 Die Stream-Klassen Unter einem Stream in C++ kann man sich einen sequenziellen Strom aus Bytes vorstellen, der zu einem Ein-/Ausgabe-Medium gehört wie z.b. Bildschirm, Tastatur, Datei. Prinzipiell ist damit jedes Medium wie ein String zu sehen. Eine Eingabe kann daher stets als eine Umformatierung von Bytes in einem String zu intern abgespeicherten Variablen bzw. eine Ausgabe umgekehrt als Umformatierung interner Variablen in Text. Bsp. Text <-> int : -127 (= 2D im ASCII-Code) <-> FFFFFF5A Hierzu gibt eine Hierarchie von (Stream-)Klassen, die in zugehörigen Headerdateien gespeichert sind. Sie stellen die Informationen (Eigenschaften) und Funktionen (Methoden) zur Ein-/Ausgabe zur Verfügung. Dr. Norbert Spangler / Grundlagen der Informatik

7 Wesentliche Stream-Klassen mit Vererbungshierarchie Allgemeine Basisklassen mit Eigenschaften und Methoden zur Formatierung und zum aktuellen Status (Fehler ja/nein) ios_base ios Klassen zur Bereitstellung der eigentlichen Methoden für die Ein- und Ausgabe Operatoren << / >>, get/put, read/write, getline, Positionierung, Objekte cin/cout ostream istream Allgemeine Ein-/Ausgabefunktionalität Ein-/Ausgabe mit Dateien (File-Streams) Ein-/Ausgabe über Strings ofstream iostream fstream ifstream sstream Dr. Norbert Spangler / Grundlagen der Informatik

8 Stream-Klassen/Übersicht Mit den Streamklassen ist es möglich, flexibel die Ein- und Ausgabe aller Daten über unterschiedliche Medien einheitlich zu gestalten - aus interner Darstellungen der Daten die für externe Medien zu liefern und umgekehrt. - Diese Technik auf selbstdefinierte Datentypen (Klassen) zu erweitern - Die Art der Darstellung mittels Formatierungen zu steuern - Den Zustand der Streams zu überprüfen und anzupassen - Standards bereitzustellen für Bildschirm und Tastatur - Umgang mit Dateien zu ermöglichen + weitere Funktionalitäten Üblicherweise werden nur die Klassen iostream, fstream und sstream mittels #include <..stream> direkt verwendet. Die anderen erscheinen ggf. in (Fehler-) Meldungen. Dr. Norbert Spangler / Grundlagen der Informatik

9 Stream-Objekte Standard-Streams erfordern #include <iostream> Diese stehen automatisch zur Verfügung cin istream üblicherweise Tastatur cout ostream üblicherweise Bildschirm cerr ostream wie cout für Fehlermeldungen clog ostream wie cout für Protokollausgaben Dateien erfordern #include <fstream> Deklaration fstream eingabe; Strings erfordern #include <sstream> Deklaration stringstream st; Dr. Norbert Spangler / Grundlagen der Informatik

10 7.3 Basiseigenschaften und -methoden In den Basisklassen ios_base und ios werden Eigenschaften und Methoden zur Beschreibung der Formatierung und dem Status eines Streams bereitgestellt. Über die Klassen istream und ostream werden dann die eigentlichen Ein- Ausgabemethoden bereitgestellt. Diese stehen dann in allen Streams mittels Vererbung zur Verfügung, d,h. auch in den relevanten Klassen iostream, fstream und sstream. Dr. Norbert Spangler / Grundlagen der Informatik

11 Statusangaben (Auswahl) Eigenschaft Wert = 0 Wert = 1 goodbit anderes Bit =1 alle anderen Bits 0 badbit Stream OK Stream defekt failbit letzte Operation fehlerfrei letzte Operation fehlerhaft eofbit Dateiende gelesen Dateiende nicht gelesen Ist goodbit = 1 könnte die nächste Aktion erfolgreich sein, andernfalls wird sie in der Regel scheitern. Die Methode void clear() setzt alle Fehlerbits auf 0. Zu jedem Bit gibt es Methoden zur Überprüfung (entspricht get): bool good() bool bad() bool fail() bool eof() Beispiel: if (!eingabe.eof() ) //fstream eingabe {.. Es können noch Daten da sein } Dr. Norbert Spangler / Grundlagen der Informatik

12 Formatierung(Auswahl) Erforderlich # include <iomanip> Manipulatoren sind Funktionen (also Methoden), die zu den Streamklassen gehören. cout.precision(3) ist dasselbe wie cout<<setprecision(3) cout.width(6) ist dasselbe wie cout<<setw(6) int fw= cout.width(); liefert die aktuelle Feldbreite cout.fill( 0 ) ist dasselbe wie cout<<setfill ( 0 ) char c=cout.fill() liefert das aktuelle Füllzeichen Dr. Norbert Spangler / Grundlagen der Informatik

13 Eingabemethoden (Auswahl) Diese betreffen den eigentlichen Transfer von einem Eingabemedium in den interen Speicher. Diese sind Bestandteil der Klasse istream und somit auch von iostream. operator >> get getline read gcount ignore peek tellg seekg Datenübertragung+Interpretation aus Eingabestrom liest ein Zeichen char c=cin.get() Lesen einer Zeile cin.getline(a,20, \n ) //char a[20] Lesen eines Blocks cin.read(a,20) //char a[20] Anzahl der zuletzt gelesenen Zeichen int i=cin.gcount() Zeichen im Eingabestrom entfernen cin.ignore(); Vorschau auf das nächste Zeichen char c=cin.peek() Leseposition liefern int i=cin.tellg() Leseposition ändern cin.seekg(5) Dr. Norbert Spangler / Grundlagen der Informatik

14 Operator >> Der Operator >> steht zwischen einem Objekt vom Typ istream und der zu lesenden Variablen. Damit hat man einen Ausdruck, der vom Typ istream (!) ist eingabe>>i>>j; entspricht (eingabe>>i)>>j; Da links von >> ein Objekt vom Typ istream steht ist eingabe>>i auch vom Typ istream. Der Wert ist 0, falls die Eingabeoperation fehlerhaft war. Damit kann die Korrektheit elegant überprüft werden: if ( eingabe>>i ) {//OK } else {//Fehler} Der Operator >> interpretiert Whitespace-Zeichen als Trennzeichen und kann überladen werden für selbsdefinierte Klassen (vgl. Kap 4 für Brüche) istream& operator>> (istream&, Bruch&) Dr. Norbert Spangler / Grundlagen der Informatik

15 void main() { int i,j; //Teil 2 Das Eingabeproblem aus 7.1 } if ( cin >>j ) cout << " cin hat geklappt"<<endl; else { cout << " cin hat nicht geklappt"<<endl; cin.clear(); cin.ignore(); } if ( cin >>j ) cout << " cin hat geklappt"<<endl; else cout << " cin hat nicht geklappt"<<endl; cout << "i =" << i << " j = " << j <<endl; Das eingegebene Zeichen x bleibt im Tastaturpuffer stehen Um diese unzulässige Eingabe zu eliminieren muss man die Methoden clear setzt Fehlerbits zurück ignore entfernt Zeichen aus dem Tastaturpuffer verwenden. Danach kann wieder neu eingegeben werden. Dr. Norbert Spangler / Grundlagen der Informatik

16 Ausgabemethoden (Auswahl) Diese betreffen den eigentlichen Transfer vom interen Speicher auf ein Ausgabemedium. Diese sind Bestandteil der Klasse ostream und somit auch von iostream. operator << Datenübertragung+Interpretation zum Ausgabestrom put schreibt ein Zeichen cout.put(c) //char c write Schreiben eines Blocks cout.write(a,20) //char a[20] flush restliche Zeichen zum Ausgabestrom peek Vorschau auf das nächste Zeichen char c=cin.peek() tellp Ausgabeposition liefern int i=cin.tellp() seekp Ausgabeposition ändern cin.seekp(5) Dr. Norbert Spangler / Grundlagen der Informatik

17 Operator << Für den Operator << gilt ähnliches wie bei >>. Er steht zwischen einem Objekt vom Typ ostream und der zu lesenden Variablen. Damit hat man einen Ausdruck, der vom Typ istream (!) ist ausgabe<<i<<j; entspricht (ausgabe<<i)<<j; Da links von << ein Objekt vom Typ ostream steht ist ausgabe<<i auch vom Typ ostream. Der Operator >> kann ebenfalls überladen werden für selbsdefinierte Klassen (vgl. Kap 4 für Brüche) ostream& operator<< (ostream&, Bruch&) Dr. Norbert Spangler / Grundlagen der Informatik

18 7.4 File-Streams Datenträger Notwendige Aktivitäten Programm File Verbindung erstellen Eröffnungsmodus festlegen (Lesen/Schreiben/...) Stream-Objekt Datei erstellen (Editor,Excel, ) Objekt erstellen (Konstruktor) Dr. Norbert Spangler / Grundlagen der Informatik

19 Notwendige Aktivitäten Eingabe: Datei erstellen Ausgabe: Stream Objekt erstellen Verbindung erstellen Eröffnungsmodus festlegen Allgemeines Editor, anderes Programm Datei kann automatisch erzeugt werden Deklaration, Konstruktor Konstruktor, Methode open Flags setzen (Bits aus der Klasse ios) Arbeitsweise Es gibt stets eine aktuelle Byteposition, von der gelesen wird oder auf die geschrieben wird. Nach jeder Aktion erhöht sich die aktuelle Byteposition um 1 -> sequenzielle Verarbeitung. Alternative : wahlfreie Verarbeitung (nicht Gegenstand der Vorlesung->Kap 10) Dr. Norbert Spangler / Grundlagen der Informatik

20 ios::in ios::out ios::trunc ios::app ios::ate ios::binary Default ifstream ofstream fstream Eröffnungsmodus eine existierende Datei zum Lesen öffnen eine Datei zum Schreiben öffnen (impliziert ios::trunc falls nicht anders festgelegt) eine bestehende Datei wird beim öffnen geleert (Länge=0) jede Schreiboperation wird ab dem aktuellen Dateiende durchgeführt (append) nach dem Öffnen der Datei wird auf das Dateiende positioniert ohne ate ist es der Dateianfang danach kann umpositioniert werden (Unterschied zu app) Ein-/Ausgabe im Binärmodus (Standard ist Textmodus:Interpretation von Zeilen-/Dateiende) Verknüpfung über den Bitoperator (oder) ios::in ios::out ios::trunc ios::in ios::out Dr. Norbert Spangler / Grundlagen der Informatik

21 Stream Objekt erstellen/defaultkonstruktor Mit dem Defaultkonstruktor kann ein File-Stream ohne Verbindung zu einer Datei erzeugt werden. Erforderlich: #include <fstream> streamklasse namestream1,namestream2,..; Streamklasse kann sein namestream ifstream,ofstream,fstream frei wählbar/name des Streams Beispiele: ifstream eingabe,inputstream1,ein; ofstream ausgabe,outputstream2,aus; fstream eingabedatei3; Die Verbindung zur (externen) Datei muss dann über die Methode open hergestellt werden. Dr. Norbert Spangler / Grundlagen der Informatik

22 Stream Objekt erstellen/konstruktor Die anderen Konstruktoren der Klassen können über Parameter - die Verbindung zur Datei herstellen - den Eröffnungsmodus festlegen Form : streamklasse namestream(dateiname),namestream2(dateiname,flags) streamklasse ifstream,ofstream,fstream namestream frei wählbar/name des Streams Dateiname xy.dat im aktuellen Projektverzeichnis d:/v1/v2/.../xy.dat beliebiges Verzeichnis flags flag1 flag2... flagn Beispiele fstream meinedatei( D:/daten/noten.txt ); fstream deinedatei( testdatei.txt,ios::out ios::app); fstream unseredatei( J:\\daten\\ergebnis.txt ); //!!!!!!! Dr. Norbert Spangler / Grundlagen der Informatik

23 Wirkungsweise der Flags ios::out ios::app eine existierende Datei zum Schreiben öffnen jede Schreiboperation wird ab dem aktuellen Dateiende durchgeführt (append) fstream ein( input.txt,ios::out ios::app); -> an eine existierende Datei etwas anhaengen. ios::out 000x0000 ios::app 00000y00 ios::out ios::app 000x0y00 (ODER-Verknüpfung) Dr. Norbert Spangler / Grundlagen der Informatik

24 Verbindung erstellen/löschen Erstellen: 2 Möglichkeiten a) Über Konstruktor -> erledigt b) Mittels open (nach Deklaration) namestream.open(dateiname) namestream.open(dateiname,flags) Beispiel: meinedatei.open( D:/daten/noten.txt ) deinedatei.open( testdatei.txt,ios::out ios::app); Löschen der Verbindung: namestream.close();//löscht nicht das Streamobjekt!!! Dr. Norbert Spangler / Grundlagen der Informatik

25 7.5 Stringstreams Anstelle einer Datei, kann in C++ auch ein String als Ein-/Ausgabemedium benutzt werden. Damit lassen sich dann sehr elegant Umformatierungen zwischen dem internen Zahlenformat (z.b. double, int) in Zeichen und umgekehrt erstellen. Erforderlich: #include <sstream> Deklaration: stringstream sst1, sst2( ),sst3(st); sst1 leer sst2/sst3 initialisiert sst2 mit Character-Array / sst3 mit string st Mit einer Variablen int i kann man dann beispielsweise elegant sst1<<i; // den Wert von i als Text in sst1 speichern (ev. auch formatiert) sst2>>i; // den Text in sst2 in int umwandeln und in i speichern Mit der Methode str lässt sich ein Stringstream in einen String umwandeln: string s= s1.str(); Dr. Norbert Spangler / Grundlagen der Informatik

26 Zusammenfassung In C++ ist die Ein- und Ausgabe von Daten durch den Ansatz, diese stets als Strom aus Bytes d.h. also als string zu sehen, universell und einfach. Verwendet werden üblicherweise die Klassen iostream, fstream und ggf. stringstream Allerdings kann im Detail dies wieder sehr kompliziert werden, insbesondere im Fehlerfall., wenn beispielsweise Pufferbereiche gereinigt werden müssen. Es steht jedoch eine große Zahl an Methoden bereit, Anforderungen zu erfüllen und Probleme zu beseitigen. Eine ausführliche Betrachtung ist hier nicht möglich. Ergänzungen in Kap 10: Binäre Ein-/Ausgabe mit Dateien ohne Konvertierung Text<-> Zahlenformat Direktzugriff in Dateien: Ansteuerung einzelner Positionen Dr. Norbert Spangler / Grundlagen der Informatik

27 7.6 Beispiel 1: get void main() { char cc; cout<<" Zeichen eingeben/ende mit # :"; cin.get(cc); while ( cc!='#' ) { int i=cc; cout<<endl<<" gelesen:"<<cc<<" entspricht "<<i<<endl; cout<<" naechstes Zeichen eingeben/ende mit # :"; cin.get(cc); } } Eingabe von Tastatur 1 2 # Nach jeder Eingabe wird die Enter-Taste gedrückt: Zeilenende = 10 Dr. Norbert Spangler / Grundlagen der Informatik

28 #include <fstream> #include <iostream> #include <string> using namespace std; void main() { char puffer[80]; int anzahlzeichen; string s; } fstream dateiein("input.txt",ios::in); fstream dateiaus("ouput.txt",ios::out); Beispiel 2: getline/eof input.txt aaa bbbbbbbbbbbbbbbb ss dateiein.getline(puffer,80);//default Endezeichen=\n anzahlzeichen=dateiein.gcount();//anzahl gelesene Zeichen cout <<"gelesene Zeichen "<<anzahlzeichen<<endl; while (!dateiein.eof()) { cout<<puffer<<endl; dateiaus.write(puffer,anzahlzeichen); dateiein.getline(puffer,80); anzahlzeichen=dateiein.gcount(); cout <<"gelesene Zeichen "<<anzahlzeichen<<endl; } dateiein.close(); dateiaus.close(); output.txt (mit Hex-Editor) Dr. Norbert Spangler / Grundlagen der Informatik

29 Beispiel 3: Ausgabe in Stringstreams Aufgabe: es soll eine Zahl vom Typ int als string dargestellt werden um eine Ausgabe optisch gefällig gestalten zu können. Konventionelle Lösung: einzelne Zeichen mittels %-operator ermitteln Zeichen zählen usw. Elegante Lösung mittels stringstream string int_to_string(int z) { stringstream s; s<<setw(12)<<setfill( 0 )<<z; return s.str(); } Die Methode string str() liefert den in einem Objekt vom Typ stringstream dargestellten Text als Objekt vom Typ string. Dr. Norbert Spangler / Grundlagen der Informatik

30 Beispiel 4: Eingabe aus Stringstreams Aufgabe: Benutzerfreundliche Eingabe einer ganzen Zahl Lösung: Eingabe als string mit der Möglichkeit zu Plausibilitätskontrollen und anschließend Umwandlung in eine ganze Zahl Konventionelle Lösung über Hornerschema (siehe Programmieren 1) Elegante Lösung mittels stringstream int string_to_int(string s) {//mit Horner-Schema int z=0, n=s.length(); for ( int i=0;i<n; i++) z = z*10+ ( s[i]-'0'); return z; } int string_to_int(string s) {//mit stringstream int z; stringstream str(s); str>>z; return z; } Dr. Norbert Spangler / Grundlagen der Informatik

31 8 Sonstiges Binäre Dateien 1:1 Kopie Dateiinhalt<->Variable ohne Konvertierung in Kap.10 Direktzugriff auf Byte der Datei positionieren in Kap 10 Exklusivzugriff Klasse CFILE in MFC mit speziellen Flags CFile::modeCreate CFile::modeWrite CFile::shareExclusive Dr. Norbert Spangler / Grundlagen der Informatik

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Mehr

Programmier-Befehle - Woche 10

Programmier-Befehle - Woche 10 Funktionen Rekursion Selbstaufruf einer Funktion Jeder rekursive Funktionsaufruf hat seine eigenen, unabhängigen Variablen und Argumente. Dies kann man sich sehr gut anhand des in der Vorlesung gezeigten

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

C++-Zusammenfassung. H. Schaudt. August 18, 2005

C++-Zusammenfassung. H. Schaudt. August 18, 2005 C++-Zusammenfassung H. Schaudt August 18, 2005 1 Datentypen 1.1 Grunddatentypen int (-32xxx bis +32xxx, implementerungs-abhängig) char -128 bis +128 float double bool (C++) int und char sind austauschbar:

Mehr

Elementare Datentypen in C++

Elementare Datentypen in C++ Elementare Datentypen in C++ bool signed/unsigned char signed/unsigned short int signed/unsigned int signed/unsigned long int (signed/unsigned long long int) float double long double void enum char Der

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

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

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

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

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

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

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

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 C++ #1 Jahr: 2001; Dozent: Dipl.Ing. Sorber

Klausur C++ #1 Jahr: 2001; Dozent: Dipl.Ing. Sorber Klausur C++ #1 Jahr: 2001; Dozent: Dipl.Ing. Sorber 1) Welche Antworten zur Operatorüberladung sind richtig? (1) a) C++ - Operatoren können zusammen mit Objekten funktionieren b) C++ - Operatoren wird

Mehr

Einleitung. Informationsquellen: - Webseite zur Vorlesung, Abschnitt Informationen zu C und C++ Kurzeinführung in C/C++

Einleitung. Informationsquellen: - Webseite zur Vorlesung, Abschnitt Informationen zu C und C++ Kurzeinführung in C/C++ Informationsquellen: - Webseite zur Vorlesung, Abschnitt Informationen zu C und C++ 1 Einleitung Vorteile von Java: gut strukturiert mit hohem Funktionsumfang (mächtige Standardbibliothek) weitestgehend

Mehr

Zeichendarstellung. Zeichen sind Zahlen (in C) Zeichen und switch

Zeichendarstellung. Zeichen sind Zahlen (in C) Zeichen und switch darstellung Arbeiten mit darstellung werden im Computer durch (kleine) Zahlen dargestellt in C können im Datentyp char gespeichert werden, dieser umfasst ein Byte und gilt als Ganzzahltyp darstellung Arbeiten

Mehr

GI Vektoren

GI Vektoren Vektoren Problem: Beispiel: viele Variablen vom gleichen Typ abspeichern Text ( = viele char-variablen), Ergebnisse einer Meßreihe ( = viele int-variablen) hierfür: Vektoren ( = Arrays = Feld ) = Ansammlung

Mehr

Hochschule Darmstadt Informatik-Praktikum WS 2016/2017 WIng Bachelor 4. Aufgabenblatt Modularisierung, Funktionen, Unterprogramme

Hochschule Darmstadt Informatik-Praktikum WS 2016/2017 WIng Bachelor 4. Aufgabenblatt Modularisierung, Funktionen, Unterprogramme Ziele sind das Arbeiten mit Funktionen, sowie - einfache Verzweigung (if else) - Alternativen switch case - einfache Schleifen (while oder do while) Aufgabe 4: Diese Aufgabe basiert auf der Aufgabe 3.

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

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

Überladen von Operatoren

Überladen von Operatoren - Überladen des Indexoperators [] - Überladen des Ausgabeoperators > Programmieren in C++ Informatik FH Trier C++12-1 ähnlich dem Überladen von Funktionen Überladen

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

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

Assoziative Container in C++ Christian Poulter

Assoziative Container in C++ Christian Poulter Assoziative Container in C++ Christian Poulter Seminar: Die Sprache C++ Mat-Nr.: 53 03 129 EMail: inf@poulter.de Christian Poulter Assoziative Container in C++ Seite 1/10 Inhalt 1. Einleitung: Container...

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

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

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

Ü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

Methoden. von Objekten definiert werden, Methoden,, Zugriffsmethoden und Read-Only

Methoden. von Objekten definiert werden, Methoden,, Zugriffsmethoden und Read-Only Methoden Wie Konstruktoren und Destruktoren zum Auf- und Abbau von Objekten definiert werden, Wie inline-methoden Methoden,, Zugriffsmethoden und Read-Only Only- Methoden einzusetzen sind, Der this-pointer

Mehr

FB Informatik. Fehler. Testplan

FB Informatik. Fehler. Testplan Fehler #include int i,n,summe; int summe (int); cout 0) cin>n; i=summme(n); cout

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

Programmieren, Algorithmen und Datenstrukturen II 1. Einführung Ein- / Ausgabe mit Dateien, Ausnahmebehandlung

Programmieren, Algorithmen und Datenstrukturen II 1. Einführung Ein- / Ausgabe mit Dateien, Ausnahmebehandlung Programmieren, Algorithmen und Datenstrukturen II 1. Einführung Ein- / Ausgabe mit Dateien, Ausnahmebehandlung 1 Übersicht 1. Inhalte der Veranstaltung 2. Ziele des Kapitels 3. Ein- / Ausgabe mit Dateien

Mehr

Einführung in die Programmierung

Einführung in die Programmierung : Inhalt Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund - mit / ohne Parameter - mit / ohne Rückgabewerte

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

6 Ein- und Ausgabe. Bisher war unsere (Bildschirm-) Ausgabe leichtflüchtig (

6 Ein- und Ausgabe. Bisher war unsere (Bildschirm-) Ausgabe leichtflüchtig ( 6 Ein- und Ausgabe Bisher war unsere (Bildschirm-) Ausgabe leichtflüchtig ( Drucken war hoffnungslos übertrieben); heute lernen wir, wie wir die Ergebnisse unserer Programme abspeichern können, um sie

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

Ü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

Programmieren in C/C++ und MATLAB

Programmieren in C/C++ und MATLAB Programmieren in C/C++ und MATLAB Sven Willert Sabine Schmidt Christian-Albrechts-Universität zu Kiel CAU 4-1 Übung 1) Schreiben Sie ein Programm, das die Fläche unter einer Parabel, also das Integral

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 ( / 15 Pkt.) Für 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

3D Programmierpraktikum: Einführung in C++ - Teil 1

3D Programmierpraktikum: Einführung in C++ - Teil 1 3D Programmierpraktikum: Einführung in C++ - Teil 1 Praktikum 3D Programmierung Sebastian Boring, Otmar Hilliges Donnerstag, 27. April 2006 LMU München Medieninformatik Boring/Hilliges 3D Programmierpraktikum

Mehr

6. Bearbeitung von Strings in C Bearbeitung von Strings in C

6. Bearbeitung von Strings in C Bearbeitung von Strings in C Bearbeitung von Strings in C 6-1 Definition des String: 6. Bearbeitung von Strings in C Zeichenstrings werden als Felder von Zeichen abgespeichert: char [ ] ; Wie die Daten (Zeichenfolge)

Mehr

2. Semester, 2. Prüfung, Lösung

2. Semester, 2. Prüfung, Lösung 2. Semester, 2. Prüfung, Lösung Name Die gesamte Prüfung bezieht sich auf die Programmierung in C++! Prüfungsdauer: 90 Minuten Mit Kugelschreiber oder Tinte schreiben Lösungen können direkt auf die Aufgabenblätter

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

Welche Informatik-Kenntnisse bringen Sie mit?

Welche Informatik-Kenntnisse bringen Sie mit? Welche Informatik-Kenntnisse bringen Sie mit? So gehen Sie vor! Lösen Sie die Aufgaben der Reihe nach von 1 bis 20, ohne das Lösungsblatt zur Hilfe zu nehmen. Der Schwierigkeitsgrad der Aufgaben nimmt

Mehr

Annehmende Schleife do while

Annehmende Schleife do while Annehmende Schleife do while Schleife mit nachfolgender Bedingungsprüfung: annehmende Schleife B S Mit B wird eine Bedingung (logischer Ausdruck) bezeichnet, S ist ein Strukturblock. Zuerst wird S ausgeführt,

Mehr

Kap 09. Funktionen/Ergänzungen

Kap 09. Funktionen/Ergänzungen Kap 09. Funktionen/Ergänzungen 9.1 Inline-Funktionen Der Mechanismus der Parameterübergabe hat einen "hohen" organisatorischen Aufwand z.b. durch kopieren der Parameteretc. Ist die Funktion vergleichsweise

Mehr

AK-Automatisierungs und Kommunikationstechnik TI Technische Informatik. NWT Netzwerktechnik www.munz-udo.de

AK-Automatisierungs und Kommunikationstechnik TI Technische Informatik. NWT Netzwerktechnik www.munz-udo.de Aufgaben: Ein Ausgabe Ein Rechner verwaltet nicht nur Daten, die während der Laufzeit des Programms erzeugt werden. Die meisten Programme greifen auf ältere Datenbestände zurück oder erzeugen für einen

Mehr

Kap 4. Befehle und Struktogramme

Kap 4. Befehle und Struktogramme Kap 4. Befehle und Struktogramme 4.1 Elementare Befehle Befehlstypen Zuweisung (eigentlich kein Befehl) Verzweigung Wiederholung/Schleife Block (zusammengesetzt) Ein-/Ausgabe (eigentlich kein Befehl) Beispiel

Mehr

Einführung in das Objektorientierte Programmieren mit C++

Einführung in das Objektorientierte Programmieren mit C++ BEREICH DATENTECHNIK I CP 800 00 TH 02 Einführung in das Objektorientierte Programmieren mit C++ Kapitel 8 8. Ein- und Ausgabe mit Stream-Klassen 8.1. Standard-I/O-Bibliothek und Stream-Klassen 8.2. Ein-

Mehr

Einführung in die Programmierung (EPR)

Einführung in die Programmierung (EPR) Goethe-Center for Scientific Computing (G-CSC) Goethe-Universität Frankfurt am Main Einführung in die Programmierung (EPR) (Übung, Wintersemester 2014/2015) Dr. S. Reiter, M. Rupp, Dr. A. Vogel, Dr. K.

Mehr

Programmieren I. Dateien: Allgemeines. Vorlesung 10. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Wintersemester 2010/2011

Programmieren I. Dateien: Allgemeines. Vorlesung 10. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Wintersemester 2010/2011 Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2010/2011 1 / 26 Dateien: Allgemeines Dateien lesen Beispiel: CSV-Daten Filter Ausgabe in Dateien 2 / 26 Dateien: Allgemeines Kaum

Mehr

Programmieren für Physiker: C++ SS 2016

Programmieren für Physiker: C++ SS 2016 Programmieren für Physiker: C++ SS 2016 Programmieren für Physiker: C++ Termine: Vorlesung: Di. 8:00-9:30 Uhr, Lehmann-HS (Matthias Steinhauser) Hörsaalübungen: Fr. 8:00-9:30 Uhr, Lehmann-HS (Achim Mildenberger)

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 17 Einstieg in die Informatik mit Java String Tokenizer Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 17 1 Überblick Tokenizer 2 StringTokenizer 3 Verwendung von String.split

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

Escape-Sequenzen. Dr. Norbert Spangler

Escape-Sequenzen. Dr. Norbert Spangler Escape-Sequenzen Einzelzeichen Bedeutung ASCII- ASCII-Code \a alert BEL 07 \b backspace BS 08 \t horizontal tab HT 09 \n line feed LF 0A \v vertical tab VT 0B \f form feed FF 0C \r carriage return CR 0D

Mehr

Anwendung höherer Programmiersprachen. Formatierte Ausgabe mit cout. Angewandte Informatik I C / C++ Teil B: Formatierte Ein- und Ausgabe

Anwendung höherer Programmiersprachen. Formatierte Ausgabe mit cout. Angewandte Informatik I C / C++ Teil B: Formatierte Ein- und Ausgabe Angewandte Informatik I Anwendung höherer Programmiersprachen C / C++ Vorlesung der FH Münster Prof. Dr.-Ing. H. Bösche // Programm b0301208 #include { int i = 1, j = 2; cout

Mehr

Programmiersprachen Einführung in C. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm

Programmiersprachen Einführung in C. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm Programmiersprachen Einführung in C Teil 2: Prof. Dr. int main (int argc, char *argv[]) int sum = 0; for (i = 0; i

Mehr

C++ - Operatoren. Eigene Klassen mit neuen Funktionen

C++ - Operatoren. Eigene Klassen mit neuen Funktionen C++ - Operatoren Eigene Klassen mit neuen Funktionen Übersicht Klassen bisher Eigene Operatoren definieren 2 Bisher Durch Kapselung, Vererbung und Polymorphy können nun eigene Klassen definiert werden,

Mehr

Modellierung und Programmierung

Modellierung und Programmierung Modellierung und Programmierung Dr. Martin Riplinger 9.1.2013 IAM Institut für Angewandte Mathematik Fortgeschrittene Ein- und Ausgabe Bisher: Ein- und Ausgabe nur über die Kommandozeile Erweiterung: Konzept

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

Java Cheatsheet. Mehrzeiliger Kommentar (beginnt mit /* und endet mit */)

Java Cheatsheet. Mehrzeiliger Kommentar (beginnt mit /* und endet mit */) Good code is its own best documentation. (Steve McConnell) Java Cheatsheet Java Grundlagen Aufbau einer Klasse Name der Klasse public class MeineKlasse { Textdatei MeineKlasse.java (muss dem Namen der

Mehr

Programmieren II Klassen. Programmieren II Klassen. Programmieren II Klassen. Programmieren II Klassen. Zur Erinnerung.

Programmieren II Klassen. Programmieren II Klassen. Programmieren II Klassen. Programmieren II Klassen. Zur Erinnerung. Vorbemerkungen Zur Erinnerung aktueller Standpunkt: Entwickler von (bibliotheken) jetzt sind wichtig interne Repräsentation der Daten Realisierung der gewünschten Funktionalität Bereitstellung geeigneter

Mehr

Klausur in Programmieren

Klausur in Programmieren Studiengang Sensorik/Sensorsystemtechnik Note / normierte Punkte Klausur in Programmieren Sommer 2014, 16. Juli 2014 Dauer: 1,5h Hilfsmittel: Keine (Wörterbücher sind auf Nachfrage erlaubt) Name: Matrikelnr.:

Mehr

Einführung in die Programmierung Wintersemester 2011/12

Einführung in die Programmierung Wintersemester 2011/12 Einführung in die Programmierung Wintersemester 2011/12 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund : Kontrollstrukturen Inhalt Wiederholungen - while

Mehr

Klausur in Programmieren

Klausur in Programmieren Studiengang Sensorik/Sensorsystemtechnik Note / normierte Punkte Klausur in Programmieren Sommer 2010, 19. Juli 2010 Dauer: 1,5h Hilfsmittel: Keine (Wörterbücher sind auf Nachfrage erlaubt) Name: Matrikelnr.:

Mehr

Unterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur

Unterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur Unterprogramme Unterprogramme sind abgekapselte Programmfragmente, welche es erlauben, bestimmte Aufgaben in wiederverwendbarer Art umzusetzen. Man unterscheidet zwischen Unterprogrammen mit Rückgabewert

Mehr

Der C++ Crashkurs v1.0

Der C++ Crashkurs v1.0 Der C++ Crashkurs v1.0 Daniel Stöckel, M. Sc. October 14, 2013 1 Grundlegendes 1.1 Das erste Programm Wir beginnen mit einem einfachen Hello world Programm. Listing 1: hello world.cpp // Einbinden der

Mehr

10 Lesen und Schreiben von Dateien

10 Lesen und Schreiben von Dateien 10 Lesen und Schreiben von Dateien 10 Lesen und Schreiben von Dateien 135 10.1 Mit load und save Binäre Dateien Mit save können Variableninhalte binär im Matlab-Format abgespeichert werden. Syntax: save

Mehr

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny 9. Zeiger Arbeitsspeicher / Adressen Der Arbeitsspeicher des Computers (RAM) besteht aus einem Feld von Speicherzellen, beginnend bei Adresse

Mehr

Das erste C++ Programm

Das erste C++ Programm Das erste C++ Programm // Program: power8.c // Raise a number to the eighth power. #include int main() { // input std::cout > a; // computation int

Mehr

Probeklausur: Programmierung WS04/05

Probeklausur: Programmierung WS04/05 Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,

Mehr

C++ Einführung. und Datenanalyse mit ROOT. Jörg Marks, Physikalisches Institut, INF 226

C++ Einführung. und Datenanalyse mit ROOT. Jörg Marks, Physikalisches Institut, INF 226 Sommer Semester 2016 C++ Einführung 10.4-14.4.2016 14:00 17:00 CIP Pool INF 226 und Datenanalyse mit ROOT Jörg Marks, Physikalisches Institut, INF 226 marks@physi.uni-heidelberg.de Inhalt Programmierwerkzeuge

Mehr

Operatoren und Ausdrücke

Operatoren und Ausdrücke Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling benedict.reuschling@h-da.de Hochschule Darmstadt Fachbereich Informatik WS 2013/14 Überblick 1 2 / 11 Motivation Es gibt eine Reihe

Mehr

Nachname: Vorname: Matr.-Nr.: Punkte: 1. Aufgabe: ( / 25 Pkt.) Gegeben ist das folgende Struktogramm zur Berechnung von sin(x) mit Hilfe einer Reihe.

Nachname: Vorname: Matr.-Nr.: Punkte: 1. Aufgabe: ( / 25 Pkt.) Gegeben ist das folgende Struktogramm zur Berechnung von sin(x) mit Hilfe einer Reihe. 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: ( / 25 Pkt.) Gegeben ist das folgende

Mehr

Programmierkurs C++ Kapitel 9, Überladen Seite 1

Programmierkurs C++ Kapitel 9, Überladen Seite 1 Programmierkurs C++ Kapitel 9, Überladen Seite 1 Funktionen überladen int datum (int jahr); int datum (char person[]); sind in C++ zwei verschiedene Funktionen, die beide denselben Funktionsnamen haben.

Mehr

FH München, FB 03 FA WS 06/07. Ingenieurinformatik. Name Vorname Matrikelnummer Sem.Gr.: Hörsaal Platz

FH München, FB 03 FA WS 06/07. Ingenieurinformatik. Name Vorname Matrikelnummer Sem.Gr.: Hörsaal Platz FH München, FB 03 FA WS 06/07 Ingenieurinformatik Name Vorname Matrikelnummer Sem.Gr.: Hörsaal Platz Zulassung geprüft vom Aufgabensteller: Teil I Aufg. 2 Aufg. 3 Aufg. 4 Aufg. 5 Summe Note Aufgabensteller:

Mehr

Hydroinformatik I C++ und Visual C++

Hydroinformatik I C++ und Visual C++ Version 4.01-12. April 2012 Hydroinformatik I C++ und Visual C++ Olaf Kolditz & Bastian Kolditz TU Dresden / UFZ Leipzig Angewandte Umweltsystemanalyse Umweltinformatik SoSe 2012 c OGS Teaching 2012 2

Mehr

Der Datentyp String. Stringvariable und -vergleiche

Der Datentyp String. Stringvariable und -vergleiche Informatik 12 mit Java: Gierhardt Zeichenketten bzw. Strings Der Datentyp String Zeichenketten bzw. Strings sind eine häufig benutzte Datenstruktur. Man könnte auch mit Arrays aus Zeichen arbeiten. Da

Mehr

Objektorientierung Grundlagen

Objektorientierung Grundlagen Prof. Dr.-Ing. Andreas Simon Telefon +49 (0)5331 939 42630 Telefax +49 (0)5331 939 43634 E-Mail a.simon@ostfalia.de Objektorientierung Grundlagen Probeklausur 18. Mai 2015 Name: Mat.-Nr.: Vorname: Login:

Mehr

5.4 Klassen und Objekte

5.4 Klassen und Objekte 5.4 Klassen und Objekte Zusammenfassung: Projekt Figuren und Zeichner Figuren stellt Basisklassen für geometrische Figuren zur Verfügung Zeichner bietet eine übergeordnete Klasse Zeichner, welche die Dienstleistungen

Mehr

Lösungsvorschlag zum Übungsblatt 1 zur Vorlesung Informatik II / WS2001/02

Lösungsvorschlag zum Übungsblatt 1 zur Vorlesung Informatik II / WS2001/02 Lösungsvorschlag zum Übungsblatt 1 zur Vorlesung Informatik II / WS2001/02 Prof. Dr.-Ing. Holger Vogelsang (FH-Karlsruhe) Dipl.-Inform. (FH) Gudrun Keller (FH-Karlsruhe) Dipl.-Inform. Mathias Supp (.riess

Mehr

Grundlagen. Kapitel 1

Grundlagen. Kapitel 1 Grundlagen Dieses Kapitel umfasst grundlegende Fragen und Aufgaben zur Erstellung von C++-Programmen. Hierzu zählen auch das Inkludieren von Header-Dateien Eine Header-Datei beinhaltet Informationen, die

Mehr

Verwendung von Klassen in C++

Verwendung von Klassen in C++ Verwendung von Klassen in C++ Heute: Benutzerdefinierte Datentypen (Konkrete Klassen) Vektoren Komplexe Zahlen Adressdatei Morgen: Objektorientierte Programmierung (Abstrakte Klassen) Vererbung Polymorphie

Mehr

Einführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015

Einführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015 Java Crashkurs Kim-Manuel Klein (kmk@informatik.uni-kiel.de) May 4, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)

Mehr