C++ - Einführung in die Programmiersprache String (Zeichenkette)

Größe: px
Ab Seite anzeigen:

Download "C++ - Einführung in die Programmiersprache String (Zeichenkette)"

Transkript

1 C++ - Einführung in die Programmiersprache String (Zeichenkette) H A L L O \0 Leibniz Universität IT Services Anja Aue

2 Strings Sammlung von Buchstaben, Zahlen, Satzzeichen, Sonderzeichen und mathematischen Symbolen in einem Feld. Array vom Datentyp char[]. Verkettung von beliebig vielen Elementen aus dem ASCII- Zeichensatz. In C++ stellt die Klasse String Attribute für eine Zeichenkette und Methoden zum Bearbeiten bereit. C++ - Einführung Seite 2

3 ASCII-Zeichentabelle C++ - Einführung Seite 3

4 im Internet American_Standard_Code_for_Information_Interchange Tabelle C++ - Einführung Seite 4

5 ... und NetBeans Rechtsklick auf das Projekt. Auswahl des Befehls Properties im Kontextmenü des Projektes. Die Kategorie Sources ist aktiv. Die Liste Encoding am unteren Ende gibt Auskunft über den genutzten Zeichensatz in dem Projekt. Standardmäßig wird UTF-8 genutzt. C++ - Einführung Seite 5

6 ... und in der Microsoft Eingabeaufforderung Die Microsoft Eingabeaufforderung unterstützt standardmäßig nur ASCII-Zeichencode (siehe Der Befehl chcp zeigt die aktuelle genutzte Codepage an. Der Befehl chcp 1252 stellt die aktuelle Codepage auf West European Latin um. C++ - Einführung Seite 6

7 Array vom Typ char char buchstaben[] = {'h', 'e', 'l', 'l', 'o'}; cout << "Ausgabe des Strings: " << buchstaben << '\n'; Beispiele/_1010_String_... for(int index = 0; index < (sizeof(buchstaben) / sizeof(char)); index++) { cout << "Element " << index << ": " << buchstaben[index] << '\t'; } C++ - Einführung Seite 7

8 Erläuterung h e l l o Die Elemente des Arrays speichern einen beliebigen Wert vom Datentyp char. Jedes Element hat die Größe, die zum Speichern eines Datentyps char benötigt wird. Werte vom Datentyp char werden durch Aphostrophs begrenzt. C++ - Einführung Seite 8

9 C-Style - Strings char zeichenkette[] = {'h', 'e', 'l', 'l', 'o', '\0'}; char zeichen[] = "hello"; cout << '\n' << "Ausgabe des Strings zeichenkette: " << zeichenkette << '\n'; Beispiele/_1010_String_.. cout << '\n' << "Ausgabe des Strings zeichen: " << zeichen << '\n'; C++ - Einführung Seite 9

10 Erläuterung h e l l o \0 Strings bestehen aus beliebigen Werten vom Datentyp char. Strings enden immer mit dem Null-Character \0, egal an welcher Position das Zeichen im Array steht. Durch die Kurzschreibweise "string" wird ein Array vom Datentyp char erzeugt. Das letzte Element in dem Array hat den Wert \0. String als Literale werden immer durch die Anführungszeichen begrenzt. C++ - Einführung Seite 10

11 Länge eines Strings #include <iostream> #include <cstring> using std::cout; int main() { char zitat[] = " To be, or not to be--that is the question: Whether 'tis nobler in the mind to suffer.\n"; } cout << "Länge des Strings: " << strlen(zitat); return 0; Beispiele/_1011_String_.. C++ - Einführung Seite 11

12 Erläuterung Die C-Standardbibliothek <cstring> definiert verschiedene Methoden für die Bearbeitung von Strings. Die Methode strlen(array) gibt die Anzahl der sichtbaren Zeichen eines Strings zurück. Der Null-Character wird nicht als sichtbares Zeichen gezählt. Die Anzahl der Elemente in dem Array kann mit Hilfe der Formel Anzahl (strlen(array) + 1) berechnet werden. C++ - Einführung Seite 12

13 String-Literale im Code cout << " To be, or not to be--that is the question: Whether 'tis nobler in the mind to suffer.\n"; cout << " To be, or not to be--that is the question:" " Whether 'tis nobler in the mind to suffer.\n"; cout << " To be, or not to be--that is the question:" " Whether 'tis nobler in the mind to suffer.\n"; Beispiele/_1011_String_.. Die Strings werden miteinander verbunden. Ein Leerzeichen zwischen den beiden Strings wird nicht automatisch eingefügt, sondern muss im String als Zeichen gesetzt werden. C++ - Einführung Seite 13

14 Aus- und Eingabestream char antwort[200]; char zitat[] = " To be, or not to be--that is the question: Whether 'tis nobler in the mind to suffer.\n"; cout << "\naus welchen Stück stammt das Zitat? Wer ist der Autor?\n"; cin >> antwort; cout << "Folgende Antwort wurde gegeben: " << antwort << '\n'; Beispiele/_1011_String_.. To be, or not to be--that is the question: Whether 'tis nobler in the mind to suffer. Aus welchen Stück stammt das Zitat? Wer ist der Autor? Hamlet Skapesheare Folgende Antwort wurde gegeben: Hamlet C++ - Einführung Seite 14

15 Ausgabestream cout << "\naus welchen Stück stammt das Zitat? Wer ist der Autor?\n"; cout ist in der Bibliothek <iostream> definiert. Mit Hilfe Hilfe der using-anweisung std::cout wird der Ausgabestream für die Nutzung freigegeben. Als Standardausgabe wird der Bildschirm genutzt. Die Spitze des Kleiner-Zeichens zeigt die Richtung an, in die der Stream umgeleitet wird. In diesem Beispiel wird der Stream von Bytes auf die Standardausgabe umgeleitet. C++ - Einführung Seite 15

16 Eingabestream cin >> antwort; cin ist in der Bibliothek <iostream> definiert. Mit Hilfe Hilfe der using-anweisung std::cin wird der Eingabestream für die Nutzung freigegeben. Die Zeichen werden standardmäßig mit der Tastatur eingegeben. Die Spitze des Größer-Zeichens zeigt die Richtung an, in die der Stream umgeleitet wird. In diesem Beispiel wird der Stream von Bytes in die Variable antwort umgeleitet. C++ - Einführung Seite 16

17 Speicherung in einem Array von char cin >> antwort; Es werden alle Zeichen bis zum ersten Leerzeichen, Tabulator oder der Eingabetaste eingelesen. Alle nach einem Leerzeichen, Tabulator oder der Eingabetaste folgenden Zeichen verbleiben im Stream. Die Obergrenze des Arrays kann beim Lesen von Zeichen überschritten werden, ohne das ein Fehler ausgegeben wird. C++ - Einführung Seite 17

18 Zeilenweise einlesen: getline() char antwort[200]; char antwort[200]; char zitat[] To be, or not to be--that is the question: char zitat[] = " To be, or not to be--that is the question: Whether 'tis nobler in the mind to suffer.\n"; Whether 'tis nobler in the mind to suffer.\n"; cout << "\naus welchen Stück stammt das Zitat? Wer ist der Autor?\n"; cout << "\naus welchen Stück stammt das Zitat? Wer ist der Autor?\n"; cin.getline(antwort, 200); cin >> antwort; cout << "Folgende Antwort wurde gegeben " << antwort << '\n'; cout << "Folgende Antwort wurde gegeben << antwort << '\n'; Beispiele/_1011_String_.. To be, or not to be--that is the question: Whether 'tis nobler in the mind to suffer. Aus welchen Stück stammt das Zitat? Wer ist der Autor? Hamlet Skapesheare Folgende Antwort wurde gegeben: Hamlet Skapesheare C++ - Einführung Seite 18

19 Arbeitsweise Es werden maximal x Zeichen (zweiter Parameter) zeilenweise in eine Variable gelesen. Falls weniger Zeichen als die maximale Anzahl von Zeichen eingegeben wurden, liest die Methode alle Zeichen bis zum Drücken der Eingabetaste (Return-Taste) ein. Die Eingabetaste wird als newlinie interpretiert. Das Zeichen wird aus den Buffer gelesen und durch den Null-Character '\0' in der Variablen ersetzt. C++ - Einführung Seite 19

20 Parameter Als erster Parameter wird der Methode der Name des Zielspeicherortes übergeben. In welcher Variablen wird die eingelesene Zeile gespeichert? Als zweiter Parameter wird die maximale Anzahl von Zeichen, die eingelesen werden sollen, übergeben. In diesem Beispiel ist das Limit auf 200 Zeichen festgesetzt. Es werden 199 Zeichen eingelesen. Das letzte Zeichen ist für den Null-Character reserviert. C++ - Einführung Seite 20

21 Zeilenweise einlesen: get() char antwort[200]; char antwort[200]; char zitat[] To be, or not to be--that is the question: char zitat[] = " To be, or not to be--that is the question: Whether 'tis nobler in the mind to suffer.\n"; Whether 'tis nobler in the mind to suffer.\n"; cout << "\naus welchen Stück stammt das Zitat? Wer ist der Autor?\n"; cout << "\naus welchen Stück stammt das Zitat? Wer ist der Autor?\n"; cin.get(antwort, maxzeichen); cin >> antwort; cout << "Folgende Antwort wurde gegeben " << antwort << '\n'; cout << "Folgende Antwort wurde gegeben << antwort << '\n'; Beispiele/_1011_String_... To be, or not to be--that is the question: Whether 'tis nobler in the mind to suffer. Aus welchen Stück stammt das Zitat? Wer ist der Autor? Hamlet Skapesheare Folgende Antwort wurde gegeben: Hamlet Skapesheare C++ - Einführung Seite 21

22 Arbeitsweise Mit Hilfe der Methode cin.get() werden maximal x Zeichen zeichenweise in eine Variable gelesen. Falls weniger Zeichen als die maximale Anzahl von Zeichen eingegeben wurden, liest die Methode alle Zeichen bis zum Drücken der Eingabetaste (Return-Taste) ein. Die Eingabetaste wird standardmäßig als newlinie interpretiert. Jedes andere Trennzeichen ist aber auch möglich. Das Zeichen verbleibt im Buffer. Die Methode gibt es in verschiedenen Varianten. Die Methode ist überladen. C++ - Einführung Seite 22

23 Parameter Als erster Parameter wird der Methode der Name des Zielspeicherortes übergeben. In welcher Variablen wird die eingelesene Zeile gespeichert? Als zweiter Parameter wird die maximale Anzahl von Zeichen, die eingelesen werden sollen, übergeben. Diese Variante entspricht der Methode.getline(). C++ - Einführung Seite 23

24 Zeilenweise einlesen: get() char antwort[200]; char antwort[200]; char zitat[] To be, or not to be--that is the question: char zitat[] = " To be, or not to be--that is the question: Whether 'tis nobler in the mind to suffer.\n"; Whether 'tis nobler in the mind to suffer.\n"; cout << "\naus welchen Stück stammt das Zitat? Wer ist der Autor?\n"; cout << "\naus welchen Stück stammt das Zitat? Wer ist der Autor?\n"; cin.get(antwort, maxzeichen, ' '); cin >> antwort; cout << "Folgende Antwort wurde gegeben " << antwort << '\n'; cout << "Folgende Antwort wurde gegeben << antwort << '\n'; Beispiele/_1011_String_... To be, or not to be--that is the question: Whether 'tis nobler in the mind to suffer. Aus welchen Stück stammt das Zitat? Wer ist der Autor? Hamlet Skapesheare Folgende Antwort wurde gegeben: Hamlet C++ - Einführung Seite 24

25 Parameter Als erster Parameter wird der Methode der Name des Zielspeicherortes übergeben. In welcher Variablen wird die eingelesene Zeile gespeichert? Als zweiter Parameter wird die maximale Anzahl von Zeichen, die eingelesen werden sollen, übergeben. Als dritter Parameter kann der Methode ein Trennzeichen für die Zeilen übergeben werden. Standardmäßig wird '\n' genutzt. In diesem Beispiel wird eine wortweise Trennung mit Hilfe des Leerzeichens genutzt. C++ - Einführung Seite 25

26 Lesen des nächsten Zeichens cin.get(); Beispiele/_1011_String_... Diese Variante liest das nächste Zeichen aus dem Buffer. Wenn das Ende der Datei (EOF) erreicht ist, liefert die Methode die symbolische Konstante EOF. Die Konstante ist in der Bibliothek <iostream> definiert. C++ - Einführung Seite 26

27 Löschen des failbits char antwort[200]; char antwort[200]; char zitat[] To be, or not to be--that is the question: char zitat[] = " To be, or not to be--that is the question: Whether 'tis nobler in the mind to suffer.\n"; Whether 'tis nobler in the mind to suffer.\n"; cout << "\naus welchen Stück stammt das Zitat? Wer ist der Autor?\n"; cout << "\naus welchen Stück stammt das Zitat? Wer ist der Autor?\n"; cin >> antwort; cin.clear(); cout << "Folgende Antwort wurde gegeben " << antwort << '\n'; Beispiele/_1011_String_.. C++ - Einführung Seite 27

28 Leeren des Buffers char antwort[200]; char antwort[200]; char zitat[] To be, or not to be--that is the question: char zitat[] = " To be, or not to be--that is the question: Whether 'tis nobler in the mind to suffer.\n"; Whether 'tis nobler in the mind to suffer.\n"; cout << "\naus welchen Stück stammt das Zitat? Wer ist der Autor?\n"; cout << "\naus welchen Stück stammt das Zitat? Wer ist der Autor?\n"; cin >> antwort; cin.ignore(10000,'\n'); cout << "Folgende Antwort wurde gegeben " << antwort << '\n'; Beispiele/_1011_String_.. Im Buffer vorhandene Zeichen werden entfernt. Es werden x Zeichen (erster Parameter) bis zum angegebenen Zeichen (zweiter Parameter) entfernt. C++ - Einführung Seite 28

29 C++-Style - Strings #include <iostream> #include <string> using std::string; int main() { string zitat; Beispiele/_1020_String... } zitat = " To be, or not to be--that is the question: Whether 'tis nobler in the mind to suffer.\n"; return 0; C++ - Einführung Seite 29

30 Erläuterung Strings werden in der Programmiersprache C++ in der Bibliothek <string> definiert. Die Klasse ist ein Container für die Nutzung von Arrays vom Typ char. Mit Hilfe der Anweisung using std::string wird die Klasse zur Nutzung freigegeben. Klassen stellen einen Bauplan für einen bestimmten Typ von Daten bereit. string variable definiert eine Variable von der Klasse string. C++ - Einführung Seite 30

31 Deklaration von String-Variablen string zitat ; string variable ; Definition einer Variablen von der Klasse string. Mit Hilfe des Bauplans string wird ein konkretes Objekt zitat erzeugt. Für das Objekt wird automatisiert genügend Speicher bereitgestellt. C++ - Einführung Seite 31

32 Initialisierungsanweisung string zitat; zitat = " To be, or not to be--that is the question: Whether 'tis nobler in the mind to suffer.\n"; Beispiele/_1020_String... Literale vom Typ string werden immer durch die Anführungszeichen begrenzt. Strings werden mit Hilfe des Gleichheitszeichen einer Variablen vom Typ string zugewiesen. C++ - Einführung Seite 32

33 Definition und Initialisierung Beispiele/_1020_String... string autor = "Skapespeare"; string stueck("hamlet"); Mit Hilfe des Zuweisungsoperators wird dem String ein Wert zugewiesen. Andere Möglichkeit: Direkt im Anschluss an den Namen der Variablen folgt die geöffnete und geschlossene runde Klammer. In den runden Klammern wird der Variablen der Intialisierungswert übergeben. In beiden Fällen wird ein Konstruktor zur Erzeugung des konrekten Objekts aufgerufen. C++ - Einführung Seite 33

34 Literale als Initialisierungsstring Beispiele/_1020_String... string autor = "Skapespeare"; string stueck("hamlet"); string angabe = autor + " " + stueck; Als Initialisierungsstring wird ein Literal genutzt. Literale Strings werden durch die Anfürhungszeichen begrenzt. C++ - Einführung Seite 34

35 Variablen als Initialisierungsstring nutzen Beispiele/_1020_String... string autor = "Skapespeare"; string stueck("hamlet"); string angabe = autor + " " + stueck; string schriftsteller(autor); string dichter(angabe,0,11); string schreiber(angabe,0,autor.length()); In den runden Klammern kann dem Konstruktur auch eine deklarierte String-Variable übergeben werden. Der String kann den Wert einer String-Variablen vollständig oder nur ein Teilwort nutzen. C++ - Einführung Seite 35

36 Nutzung von Teilworten aus einem String Beispiele/_1020_String... string autor = "Skapespeare"; string stueck("hamlet"); string angabe = autor + " " + stueck; string dichter(angabe,0,11); string schreiber(angabe,0,autor.length()); Als erster Parameter wird eine Variable vom Typ String oder ein Literal übergeben. Aus diesen String werden ab der Start-Position (zweiter Parameter) x Zeichen (dritter Parameter) gelesen und in dem String schreiber und dichter gespeichert. Das erste Zeichen in einem String hat den Index 0. C++ - Einführung Seite 36

37 Weitere Möglichkeit Beispiele/_1020_String... string dna(3, 'T'); Dem Konstruktur wird die Anzahl der Zeichen und ein Zeichen übergeben. Der zweite Parameter muss ein Zeichen vom Datentyp char sein. Das Zeichen wird durch das Aphostroph begrenzt. Das angegebene Zeichen wird x mal dupliziert. Die Anzahl wird mit Hilfe des ersten Zeichens angegeben. C++ - Einführung Seite 37

38 Array von Strings const int maxteilnehmer = 5; string teilnehmer[maxteilnehmer]; Beispiele/_1021_String... Array vom Typ string werden genauso deklarariert und initialisiert wie Arrays vom Datentyp char, int etc. Die Elemente haben einen Index von 0 bis n. C++ - Einführung Seite 38

39 Ausgabe von Strings for(int index = 0; index < maxteilnehmer; index++) { cout << index << ". Teilnehmer: " << teilnehmer[index] << '\n'; } Beispiele/_1021_String... C++ - Einführung Seite 39

40 Einlesen von Strings for(int index = 0; index < maxteilnehmer; index++) { cout << "Bitte geben Sie den Namen des Teilnehmers ein: "; cin >> teilnehmer[index]; cin.clear(); cin.ignore(10000,'\n'); } Beispiele/_1021_String... C++ - Einführung Seite 40

41 Zeilenweises Einlesen #include <iostream> #include <string> using std::getline; int main() { const int maxteilnehmer = 5; const int maxzeichen = 100; string teilnehmer[maxteilnehmer]; Beispiele/_1021_String... for(int index = 0; index < maxteilnehmer; index++) { cout << "Bitte geben Sie den Namen des Teilnehmers ein:\n "; getline(cin, teilnehmer[index]); } C++ - Einführung Seite 41

42 Hinweise Als erster Parameter wird der Funktion getline() die Quelle übergeben. Von welchem Medium soll eingelesen werden? In diesem Beispiel wird von der Standardeingabe eingelesen. Als zweiter Parameter wird der Funktion getline() der Speicherort der Zeile übergeben. In diesem Beispiel wird die Zeile in einem Array-Element gespeichert. C++ - Einführung Seite 42

43 Länge eines Strings string buchstaben = "abcdefg"; cout << "Anzahl der Zeichen: " << buchstaben.size(); Beispiele/_1022_String... Die Methode size() gibt die Anzahl von Zeichen in einem String zurück. Methoden für Objekte vom Datentyp string sind in der Klasse <string> definiert. C++ - Einführung Seite 43

44 Methoden size ( ) ; methode ( Parameterliste ) ; Funktionen, die in der Klasse string definiert sind. Der Aufruf der Methode erfolgt über den Namen der Methode. Der Aufruf beachtet die Groß- und Kleinschreibung in Bezeichnungen. C++ - Einführung Seite 44

45 Parameterliste und Rückgabewert size ( ) ; methode ( Parameterliste ) ; Methoden können einen Rückgabewert haben, müssen aber nicht. Zum Beispiel die Methode size() liefert die Anzahl der Zeichen zurück. Dem Namen der Methode folgen die runden Klammern. In den Klammern kann eine Parameterliste für die Methode definiert sein. Wenn die Klammer leer ist, werden der Methode keine Parameter übergeben. C++ - Einführung Seite 45

46 Objekte und der Methoden buchstaben. size ( ) ; objekt. methode ( Parameterliste ) ; Objekte und deren Methoden werden durch einen Punkt verbunden. Die Methode bezieht sich immer auf das Objekt links vom Punkt. Eine Methode kann in Abhängigkeit des Objekts einen Wert zurückgeben. Die Parameterliste beeinflusst das Objekt links vom Punkt. C++ - Einführung Seite 46

47 Informationen zu einer Methode in Netbeans C++ - Einführung Seite 47

48 und im Web C++ - Einführung Seite 48

49 Zeichen in einem String cout << "\nerstes Zeichen: " << buchstaben[0]; cout << "\nerstes Zeichen: " << buchstaben.at(0); Beispiele/_1022_String... Eine Variable vom Datentyp string entspricht einem Array von char. Durch die Angabe eines Indizes kann ein einzelnes Zeichen aus einem String ausgegeben oder in einer Variablen gespeichert werden. Das erste Zeichen hat den Index 0. C++ - Einführung Seite 49

50 Methode nutzen cout << "\nerstes Zeichen: " << buchstaben[0]; cout << "\nerstes Zeichen: " << buchstaben.at(0); Beispiele/_1022_String... Die Methode.at() gibt ein einzelnes Zeichen zurück. In den runden Klammern wird der Methode die Position des Zeichens in dem String übergeben. Das erste Zeichen hat die Position 0. Vorteil: Die Methode wirft ein Fehler, wenn die Unter- oder Obergrenze des Strings überschritten wird. C++ - Einführung Seite 50

51 Vergleich von Strings string kleinbuchstaben = "abcdefg"; string grossbuchstaben = "ABCDEFG"; bool ergebnis; ergebnis = (kleinbuchstaben == grossbuchstaben); Beispiele/_1022_String... Die Zeichen werden aufgrund ihrer ASCII-Codierung verglichen. Der Rückgabewert ist vom Datentyp bool. C++ - Einführung Seite 51

52 Methode nutzen string kleinbuchstaben = "abcdefg"; string grossbuchstaben = "ABCDEFG"; int result; result = (kleinbuchstaben.compare(grossbuchstaben)); cout << "\nist gleich? " << result << '\n'; Beispiele/_1022_String... Die Zeichen werden aufgrund ihrer ASCII-Codierung verglichen. Der Rückgabewert ist vom Datentyp int. C++ - Einführung Seite 52

53 Rückgabeparameter der Methode = 0. Der String ist gleich. < 0. Einer der Buchstaben ist kleiner als der andere an der Position. > 0. Einer der Buchstaben ist größer als der andere an der Position. Die Kleinbuchstaben liegen in der ASCII-Tabelle nach den Großbuchstaben. Kleinbuchstaben werden mit einer größeren Zahl als Großbuchstaben codiert. C++ - Einführung Seite 53

54 Umwandlung von Groß- in Kleinbuchstaben for(int index = 0; index < grossbuchstaben.size(); index++) { kleinzeichen += std::tolower(grossbuchstaben[index]); } Beispiele/_1022_String... Die Funktion tolower() wandelt einzelne Zeichen in Kleinbuchstaben um. Zeichen, die keine Buchstaben sind, werden ignoriert. Die Funktion ist in der Bibliothek <locale> definiert. C++ - Einführung Seite 54

55 Umwandlung von Klein- in Großbuchstaben for(int index = 0; index < kleinbuchstaben.size(); index++) { grosszeichen += (std::toupper(kleinbuchstaben[index])); } Beispiele/_1022_String... Die Funktion toupper() wandelt einzelne Zeichen in Großbuchstaben um. Zeichen, die keine Buchstaben sind, werden ignoriert. Die Funktion ist in der Bibliothek <locale> definiert. C++ - Einführung Seite 55

56 Verknüpfung von Strings string kleinbuchstaben = "abcdefg"; string grossbuchstaben = "ABCDEFG"; string buchstaben; buchstaben = kleinbuchstaben + grossbuchstaben;; Beispiele/_1022_String... Mit Hilfe des Pluszeichen können einzelne Zeichen oder Strings zu einem anderen String verknüpft werden. C++ - Einführung Seite 56

57 Zeichen an das Ende eines Strings anhängen grosszeichen += (std::toupper(kleinbuchstaben[index])); Beispiele/_1022_String... Mit Hilfe des zusammengesetzten Operators =+ können einzelne Zeichen oder Strings an das Ende eines anderen Strings angehängt werden. C++ - Einführung Seite 57

58 Erläuterung Zusammengesetzte Operatoren führen zuerst die Rechenoperation aus. In diesem Beispiel wird grossbuchstaben mit einem Zeichen aus dem String kleinbuchstaben verknüpft. Das Ergebnis der Operation wird in der Variablen links vom zusammengesetzten Operator gespeichert. C++ - Einführung Seite 58

59 Mit Hilfe einer Methode buchstaben.append(kleinbuchstaben); Beispiele/_1022_String... Der Methode append() wird der String übergeben, der an das Ende eines Strings angehängt werden soll. Der übergebene Parameter wird an den String links vom Punkt angehängt. Die Methode verändert das dazugehörige Objekt. C++ - Einführung Seite 59

60 Teilstrings anhängen buchstaben.append(grossbuchstaben, 0, 3); Beispiele/_1022_String... Der Methode append() wird als ersten Parameter, der String übergeben. Aus diesen String soll ein Teilstring an das, zu der Methode gehörende Objekt angehängt werden. Als zweite Parameter wird die Start-Position übergeben. Hier beginnt der Teilstring an der ersten Position des Strings grossbuchstaben. Als dritter Parameter wird die Länge des Teilstrings übergeben. In diesem Beispiel hat der Teilstring eine Länge von 3 Zeichen. C++ - Einführung Seite 60

61 Überladung von Methoden Methoden, die überladen wurden, haben wie Funktionen den gleichen Namen. Überladene Methoden unterscheiden sich aber in der Parameterliste. Die Anzahl der Parameter und / oder die Datentypen der Parameter sind unterschiedlich. Der Rückgabewert kann bei Methoden desselben Namens gleich sein, muss aber nicht. Der Compiler ruft entsprechend der Parameterliste die Methoden auf. Viele Methoden in der Bibliothek <string> sind überladen. C++ - Einführung Seite 61

62 Einfügung von Strings buchstaben.insert(3, grossbuchstaben); Beispiele/_1022_String... An der Position x (erster Parameter) wird ein String (zweiter Parameter) eingefügt. Der Text ab der Position x + 1 wird automatisch verschoben. C++ - Einführung Seite 62

63 Ersetzung von Strings buchstaben.replace(2,strlen("xyz"),"xyz", strlen("xyz")); Beispiele/_1022_String... An der Position x (erster Parameter) werden x Zeichen (zweiter Parameter) ersetzt. Als dritter Parameter wird der Ersetzungsstring an die Methode übergeben. Der vierte Parameter gibt die Länge des Ersetzungsstrings an. In diesem Beispiel werden ab der Position zwei drei Zeichen durch die ersten drei Zeichen aus dem String XYz ersetzt. Der String hat eine Länge von drei Zeichen. C++ - Einführung Seite 63

64 Löschen von Zeichen aus einem String buchstaben.erase(2, 2); Beispiele/_1022_String... Ab der Position x (erster Parameter) werden x Zeichen (zweiter Parameter) gelöscht. C++ - Einführung Seite 64

65 Löschen des Strings buchstaben.clear(); Beispiele/_1022_String... Der String wird vollständig gelöscht. C++ - Einführung Seite 65

66 Löschen des Strings if (!(buchstaben.empty())) { buchstaben.clear(); } Beispiele/_1022_String... Das Ausrufezeichen negiert einen boolschen Wert. Mit Hilfe der Methode.empty() wird abgefragt, ob der String leer ist. Wenn der String nicht leer ist, lösche diesen. C++ - Einführung Seite 66

67 Suchen in Strings string zitat = " To be, or not to be--that is the question: Whether 'tis nobler in the mind to suffer.\n"; int zaehler = -1; int pos = zitat.size() + 1; Beispiele/_1023_String... do { pos--; zaehler++; pos = zitat.rfind("b", pos); }while(pos!= string::npos); C++ - Einführung Seite 67

68 Erläuterung Die Methode rfind(string, pos) beginnt am Ende (right side) des Strings mit der Suche. Die Methode find(string, pos) beginnt am Anfang des Strings mit der Suche. Beiden Methoden wird als erster Parameter der String übergeben, nach dem gesucht werden soll. In diesem Beispiel wird nach dem Buchstaben b gesucht. Als zweiter Parameter wird der Beginn der Suche übergeben. Wo soll in dem Objekt mit der Suche begonnen werden? Der zweite Parameter ist optional. C++ - Einführung Seite 68

69 Suchen in Strings string waehrung = " 123, , ,456.78"; std::size_t gefundenan = waehrung.find_first_of(",."); while (gefundenan!=std::string::npos){ switch(waehrung[gefundenan]){ case '.': waehrung[gefundenan] = ','; break; Beispiele/_1024_String... } } case ',': waehrung[gefundenan] = '.'; break; gefundenan= waehrung.find_first_of(",.",gefundenan+1); C++ - Einführung Seite 69

70 Erläuterung Die Methode find_first_of(string) beginnt am Anfang des Strings mit der Suche. Die Methode find_last_of(string) beginnt am Ende des Strings mit der Suche. Der zu übergebende Suchstring enthält alle Zeichen, nach denen in dem dazugehörigen Objekt gesucht werden soll. C++ - Einführung Seite 70

71 Typ size_t std::size_t gefundenan = waehrung.find_first_of(",."); size_t ist ein vorzeichenloser Integer-Typ. Rückgabewert von sizeof(datentyp). Der Typ ist in der Bibliothek <cstring> und vielen anderen Bibliotheken definiert. Speicherung eines Indizies. Angabe der Größe eines Objekts in Bytes. Implementierungsabhängig. C++ - Einführung Seite 71

72 Teilstrings aktuellepos = waehrung.find(" "); Beispiele/_1024_String... while(aktuellepos!= string::npos) { strtemp = waehrung.substr(vorherigepos, aktuellepos - vorherigepos); vorherigepos = aktuellepos + 1; aktuellepos = waehrung.find(" ", vorherigepos + 1); } C++ - Einführung Seite 72

73 Erläuterung Die Methode substring(start, anzahl) gibt einen String, beginnend an der Start-Position (erster Parameter) mit x Zeichen (zweiter Parameter) zurück. Der zweite Parameter ist optional. Wenn keine Angaben zur Anzahl gemacht werden, wird der String ab der Start-Position bis zum letzten Zeichen zurückgegeben. C++ - Einführung Seite 73

74 String-Streams Leitung nach außen für Strings. Konvertierung von unterschiedlichen Datenformaten untereinander. Konvertierung von Strings in numerische Werte und umgekehrt. C++ - Einführung Seite 74

75 Beispiel #include <sstream> #include <iomanip> using std::string; using std::stringstream; Beispiele/_1030_Stringstream... int main() { stringstream ausgabetext; string strtemperatur; stringstream streamtemperatur; double dbltemperatur; ausgabetext.str("bitte geben Sie die durchschnittliche Temperatur ein:\n "); std::cout << ausgabetext.str(); std::cin >> strtemperatur; streamtemperatur.str(strtemperatur); streamtemperatur >> std::setprecision(9) >> dbltemperatur; C++ - Einführung Seite 75

76 Erläuterung Stringsstreams werden in der Bibliothek <sstream> definiert. Mit Hilfe der Anweisung using std::stringstream wird die Klasse zur Nutzung freigegeben. Klassen stellen einen Bauplan für einen bestimmten Typ von Daten bereit. stringstream variable definiert eine Variable von der Klasse stringstream. C++ - Einführung Seite 76

77 Deklaration von String-Variablen stringstream streamtemperatur ; stringstream variable ; Definition einer Variablen von der Klasse stringstream. Mit Hilfe des Bauplans stringstream wird ein konkretes Objekt streamtemperatur erzeugt. Mit Hilfe der Deklaration wird eine Leitung zu einem x- beliebigen String-Objekt gelegt. C++ - Einführung Seite 77

78 Leitung legen stringstream ausgabetext; string strtemperatur; stringstream streamtemperatur; ausgabetext.str("text\n"); streamtemperatur.str(strtemperatur); Beispiele/_1030_Stringstream... Mit Hilfe der Methode.str(string) wird ein String in ein Stringstream kopiert. C++ - Einführung Seite 78

79 Konvertierung in ein String cout << ausgabetext.str(); Beispiele/_1030_Stringstream... Mit Hilfe der Methode.str() wird aus dem Inhalt im Stream ein String erzeugt. Hinweis: Die Methode gibt ein temporäres String-Objekt zurück. Es wird der aktuelle Zustand des Stringstreams zurück gegeben. C++ - Einführung Seite 79

80 Konvertierung in eine Gleitkommazahl stringstream streamtemperatur; double dbltemperatur; streamtemperatur >> std::setprecision(9) >> dbltemperatur; Beispiele/_1030_Stringstream... Durch die Umleitungsoperatoren wird der Stream auf eine Variable vom Datentyp double umgeleitet. Durch die Umleitung wird der Stringstream in den entsprechenden Datentyp umgeleitet. C++ - Einführung Seite 80

C Objektorientierte Programmierung Standard-Library am Beispiel von Strings. Leibniz Universität IT Services Anja Aue

C Objektorientierte Programmierung Standard-Library am Beispiel von Strings. Leibniz Universität IT Services Anja Aue C++ - - Objektorientierte Programmierung Standard-Library am Beispiel von Strings Leibniz Universität IT Services Anja Aue C++ - Standardbibliothek Standardisierte Sammlung von häufig vorkommenden Funktionen

Mehr

C++ - Einführung in die Programmiersprache Arrays

C++ - Einführung in die Programmiersprache Arrays C++ - Einführung in die Programmiersprache Arrays Array Array a A b B c C a b c Leibniz Universität IT Services Anja Aue Array (Felder, Vektoren) Zusammenfassung von Variablen gleichen Datentyps Gruppierung

Mehr

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

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf  Seite 1 von 29 Kapitel 12 Strings Seite 1 von 29 Konstante Zeichenfolgen - Zeichenfolgen, die in char-arrays abgelegt werden, werden C- String genannt. - Dies ist in der Programmiersprache C die einzige Möglichkeit Zeichenfolgen

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

Die Klasse string Verfasser: Christian Bartl

Die Klasse string Verfasser: Christian Bartl Die Klasse string Verfasser: Index 1. Allgemein... 3 2. Eingabe von Strings... 3 3. Ausgabe von Strings... 4 4. Länge eines Strings... 4 5. Durchlaufen aller Zeichen eines Strings... 4 6. Kopieren von

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

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

C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren

C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren hat eine Kantenlänge hat eine Füllfarbe Kantenlänge setzen Füllfarbe lesen Volumen berechnen Leibniz Universität IT Services Anja Aue

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

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

C++ - Einführung in die Programmiersprache Funktionen. Leibniz Universität IT Services Anja Aue C++ - Einführung in die Programmiersprache Funktionen Leibniz Universität IT Services Anja Aue Subroutine (Unterprogramm) Lösung von Teilen einer Gesamtaufgabe. Kapselung von Anweisungen, die zu einer

Mehr

C++ - Objektorientierte Programmierung Konstante und statische Elemente

C++ - Objektorientierte Programmierung Konstante und statische Elemente C++ - Objektorientierte Programmierung Konstante und statische Elemente hat eine Kantenlänge hat eine Füllfarbe Kantenlänge setzen Füllfarbe lesen Volumen berechnen Leibniz Universität IT Services Anja

Mehr

Java - Zahlen, Wahrheitswerte und Zeichen. Leibniz Universität IT Services Anja Aue

Java - Zahlen, Wahrheitswerte und Zeichen. Leibniz Universität IT Services Anja Aue Java - Zahlen, Wahrheitswerte und Zeichen Leibniz Universität Anja Aue Kommentare Hilfe für den Entwickler. Wer hat wann welche Änderung vorgenommen? Warum werden diese Anweisungen hier ausgeführt? Bei

Mehr

Projekt 3 Variablen und Operatoren

Projekt 3 Variablen und Operatoren Projekt 3 Variablen und Operatoren Praktisch jedes Programm verarbeitet Daten. Um mit Daten programmieren zu können, muss es Möglichkeiten geben, die Daten in einem Programm zu verwalten und zu manipulieren.

Mehr

C++ - Einführung in die Programmiersprache Zeiger, Referenzen und Strukturen. Leibniz Universität IT Services Anja Aue

C++ - Einführung in die Programmiersprache Zeiger, Referenzen und Strukturen. Leibniz Universität IT Services Anja Aue C++ - Einführung in die Programmiersprache Zeiger, Referenzen und Strukturen Leibniz Universität IT Services Anja Aue Zeiger (Pointer) Verweis auf eine Speicherstelle. Speicherung einer Speicheradresse.

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

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

9. Vektoren. (auch Felder/array)

9. Vektoren. (auch Felder/array) 9. Vektoren (auch Felder/array) Motivation Hat man mehrere Objekte gleichen Datentyps, so kann man sie explizit deklarieren, wenn die Anzahl bekannt ist double x1,x2,x3,x4; Nachteile: versagt, -wenn die

Mehr

Vorlesungsprüfung Programmiersprache 1

Vorlesungsprüfung Programmiersprache 1 Vorlesungsprüfung Programmiersprache 1 Termin der Prüfung: 1) Di 20.03.2018 16:15 17:00 HSB 3 2) Di 15.05.2018 16:15 17:00 HSB 3 3) Di 12.06.2018 16:15 17:00 HSB 3 Stoffgebiete: 1) Ganzzahltypen: char,

Mehr

Java - Zahlen, Wahrheitswerte und Zeichen. Leibniz Universität IT Services Anja Aue

Java - Zahlen, Wahrheitswerte und Zeichen. Leibniz Universität IT Services Anja Aue Java - Zahlen, Wahrheitswerte und Zeichen Leibniz Universität IT Services Anja Aue Kommentare Hilfe für den Entwickler. Wer hat wann welche Änderung vorgenommen? Warum werden diese Anweisungen hier ausgeführt?

Mehr

Arrays. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 3. 1 Modulübersicht 3

Arrays. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 3. 1 Modulübersicht 3 Programmieren mit Java Modul 3 Arrays Theorieteil Inhaltsverzeichnis 1 Modulübersicht 3 2 Eindimensionale Arrays 3 2.1 Arrays deklarieren.............................. 3 2.2 Arrays erzeugen................................

Mehr

C# - Einführung in die Programmiersprache Methoden. Leibniz Universität IT Services

C# - Einführung in die Programmiersprache Methoden. Leibniz Universität IT Services C# - Einführung in die Programmiersprache Methoden Leibniz Universität IT Services 02.07.12 Methoden... sind Subroutinen in einer Klasse. können einen Wert an den Aufrufer zurückgeben. verändern die Eigenschaften

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

Herzlich willkommen!

Herzlich willkommen! Programmiertechnik 1 Herzlich willkommen! Dozent: Dipl.-Ing. Jürgen Wemheuer Teil 6: Zusammenfassung und Beispiele Mail: wemheuer@ewla.de Online: http://cpp.ewla.de/ Zusammenfassung (1) 2 1. Programm in

Mehr

Vererbung I. Kfz Eigenschaften und Methoden der Klasse Kfz Lkw. Pkw. Eigenschaften und Methoden der Klasse Kfz

Vererbung I. Kfz Eigenschaften und Methoden der Klasse Kfz Lkw. Pkw. Eigenschaften und Methoden der Klasse Kfz Einführung in C++ Vererbung I Durch Vererbung können aus bereits bestehenden Klassen neue Klassen konstruiert werden. Die neue abgeleitete Klasse erbt dabei die Daten und Methoden der sog. Basisklasse.

Mehr

Java - Schleifen. Bedingung. wiederhole. Anweisung Anweisung Anweisung. Leibniz Universität IT Services Anja Aue

Java - Schleifen. Bedingung. wiederhole. Anweisung Anweisung Anweisung. Leibniz Universität IT Services Anja Aue Java - Schleifen Bedingung wiederhole ja Anweisung Anweisung Anweisung Leibniz Universität IT Services Anja Aue Anweisung int zahl; zahl = 2; zahl = zahl * 10; int zahl; ; Jede Anweisung endet mit einem

Mehr

Variablen, Konstanten und Datentypen

Variablen, Konstanten und Datentypen Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling benedict.reuschling@h-da.de Hochschule Darmstadt Fachbereich Informatik WS 2013/14 Variablen, Konstanten und Datentypen Überblick

Mehr

DAP2 Praktikum Blatt 1

DAP2 Praktikum Blatt 1 Fakultät für Informatik Lehrstuhl 11 / Algorithm Engineering Prof. Dr. Petra Mutzel, Carsten Gutwenger Sommersemester 2009 DAP2 Praktikum Blatt 1 Ausgabe: 21. April Abgabe: 22. 24. April Kurzaufgabe 1.1

Mehr

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

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf  Seite 1 von 29 Kapitel 2 Einführung in C++ Seite 1 von 29 C++ Zeichensatz - Buchstaben: a bis z und A bis Z. - Ziffern: 0 bis 9 - Sonderzeichen: ; :,. # + - * / % _ \! < > & ^ ~ ( ) { } [ ]? Seite 2 von 29 Höhere Elemente

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

Verwenden Sie für jede Aufgabe die C++ IDE von Eclipse (pro Aufgabe ein Projekt).

Verwenden Sie für jede Aufgabe die C++ IDE von Eclipse (pro Aufgabe ein Projekt). 3 Erste Programme 3.1 Übungsaufgabe Verwenden Sie für jede Aufgabe die C++ IDE von Eclipse (pro Aufgabe ein Projekt). 3.1.1 Aufgabe 1 Schreiben Sie ein C++ Programm, das einen String einliest und testet,

Mehr

Programmiertechnik. Teil 4. C++ Funktionen: Prototypen Overloading Parameter. C++ Funktionen: Eigenschaften

Programmiertechnik. Teil 4. C++ Funktionen: Prototypen Overloading Parameter. C++ Funktionen: Eigenschaften Programmiertechnik Teil 4 C++ Funktionen: Prototypen Overloading Parameter C++ Funktionen: Eigenschaften Funktionen (Unterprogramme, Prozeduren) fassen Folgen von Anweisungen zusammen, die immer wieder

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

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

1. Definition. 2. Interne Speicherung der Zeichenketten. 3. Vereinbarung von Zeichenketten

1. Definition. 2. Interne Speicherung der Zeichenketten. 3. Vereinbarung von Zeichenketten 1. Definition Eine Zeichenkette (String) ist eine Aufeinanderfolge von darstellbaren Zeichen, die sequentiell im Speicher angeordnet sind und gemeinsam angesprochen werden. Jedes einzelne Zeichen wird

Mehr

C++ Notnagel. Ziel, Inhalt. Programmieren in C++

C++ Notnagel. Ziel, Inhalt. Programmieren in C++ C++ Notnagel Ziel, Inhalt Ich versuche in diesem Dokument noch einmal die Dinge zu erwähnen, die mir als absolut notwendig für den C++ Unterricht und die Prüfungen erscheinen. C++ Notnagel 1 Ziel, Inhalt

Mehr

Python Variablen und Anweisungen

Python Variablen und Anweisungen Python Variablen und Anweisungen Ausdruck... besteht aus Operanden und Operatoren, die nach bestimmten Regeln zusammengesetzt werden. formuliert einzelne Schritte des Programms. ist eine Verarbeitungsvorschrift,

Mehr

Zeichenketten sind uns bisher nur als konstante Texte begegnet, welche in "" angegeben waren; z.b. als Formatstring in der printf()-funktion:

Zeichenketten sind uns bisher nur als konstante Texte begegnet, welche in  angegeben waren; z.b. als Formatstring in der printf()-funktion: Zeichenketten (Strings) Seite 1 von 11 Zeichenketten(Strings) sind wichtige Bestandteile fast eines jeden Programms. Beispiele sind Eingabe von Namen oder Adressen, Ausgabe von Meldetexten oder Bearbeitung

Mehr

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Martin Unold INFORMATIK. Geoinformatik und Vermessung Zusammenfassung Was ist eine Programmiersprache? Eine Sprache, die Formal eindeutig in Maschinenbefehle übersetzbar ist Für Menschen einfacher verständlich ist als Bytecode Zur Formulierung von Datenstrukturen

Mehr

Entwickeln Sie ein C/C++-Programm für die Verwaltung einer Artikeldatei gemäß folgender Vorgaben!

Entwickeln Sie ein C/C++-Programm für die Verwaltung einer Artikeldatei gemäß folgender Vorgaben! Projekt: Artikelverwaltung Seite 1 von 5 Entwickeln Sie ein C/C++-Programm für die Verwaltung einer Artikeldatei gemäß folgender Vorgaben! Legen Sie global einen benutzerdefinierten Datentyp artikel an:

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 in C++ Arrays und Strings, Teil 1

Grundlagen der Programmierung in C++ Arrays und Strings, Teil 1 Grundlagen der Programmierung in C++ Arrays und Strings, Teil 1 Wintersemester 2005/2006 G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de Das C++ Typsystem simple structured integral enum

Mehr

C++ - Einführung in die Programmiersprache Variablen und Konstanten. Leibniz Universität IT Services Anja Aue

C++ - Einführung in die Programmiersprache Variablen und Konstanten. Leibniz Universität IT Services Anja Aue C++ - Einführung in die Programmiersprache Variablen und Konstanten Leibniz Universität IT Services Anja Aue Kommentare Hilfe für den Entwickler. Wer hat wann welche Änderung vorgenommen? Warum werden

Mehr

C++ Teil 5. Sven Groß. 12. Nov IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Nov / 16

C++ Teil 5. Sven Groß. 12. Nov IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Nov / 16 C++ Teil 5 Sven Groß IGPM, RWTH Aachen 12. Nov 2014 Sven Groß (IGPM, RWTH Aachen) C++ Teil 5 12. Nov 2014 1 / 16 Themen der letzten Vorlesung Eingabestrom, Verhalten von cin Namensräume Live Programming

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 5-1 Übung Schreiben Sie ein Programm, das die Zahl π durch π = 4 4 4 4 4 4 + + +... 3 5 7 9 11

Mehr

Einführung in die Programmierung Wintersemester 2008/09

Einführung in die Programmierung Wintersemester 2008/09 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 : Funktionen Inhalt Funktionen - mit / ohne Parameter

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

15. Die Klasse string

15. Die Klasse string 15. Die Klasse string Notwendige Funktionen Erzeugen Zuweisen, Anhängen,Einfügen Löschen, Entfernen, Ersetzen Ermitteln der Größe indizierter Zugriff auf Zeichen Vergleich Suchen von Zeichen und Teil-Strings

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

Programmierkurs C++ Lösungen zum Übungsblatt 3. Nils Eissfeldt und Jürgen Gräfe. 2. November Aufgabe 5

Programmierkurs C++ Lösungen zum Übungsblatt 3. Nils Eissfeldt und Jürgen Gräfe. 2. November Aufgabe 5 Zentrum für Angewandte Informatik Köln Arbeitsgruppe Faigle / Schrader Universität zu Köln Lösungen zum Übungsblatt 3 Programmierkurs C++ Nils Eissfeldt und Jürgen Gräfe. November 001 Aufgabe 5 Innerhalb

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

C++ - Einführung in die Programmiersprache Schleifen

C++ - Einführung in die Programmiersprache Schleifen C++ - Einführung in die Programmiersprache Schleifen Bedingung wiederhole ja Anweisung Anweisung Anweisung Leibniz Universität IT Services Anja Aue Schleifen Iterationsanweisungen. Wiederholung von Anweisungsblöcken.

Mehr

Unterlagen. CPP-Uebungen-08/

Unterlagen.  CPP-Uebungen-08/ Unterlagen http://projects.eml.org/bcb/people/ralph/ CPP-Uebungen-08/ http://www.katjawegner.de/lectures.html Kommentare in C++ #include /* Dies ist ein langer Kommentar, der über zwei Zeilen

Mehr

Programmierkurs C++ Variablen und Datentypen

Programmierkurs C++ Variablen und Datentypen Programmierkurs C++ Variablen und Datentypen Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer #2 Überblick Welche Datentypen gibt es in

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

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

C# - Einführung in die Programmiersprache Bedingte Anweisungen und Schleifen

C# - Einführung in die Programmiersprache Bedingte Anweisungen und Schleifen C# - Einführung in die Programmiersprache Bedingte Anweisungen und Schleifen Gehe nach links oder rechts Gehe solange geradeaus... Leibniz Universität IT Services Anja Aue Programmabläufe grafisch abbilden

Mehr

Angewandte Mathematik und Programmierung

Angewandte Mathematik und Programmierung Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens WS 2013/14 Operatoren Operatoren führen Aktionen mit Operanden aus. Der

Mehr

ÜBUNGS-BLOCK 7 LÖSUNGEN

ÜBUNGS-BLOCK 7 LÖSUNGEN ÜBUNGS-BLOCK 7 LÖSUNGEN Aufgabe 1: Gegeben ist folgender Code: Auto[] array = new Auto[3]; // Alle Autos im Array tunen: for (int i = 1; i

Mehr

4 ZEICHEN UND ZEICHENKETTEN

4 ZEICHEN UND ZEICHENKETTEN 4 ZEICHEN UND ZEICHENKETTEN Leitideen: Jedes Zeichen aus dem Basiszeichensatz wird mittels einer kleinen ganzen Zahl (Länge 1 Byte = 8 Bit) gespeichert, die seiner Position im Zeichensatz entspricht. C-Zeichenketten

Mehr

int i=1; //Integerzahl i anlegen und mit 1 initialisieren float wert; //Floatzahl deklarieren scanf( %f,&wert); //Wert über Tastatur eingeben

int i=1; //Integerzahl i anlegen und mit 1 initialisieren float wert; //Floatzahl deklarieren scanf( %f,&wert); //Wert über Tastatur eingeben Datenfelder (Array) Seite 1 von 7 Bei den bisherigen Programmen wurde für jede verwendete Variable (oder für jedes Objekt) ein eigener Typ und Name vergeben. Die Initialisierung, d.h. die Belegung mit

Mehr

C# - Einführung in die Programmiersprache Arrays, Enumeration und Collections. Leibniz Universität IT Services Anja Aue

C# - Einführung in die Programmiersprache Arrays, Enumeration und Collections. Leibniz Universität IT Services Anja Aue C# - Einführung in die Programmiersprache Arrays, Enumeration und Collections Leibniz Universität IT Services Anja Aue Arrays... speichern mehrere Werte vom gleichen Datentyp. fassen zusammenhängende Werte

Mehr

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch) JAVA BASICS 2. Primitive Datentypen 1. Warum Java? weit verbreitet einfach und (relativ) sicher keine Pointer (?) keine gotos kein Präprozessor keine globalen Variablen garbage collection objekt-orientiert

Mehr

Übersicht PERL. !!!! Wichtig: Nach dem Befehl einem Strichpunkt setzen!!!!

Übersicht PERL. !!!! Wichtig: Nach dem Befehl einem Strichpunkt setzen!!!! !!!! Wichtig: Nach dem Befehl einem Strichpunkt setzen!!!! Erste Zeile eines PERL-Scripts: #! /usr/bin/perl Variablen in PERL: Normale Variablen beginnen mit einem $-Zeichen Array-Variablen beginnen mit

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

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

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

C++ - Objektorientierte Programmierung Vererbung

C++ - Objektorientierte Programmierung Vererbung C++ - Objektorientierte Programmierung Vererbung Personen Kunden Mitarbeiter Verwaltung Verkäufer Leibniz Universität IT Services Anja Aue Vererbung Definition von Klassen auf Basis von bestehenden Klassen.

Mehr

Vorkurs C++ Programmierung

Vorkurs C++ Programmierung Vorkurs C++ Programmierung Funktionen Rückblick Operatoren logische Verknüpfungen Zusammengesetzte Operatoren ( Zuweisungsoperatoren ) Kontrollstrukturen Bedingte Anweisungen (if-abfrage, switch-konstrukt)

Mehr

einlesen n > 0? Ausgabe Negative Zahl

einlesen n > 0? Ausgabe Negative Zahl 1 Lösungen Kapitel 1 Aufgabe 1.1: Nassi-Shneiderman-Diagramm quadratzahlen Vervollständigen Sie das unten angegebene Nassi-Shneiderman-Diagramm für ein Programm, welches in einer (äußeren) Schleife Integer-Zahlen

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

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

Hydroinformatik I: Strings

Hydroinformatik I: Strings Hydroinformatik I: Strings Prof. Dr.-Ing. habil. Olaf Kolditz 1 Helmholtz Centre for Environmental Research UFZ, Leipzig 2 Technische Universität Dresden TUD, Dresden Dresden, 10. November 2017 1/20 Prof.

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

C++ - Einführung in die Programmiersprache Fehler abfangen. Leibniz Universität IT Services Anja Aue

C++ - Einführung in die Programmiersprache Fehler abfangen. Leibniz Universität IT Services Anja Aue C++ - Einführung in die Programmiersprache Fehler abfangen Leibniz Universität IT Services Anja Aue Warnungen Hinweise auf riskanten Code. Eine Kompilierung wird nicht verhindert. Um größere Fehler zu

Mehr

Programmierung mit C Zeiger

Programmierung mit C Zeiger Programmierung mit C Zeiger Zeiger (Pointer)... ist eine Variable, die die Adresse eines Speicherbereichs enthält. Der Speicherbereich kann... kann den Wert einer Variablen enthalten oder... dynamisch

Mehr

Anregungen zu Übung 2

Anregungen zu Übung 2 Anregungen zu Übung 2 Allgemeine Informatik II - SS 2007 Was sind Arrays und wie kann man sie verwenden? Ein Array ist ein spezieller Datentyp, der mehrere Werte zu einer Einheit zusammenfasst. Er ist

Mehr

Polymorphismus 179. Function.h. #include <string>

Polymorphismus 179. Function.h. #include <string> Polymorphismus 179 #include Function.h class Function { public: virtual ~Function() {}; virtual std::string get_name() const = 0; virtual double execute(double x) const = 0; }; // class Function

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

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

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch) JAVA BASICS 2. Primitive Datentypen 1. Warum Java? zunehmend weit verbreitet einfach und (relativ) sicher keine Adressrechnung, aber Pointer keine gotos kein Präprozessor keine globalen Variablen garbage

Mehr

Abend 4 Übung : Erweitern von Klassen durch Vererbung

Abend 4 Übung : Erweitern von Klassen durch Vererbung Abend 4 Übung : Erweitern von Klassen durch Vererbung Ziel, Inhalt Wir erweitern die Klassen, die wir zum Zeichnen mit TsuZeichnen verwenden. Dabei wenden wir die Vererbung an um die Klassen zu spezialisieren

Mehr

C++ Teil 5. Sven Groß. 16. Nov Sven Groß (IGPM, RWTH Aachen) C++ Teil Nov / 16

C++ Teil 5. Sven Groß. 16. Nov Sven Groß (IGPM, RWTH Aachen) C++ Teil Nov / 16 C++ Teil 5 Sven Groß 16. Nov 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 5 16. Nov 2015 1 / 16 Themen der letzten Vorlesung Namensräume Live Programming zu A2 Gleitkommazahlen Rundungsfehler Auswirkung

Mehr

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

Hochschule Darmstadt Informatik-Praktikum WS 2017/2018 EIT Bachelor 5. Aufgabenblatt Datenstruktur, Dateieingabe und -ausgabe Aufgabe 5: Häuser verwalten 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 Informationen

Mehr

6. Zeiger Allgemeines Definition eines Zeigers

6. Zeiger Allgemeines Definition eines Zeigers 6. Zeiger www.c-programme.de Stefan Thiemert Kapitel 6 - Seite 1 von 6 6. 1. Allgemeines Zeiger spielen in der Programmierung eine wichtige Rolle. Sie sind wichtig, bei der Arbeit mit Arrays und Funktionen.

Mehr

Polymorphismus 44. Function.hpp. #include <string>

Polymorphismus 44. Function.hpp. #include <string> Polymorphismus 44 #include Function.hpp class Function { public: virtual ~Function() {}; virtual const std::string& get_name() const = 0; virtual double execute(double x) const = 0; }; // class

Mehr

Programmierkurs C++ Datenstrukturen Seite 1

Programmierkurs C++ Datenstrukturen Seite 1 Programmierkurs C++ Datenstrukturen Seite 1 3 Datenstrukturen 3.1 Arrays Zur Wiederholung als Strukturelement der Programmierung gehört auf der Seite der Datenstrukturen die Liste. Eine Liste kann auf

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

Einführung in C. Alexander Batoulis. 5. Mai Fakutltät IV Technische Universität Berlin

Einführung in C. Alexander Batoulis. 5. Mai Fakutltät IV Technische Universität Berlin Fakutltät IV Technische Universität Berlin 5. Mai 2014 Inhaltsverzeichnis 1 2 3 4 5 6 7 Überblick Beispielprogramm in Java Beispielprogramm in C 1 2 3 4 5 6 7 Beispielprogramm in Java Beispielprogramm

Mehr

Klausur: Informatik I am 06. Februar 2009 Gruppe: D Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte:

Klausur: Informatik I am 06. Februar 2009 Gruppe: D Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte: Seite 1 von 10 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 ( / 12 Pkt.) Was liefert

Mehr

Objektorientierte Programmierung mit C++ SS 2007

Objektorientierte Programmierung mit C++ SS 2007 Objektorientierte Programmierung mit C++ SS 2007 Andreas F. Borchert Universität Ulm 5. Juni 2007 Polymorphismus #include Function.h class Function { public: virtual ~Function() {}; virtual std::string

Mehr

Im Windows Betriebssystem sind Dateien eindeutig gekennzeichnet durch ihren Pfad, Dateinamen und nach einem Punkt die Dateierweiterung.

Im Windows Betriebssystem sind Dateien eindeutig gekennzeichnet durch ihren Pfad, Dateinamen und nach einem Punkt die Dateierweiterung. Dateioperationen Seite 1 von 12 Im Windows Betriebssystem sind Dateien eindeutig gekennzeichnet durch ihren Pfad, Dateinamen und nach einem Punkt die Dateierweiterung. z.b.: c:\testdateien\text.dat //Datendatei

Mehr

8. Referenzen und Zeiger

8. Referenzen und Zeiger 8. Referenzen und Zeiger Motivation Variable werden in C++ an speziellen Positionen im Speicher abgelegt. An jeder Position befindet sich 1 Byte. Sie sind durchnummeriert beginnend bei 0. Diese Positionen

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

Zeiger. C-Kurs 2012, 2. Vorlesung. Tino Kutschbach 10.

Zeiger. C-Kurs 2012, 2. Vorlesung. Tino Kutschbach  10. Zeiger C-Kurs 2012, 2. Vorlesung Tino Kutschbach tino.kutschbach@campus.tu-berlin.de http://wiki.freitagsrunde.org 10. September 2012 This work is licensed under the Creative Commons Attribution-ShareAlike

Mehr

Kapitel 2. Einfache Beispielprogramme

Kapitel 2. Einfache Beispielprogramme Kapitel 2 Einfache Beispielprogramme 2.1 Ausgabe auf dem Bildschirm 2.2 Lokale Variablen, Ausdrücke und Schleifen 2.3 Zahlen von der Tastatur einlesen 2.4 Formatierung bei der Ausgabe 2.5 Zusammenfassung

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

10.4 Konstante Objekte

10.4 Konstante Objekte 10.4 Konstante Objekte Genau wie bei einfachen Datentypen (int,double,...) kann man auch Objekte als const deklarieren. Eine solche Deklaration bedeutet, daß alle Attribute so behandelt werden, als wären

Mehr

Informatik I (D-ITET)

Informatik I (D-ITET) Informatik I (D-ITET) Übungsstunde 2, 5.10.2009 ETH Zürich? Übungsgruppenwechsel? Abgabe der Übungen... Bis Mo, 24:00 Theorie: Programme: per mail oder auf Papier.cpp Datei per mail Bin euch noch Demos

Mehr