• Home
  • C++ / VB
  • Media
  • Blog
  • Links
  • Kontakt
  • Gästebuch
  • Impressum

C++

C++ ist eine von Bjarne Stroustrup ab 1979 in den AT&T Bell Laboratories entwickelte objektorientierte Programmiersprache. Durch erfahrungen mit der Sprache Simula kam er schon relativ früh darauf eine eigene Programmiersprache zu entwickeln. Simula ließ sich für große Projekte zwar relativ leicht nutzen, jedoch war das programmieren von praktischen Routinen und Anwendungen sehr aufwändig. Das ging besser mit BCPL( Basic Combined Programming Language), jedoch war diese Programmiersprache völlig ungeeignet für große Projekte.

Da Stoustrup viele Erfahrungen durch seine Doktorarbeit gesammelt hatte, erweiterte er so die Programmiersprache C und fügte dieser eigene Klassen mit Datenkapselung hinzu, später kamen noch Inline-Funktionen, ein strengeres Typsystem und Standart Argumente hinzu.

1985 erschien die erste Version von cfront, einem Compiler, den Stroustrup eigens entwickelt hatte. Seine Programmiersprache nannte er "C with Classes" woraus später C++ wurde.

Der Name C++ (eine Wortschöpfung von Rick Mascitti im Jahre 1983) leitet sich aus dem Namen der Vorgängersprache C ab und dem Inkrementoperator "++", der einen Variablenwert inkrementiert, also auf den nächst höheren Wert erhöht.

Das erst kürzlich entstande Programm errechnet die Differenz zweier Tage. Die Grundidee stammt aus einer Taschenrechnerbeschreibung. Texas Instruments: Standart Software Modul für TI58, TI58c, TI59. Jedoch lässt sich mit ein bisschen Aufwand ein einfaches DOS-Programm in C++ daraus zaubern. Funktionieren tut die Funktion aber nur ab 1582. Der Grund dafür ist mir leider nicht bekannt. Wenn es jemanden gibt, der mir dies begründen kann, werde ich diese gerne auf diese Website aufnehmen. Das Struktogramm für das Programm ist hier gezeigt. Den Quelltext gibt es zum Download.Struktogramm

#include <iostream>

long Jahr[2];
long Mon[2];
long Tag[2];
double Fakt[2];
int z;

using namespace std;

int main(void)
{
do{
cout<<" Erstes Datum"<<endl;
cout<<"Tag: ";
cin>>Tag[1];
cout<<"Monat: ";
cin>>Mon[1];
cout<<"Jahr: ";
cin>>Jahr[1];
cout<<" Zweites Datum"<<endl;
cout<<"Tag: ";
cin>>Tag[2];
cout<<"Monat: ";
cin>>Mon[2];
cout<<"Jahr: ";
cin>>Jahr[2];
for(int i = 1; i != 3; i++)
{
if(Mon[i] >= 2)
{
double zwischenwert1 = (Jahr[i]-1)/4;
long zw1 = static_cast<long>(zwischenwert1);
double zwischenwert2 = 0.75;
double zwischenwert3 = (((Jahr[i]-1)/100)+1);
long zw = static_cast<long>(zwischenwert3);
long zw2 = static_cast<long>(zwischenwert3*zwischenwert2);
Fakt[i]= 365*(Jahr[i])+Tag[i]+31*(Mon[i]-1)+zw1-zw2;
}
else
{
double zwischenwert1 = (0.4*Mon[i]+2.3);
long zw1 = static_cast<long>(zwischenwert1);
double zwischenwert2 = (Jahr[i]/4);
long zw2 = static_cast<long>(zwischenwert2);
double zwischenwert3 = 0.75;
double zwischenwert4 = (Jahr[i]/100)+1;
long zwischenwert5 = static_cast<long>(zwischenwert4);
long zw3 = static_cast<long>(zwischenwert5 * zwischenwert3);
Fakt[i]= 365*(Jahr[i])+Tag[i]+31*(Mon[i]-1)-zw1+zw2-zw3;
}

}
cout<<Fakt[2]-Fakt[1]<<endl;
}while(z == 0);
return 0;
}

Struktogramm als Word- Datei
Konsolenprogramm Tag_Diff.exe

Ein weiteres Programm, welches ich vor kurzem entwickelte ist das Vokabelprogramm. Es kann leicht umgeschrieben werden, man muss nur die Datei "date" ändern. Dabei ist folgendes zu beachten:

  #hier_steht_dassuchkriterium
  hier steht der ausgabetext
  #hier_steht_das_nächste_suchkriterium
  hier steht die ein anderer ausgabetext      

So kann man ganz einfach das Vokabelprogramm zu einem Telefonbuch umprogrammieren. Natürlich müssen auch noch im Quelltext ein paar Sachen verändert werden. Doch das überlasse ich der Fanatasie eines jeden.Die Datei "date" kann HIER heruntergeladen werden.

#include <iostream>
#include <stdlib.h>
#include <cstdlib>
#include <cstdio>
#include <fstream>
#include <cstring>
#include <string>
#include <stdexcept>

using namespace std;
// Windows Version (mit Windowsbasierten Befehlen)

static string getData(const string& filename, const string& title)
{
ifstream stream(filename.c_str()); // Öffnen des Files (Read-Mode)
if( !stream )
{
cerr << "Es wurde kein entsprechendes Sprachpaket installiert. Überprüfe das Programmverzeichnis auf '"<< filename << "'" << endl;
return "";
}
char cbuffer[600]; // 600 chars sollten genug sein-- Zahl veränderbar
string sbuffer;
while( !stream.eof())
{
stream.getline(cbuffer, 600);
if ( cbuffer[0] != '#' ) continue;
sbuffer = cbuffer;
sbuffer.erase(0,1); // Entferne das '#'
if ( sbuffer != title ) continue; // Es waren die falschen Daten;
stream.getline(cbuffer, 600); // Probiere die nächste Zeile - die nächsten Daten
stream.close(); // Schließt die Datei
return string(cbuffer);
}
stream.close();
return ""; // Nichts gefunden
}
int main()
{
char Vokabel[600]; // Deklarationen
int i = 0;
cout<<"Herzlichen Willkommen im virtuellen Woerterbuch fuer Windows"<<endl;
cout<<"Du musst ein Sprachpaket importieren, um das Programm fehlerfrei nutzen zu koennen."<<endl;
do{
cout << "Bitte gib die lateinische Vokabel ein (z.B discipulus):" << endl;
cin>>Vokabel;
cout<<Vokabel<< " = "<<getData("date", Vokabel)<<endl;
}while (i == 0);
return 0;
}

VB (Visual Basic)

Visual Basic ist vor allem deswegen so praktisch, weil das programmieren sehr einfach ist. Man sagt dem Compiler er soll dies und das machen wenn man auf diesen Button drückt. Oder das Programm soll das und das machen, wenn der Text in der TextBox soundso lautet. Man braucht sich nicht mit irgentwelchenKlassen und Deklarationen rumschlagen. Das macht den Reiz dieser Sprache aus. Ohne eine große Planung kann man schon relativ viel erreichen.