C++ - Programmiersprache für Elektrotechniker

Was ist die geeigneteste Sprache für Elektrotechniker?

Das ist eine Frage, die man leicht beantworten kann: C/C++ ist die Antwort. Je nach Geschmack kann gewählt werden. Ich benutze C++. Aus dem einfachen Grund, weil es schön hardwarenah ist. Da gibt es zwar auch Assembler für die diversen µC (Mikrocontroller), aber das vernachlässigen wir mal.

Was ich zeigen wollte, ist ein bisschen C++. Damit man ein bisschen versteht, wie C++ aussieht.

// System Libraries
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <string>

// User Libraries
#include "tools.h"

// Use Namespace
using namespace std;

int main(int argc,char *argv[]) {

    int x = 3, y = 5; // Werte initialisieren

    // Willkommensnachricht erstellen und ausgeben
    char welcome[70] = "Willkommen zum besten Test aller Zeiten!\nWieviel ist %i + %i?\n";
    printf(welcome, x,y);

    // Abfrage vorbereiten
    int result;
    char input[256];

    // Abfrage durchfuehren und in Integer konvertieren
    fgets( input, 256, stdin );
    result = atoi( input );

    if (result == 8) {
        cout << endl << "Du bist ein Gewinner!";
    } else {
        cout << endl << "Du bist ein Verlierer!";
    }

    return 0;
}

Lässt man das hier auf sich wirken und liest man auch die Kommentare, dann kann man schon ein bisschen erkennen. Und wer sich mit JavaScript auskennt, wird hier einige Dinge wiederfinden. Fangen wir mit den ersten paar Zeilen an:

// System Libraries
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <string>

In diesem Block werden die System-Bibliotheken eingebunden, die man benötigt. Für mein Script brauch ich folgende Bibliotheken:

Bibliothek Beschreibung
iostream iostream ist eine Biblitohek, die für den Input-Output-Stream zuständig ist und Tools bereitstellt.
cstdio/stdio.h cstdio ist die C Standard IO Bibliothek. Sie beinhaltet diverse Tools, die für Standard Aufgaben zum Bearbeiten des IO-Streams notwendig sind.
cstdlib/stdlib.h cstdlib ist die C Standard Library. Sie beinhaltet Standard-Werkzeuge aus der C-Toolchain
string

string ist eine Bibliothek, die den Datentyp string bereitellt. Ein essentieller Bestandteil von Anwendungen, die ein User-Interface besitzen.

Beschäftigen wir uns mit dem zweiten und dritten Block:

 // User Libraries
#include "tools.h"

// Use Namespace
using namespace std;

Die 8. Zeile unterscheidet sich von den anderen. Hier wird auch was inkludiert, und es ist auch eine Bibliothek bzw. Header-Datei, aber sie gehört nicht zu den System-Bibliotheken. Diese habe ich selber angelegt und liegt im selben Verzeichnis wie die Anwendung selbst.

In der 11. Zeile wird ein Namensraum geöffnet. Dadurch sind alle Befehle, die dem Namensraum std:: angehören, auch durch direktes Aufrufen verfügbar. Ansonsten müsste man ständig std::cout und std::cin schreiben. Damit spart man sich Arbeit. Ist man aber an einem großen Projekt am Arbeiten, so macht man das nicht, sondern fertigt dafür Funktionen an, die das machen. Zum Ausgeben und Eingeben gibt es bereits welche, die auch im Script vorkommen.

Jetzt kommt die eigentliche Anwendung:

int main(int argc,char *argv[]) {

    int x = 3, y = 5; // Werte initialisieren

    // Willkommensnachricht erstellen und ausgeben
    char welcome[70] = "Willkommen zum besten Test aller Zeiten!\nWieviel ist %i + %i?\n";
    printf( welcome, x,y );

    // Abfrage vorbereiten
    int result;
    char input[256];

    // Abfrage durchfuehren und in Integer konvertieren
    fgets( input, 256, stdin );
    result = atoi( input );

    if ( result == 8 ) {
        cout << endl << "Du bist ein Gewinner!";
    } else {
        cout << endl << "Du bist ein Verlierer!";
    }

    return 0;
}

Die Funktion main ist die Standardfunktion, die jede C++-Anwendung besitzen muss. Ich werde nicht näher drauf eingehen.
In Zeile 15 werden zwei Werte initialisiert, beides Integer.
In Zeile 18-19 wird eine Willkommensnachricht gespeichert und mit printf() in formatierter Form wieder ausgegeben.
In Zeile 22-23 wird die Abfrage vorbereitet. Hier werden lediglich zwei Werte deklariert.
In Zeile 26-27 wird über die Funktion fgets() eine Zeichenkette von stdin in ein 256 Item langes char-Array geladen das den Namen input trägt. Danach wird über die Funktion atoi die Nutzereingabe in einen Integer konvertiert, damit man damit arbeiten kann.
In Zeile 29-33 wird lediglich eine kleine Bedingung überprüft, ob die Nutzereingabe äquivalent zu 8 ist. Alles andere kann man sich denken.
Zeile 35 beinhaltet eine return-Anweisung, die den Wert 0 zurückgibt.

Ich hoffe, ich konnte hier ein bisschen C++ Basiswissen vermitteln.
 

Word Count: 
632
Deutsch