So, da bin ich wieder.
Nachdem ich von Mittwoch bis Freitagmorgen sowie Sonntag krank war (Magen-Darm Zeugs), gehts mir eigentlich schon wieder recht gut. Deshalb tue ich inzwischen auch wieder was.. z.B. C++ lernen *g*
Da kommt dann sowas bei raus, für den Anfang halt:
// montag.cpp
#include "stdafx.h"
#include "iostream.h"
#include "stdlib.h"
void main(int argc, char* argv[]) //Main bekommt immer mitgeliefert mit welchen argumenten die .exe aufgerufen wurde, dabei ist argc die anzahl und argv[] enthält die eigentlichen argumente
{
//Hallo Welt...
printf("Hallo W3lt!\n");
cout << "Drogen..?" << endl << "Oder doch lieber Kekse?" << endl;
//Argumente
cout << "Diesmal sinds " << argc << " Fette Argumente!" << endl;
cout << endl << endl;
//Rechnerei =)
int a = 73, b = 34;
double endwert;
int endintwert, restwert;
//Erster Typecast für ein richtiges Ergebnis
endwert = (double)a / b;
endintwert = (int)endwert; //Einfache Typumwandlung
restwert = a % b;
cout << "Rechnung: " << a << " / " << b << endl << "Ergebnis: " << endwert << endl << "Oder Ergebnis: " << endintwert << " Rest: " << restwert << endl;
int count0r = 0;
cout << endl << endl;
char zeichen = '.';
//Switch halt.. default
switch (zeichen)
{
case '.':
cout << "Nen PUNKT!!1111einself";
break;
case ';':
cout << "SE MI KO LON!";
break;
case 'm':
break;
default:
cout << "Langweiler.";
break;
}
cout << endl << endl;
//Arrays, here we go:
int zahlen[7] = { 1, 3, 3, 7, 0, 4, 2 };
for (int i = 0; i < 7; i++)
{
if (i < 6)
{
cout << zahlen[i] << ", ";
}
else
{
cout << zahlen[i] << endl;
}
}
//Ab jetzt wirds C-Spezifisch
//Benutzerdefinierte Datentypen:
struct qwaff
{
int alter;
double geld;
};
//Definieren der Variable n1 mit Datentyp "qwaff"
qwaff n1; //Auch möglich per "struct qwaff n1"
n1.alter = 16;
n1.geld = 17.99;
cout << "Nummer 1 ist " << n1.alter << " Jahre alt und hat " << n1.geld << " Euro" << endl;
cout << endl << endl;
//Zeiger (Pointer)... Sehr lustig =) Speicherspielereien ftw!
void * sinnloser_zeiger = NULL;
cout << "Groesse sinnloser_zeiger: " << sizeof(sinnloser_zeiger) << endl;
cout << "Das hier ist ein " << 8 * sizeof(sinnloser_zeiger) << "-Bit System" << endl << endl;
int kekstest = 0;
int * pkeks = &kekstest;
*pkeks += 1;
cout << "pkeks: " << pkeks << endl << "&kekstest: " << &kekstest << endl << "*pkeks: " << *pkeks << endl << "kekstest: " << kekstest << endl;
//Einfach mal den Zeiger ändern oO!
pkeks -= 0xFF;
cout << endl << "Es folgt ein Speicherzugriff auf " << pkeks << endl;
cout << "Hier..: " << (double)*pkeks;
cout << endl << endl;
//Speicher allocaten, wofür auch immer:
int *feld;
feld = (int *)malloc(4 * sizeof(int)); //Typecast auf int *, da sonst void *. malloc(Anzahl Bytes) zum allocaten benutzen..
cout << "Es wurden " << 4 * sizeof(int) << " Byte Speicher allocated. Pointer auf " << feld << endl;
for (int ei = 0; ei < 10; ei++)
{
//feld[ei] = ei;
cout << (unsigned int)feld[ei] << " ";
}
cout << endl << endl;
//Okay.. hier ziemlich langweilige operatoren
double d = 7, e = 5, f = 2.5, result[6];
result[0] = d + e;
result[1] = d - e;
result[2] = d * e;
result[3] = d / e;
result[4] = (int)(d / e);
result[5] = d % e;
unsigned char x = 81, y = 51, bitresult[10];
bitresult[0] = x & y; //Bitweise AND (01010001 & 00110011 ergibt 00010001)
bitresult[1] = x | y; //Bitweise OR (01010001 | 00110011 ergibt 01110011)
bitresult[2] = x ^ y; //Bitweise XOR (01010001 ^ 00110011 ergibt 01100010)
bitresult[3] = x << 1; //Bit-Leftshift (01010001 << 1 ergibt 10100010)
bitresult[4] = x >> 1; //Bit-Rightshift (01010001 >> 1 ergibt 00101000)
cout << endl << endl;
}
Geschrieben mit M$ Visual C++.. Bis zu Klassen und Objekten dringe ich morgen vor, denke ich. Jetzt habsch kein bock mehr
edit: wäh mit tabs siehts natürlich schöner aus

