basics
#include<iostream>
int main() {
std::cout << "Hello Wordl" << std::endl;
getchar();
}
// damit man nicht immer std:: machen muss
using namespace std;
//ganze Zahlen: short, int, long
vorzeichenlose ganze Zahlen: unsigned short, unsigned int, unsigned long
int x;
int x,y,z=-10;
int x = 5;
//Fliesskommazahlen: float, double, long double
float pi = 3.14F
double = 4.14
//booleans
bool a = true;
bool a = 5 entspricht a = 1 oder true -> weil jeder Wert ausser 0 wahr ist!
bool a = 0 -> false
cout << boolalpha << a <<endl; -> damit statt Zahlen true, false steht
-> Wechsel zur numerischen Ausgabe: noboolalpha via cout
//if else
double d = 3.14;
if (d) {} -> wird abgearbeite, weil d nicht 0 ist
if (d==3) oder if (d!=3)
&& und
|| oder
-> Kurzschlusseigenschaften: if (--x == 0 && --y ==) ... -> wenn 1. Teil false liefert, wird 2 .Teil nicht mehr ausgefüht. d.h. --y wird auch nicht mehr ausgeführt!
if !(a==)
?-Operator: if (a>b) max=a; else max=b; -> max = (a > b) ? a : b;
//else-if
if (x==3) {} else if (x==4) {}
//switch & case
-> nur ganzzahlige Variablen, bool und char erlaubt
-> Angaben von Bereichen nicht möglich
-> break: switch-Block wird verlassen
-> ohne break auch möglich: dann wird ab dem case jeder case abgearbeite. case ist eigentlich nur eine Sprungmarke
-> mehrere cases auch möglich -> case1: case3: case5: cout << "lskdf"; break;
-> Spezialfall: default: anweisung; break; -> für Fälle, wo die anderen cases nicht zutreffen
switch(x) {
case 3:
cout << "drei";
break;
case 4:
cout << "vier";
break;
}
//konstanten
cont double mwst=7.5;
//Kommentar
/* test */ Mehrzeiliger Kommentar
//input/output
count << "Hello World";
cin >> x;
//zusammengesetzte Operatoren
summe = summe + 4; summe += 4;
-=
*=
/=
//Inkrement & Dekrement
a++;
a--;
int w=10,q;
q = w++; -> w = 11, q = 10 -> Post-Operatoren
q = ++w; -> w = q = 11 -> Prä-Operatoren
//convertions
var= Convert::ToInt32(textBox1->Text);
//error handling
try {ANWEISUNG DIE AUF FEHLER ÜBERPRÜFT WIRD}
catch(...) {WAS MIT DEM FEHLER GEMACHT WERDEN SOLL}
... = alle Fehler
//schleifen
while (a<=10) {} -> wird ausfgeführt, solage true ist -> wird vielleicht keinmal ausgeführt
do {} while(a<=10); -> wird ganz sicher einmal ausgeführt
for(int a=1; a<=10; a++) {}
-> break; verlässt die schleife
-> continue; geht weiter zum nächsten schritt (a++)
//arrays
int f[10]; -> 0,1...,9
f[5] = 15;
//array mehrdimensional
int g[4][20];
g[0][0] = 10;
//vector -> nachfolger von arrays
vector<int> v;
v.size; -> anzahl Werte
v.push_back(100); -> hängt an
v.back(); -> letzes Element ansprechen
v.pop_back(); -> letzes Element entfernen
v[10]; -> 11. Element ansprechen
v.erase( v.begin()+4); -> 5. Element löschen -> mit Zeiger! (Iteratoren)
vector<int> w = v; -> Vektor w als Kopie von v erstellen
