C++

Konstanten

mit const deklarierierte Variablen können nicht verändert werden
zB.: const int a=22
Konstante als Referenz siehe unter Referenz...

Static

void merke(){
static int a=100;
// mit static initialisierte Variablen merkt sich das Programm
// für Klassen wichtig
cout << "Merke: " << a << endl;
a++;}


int main(){
merke();
merke();
return 0;}

if else

return(a<b?a:b) entspricht: if(a<b){a} else {b}
int maximum(int x, int y){
if(x>y) return x;
else return y;
}

Zählschleife

for(int z=0; z<4; z++){...}

switch case

void rechne(double & ergebnis)

{ int z1,z2;
char rechenzeichen;
ergebnis=0;
cout << "Geben Sie eine Rechenaufgabe ein: ";
cin >> z1 >> rechenzeichen >> z2;
//return ;
switch(rechenzeichen)
{ case '+': ergebnis = z1+z2; break;
case '-': ergebnis = z1-z2; break;
case '*': ergebnis = z1*z2; break;
case '/': ergebnis = z1/z2; break;
default: cout << "unbekanntes Rechenzeichen...\n";
}
}


int _tmain(int argc, _TCHAR* argv[])
{ double ergebnis=0;
rechne(ergebnis);
cout<< "Ergebnis: "<<ergebnis << '\n';
return 0;
}


int _tmain(int argc, _TCHAR* argv[])
{
int mon,tag,jahr,sum;
for(cout<<"Jahr: ",cin>>jahr, //Datum eingeben
cout<<"Monat: ",cin>>mon,
cout<<"Tag: ",cin>>tag;
mon!=0;
cout<<"Jahr: ",cin>>jahr, //Datum eingeben
cout<<"Monat: ",cin>>mon,
cout<<"Tag: ",cin>>tag)
if((tag>0)&&( //Datum auf gültigkeit prüfen
((mon==1||mon==3||mon==5||mon==7||mon==8
||mon==10||mon==12)&&(tag<32))||
((mon==2)&&(tag<29))||
((mon==2)&&(tag=29)&&((jahr%4==0)&&(!(jahr%100==0)||(jahr%400==0))))||
((mon==4||mon==6||mon==9||mon==11)&&(tag<31))))
{sum=tag; //Tag auf Summe speichern
switch(mon) //Monate in Tage umrechnen
{
case 12:sum+=30;
case 11:sum+=31;
case 10:sum+=30;
case 9:sum+=31;
case 8:sum+=31;
case 7:sum+=30;
case 6:sum+=31;
case 5:sum+=30;
case 4:sum+=31;
case 3:if((jahr%4==0)&&(!(jahr%100==0)||(jahr%400==0)))
sum+=29; //Schaltjahr
else
sum+=28;
case 2:sum+=31;
default:;
}
cout<<tag<<'.'<<mon<<'.'<<jahr<<" ist der "<<sum<<". Tag\n";
}
else
cout<<"Datum falsch\n";
return 0;}

Modulo

Gibt den ganzzahligen Rest aus.
ZB: hm%60

Speicherformen

Güldigkeitsbereiche

Datei, Klasse, Block

// jeder Block ist ein Güldigkeitsbereich
int main(){
int a=1; // lokale Variable, weil intern angelegt
cout << "1.Variable = " << a << endl;
{int a=2;
cout << "2.Variable = " << a << endl;
{int a=3;
cout << "3.Variable = " << a << endl;}
cout << "2.Variable = " << a << endl;}
cout << "1.Variable = " << a << endl;
return 0;}

Fakultät

{ int fakultaet=1;
for(int i=1;i<10;i++){
fakultaet*=i;
std::cout << "Die Fakultät von " << i << "!" << " ist " << fakultaet << std::endl;
}
1!=1 1
2!=2 1*2
3!=6 1*2*3
4!=24 1*2*3*4

Rekursion

unsigned int fakultaet(unsigned int zahl) {
if (zahl <= 1) {
return 1; // Die Fakultät von 0 und 1 ist als 1 definiert.}
return fakultaet(zahl - 1) * zahl;}


int _tmain(int argc, _TCHAR* argv[])
{ unsigned int zahl;
std::cout << "Bitte Zahl eingeben: ";
std::cin >> zahl; // Zahl einlesen
std::cout << "Die Fakultät von " << zahl << " ist " << fakultaet(zahl) << "!" << std::endl;
return 0;}

Sortierung

int _tmain(int argc, _TCHAR* argv[])
{ int Anz=5,s=0;
int a[]={101,82,43,4,31};
bool Schalter=false;
int Zwischenspeicher;
for (s=0;s<Anz && Schalter==false;){
Schalter=true;
for(int i=0;i<Anz-1;i++){
if(a[i]>a[i+1]){
Zwischenspeicher=a[i];
a[i]=a[i+1];
a[i+1]=Zwischenspeicher;
Schalter=false;
cout<<"Tausch"<<endl;}
}
Anz=Anz-1;
}
cout<<a[0]<<endl<<a[1]<<endl<<a[2]<<endl<<a[3]<<endl<<a[4]<<endl;
return 0;}