Wir lernen jetzt Strukturen in C++ kennen und dieser Artikel zeigt ein erstes kleines Beispiel. Es wird aber auch das Vektorprogramm weiterentwickelt…
Strukturen in C++:
#include <iostream>
#include <string>
struct konto
{
std::string kundenname;
int kontonummer;
double kontostand;
int kredit;
};
int main()
{
konto meinKonto;
meinKonto.kundenname = "Hans Mustermann";
meinKonto.kontonummer = 1234567 ;
meinKonto.kontostand = 5000;
meinKonto.kredit = 1000;
std::cout
<< "Konto von "
<< meinKonto.kundenname
<< std::endl
<< std::endl;
std::cout
<< "\tKontonummer: "
<< meinKonto.kontonummer
<< std::endl;
std::cout
<< "\tKontostand: "
<< meinKonto.kontostand
<< std::endl;
std::cout
<< "\tUeberziehungskredit: "
<< meinKonto.kredit
<< std::endl;
std::cout
<< std::endl;
return 0;
}
Das Vektorprogramm vom 11.09.2025:
Das erste Vektorprogramm vom 11.09.2025 erzeugte wirklich nur das Menü und nun wird es um die notwendigen mathematischen Formeln ergänzt.
#include <iostream>
#include <cmath>
#include <cstdio>
struct vektor
{
double x;
double y;
};
// Die Funktionen
vektor v_einlesen()
{
vektor ergebnis;
std::cout << std::endl;
std::cout << " x: ";
std::cin >> ergebnis.x;
std::cout << " y: ";
std::cin >> ergebnis.y;
std::cout << std::endl;
return ergebnis;
}
vektor v_addieren(vektor v1, vektor v2)
{
vektor ergebnis;
ergebnis.x = v1.x + v2.x;
ergebnis.y = v1.y + v2.y;
return ergebnis;
}
vektor v_subtrahieren(vektor v1, vektor v2)
{
vektor ergebnis;
ergebnis.x = v1.x - v2.x;
ergebnis.y = v1.y - v2.y;
return ergebnis;
}
vektor v_skalarprodukt(vektor v, double n)
{
vektor ergebnis;
ergebnis.x = n*v.x;
ergebnis.y = n*v.y;
return ergebnis;
}
double v_vektorprodukt(vektor v1, vektor v2)
{
double ergebnis;
ergebnis = (v1.x * v2.y) - (v1.y * v2.y);
return fabs(ergebnis);
}
double v_laenge(vektor v)
{
double ergebnis;
ergebnis = sqrt(v.x*v.x + v.y*v.y);
return ergebnis;
}
void v_ausgeben(vektor v)
{
std::cout << "(" << v.x << "," << v.y <<")";
}
int main ()
{
vektor vekt1;
vektor vekt2;
double faktor;
vektor ergebnis;
double betrag;
vekt1.x = 0;
vekt1.y = 0;
int befehl = -1;
while(befehl != 0)
{
std::cout << std::endl;
std::cout << " Menue " << std::endl;
std::cout << " Vektoren eingeben <1>" << std::endl;
std::cout << " Vektoren addieren <2>" << std::endl;
std::cout << " Vektoren subtrahieren <3>" << std::endl;
std::cout << " Skalarprodukt <4>" << std::endl;
std::cout << " Vektorprodukt <5>" << std::endl;
std::cout << " Laenge berechnen <6>" << std::endl;
std::cout << " Programm beenden <0>" << std::endl;
std::cout << std::endl;
std::cout << " Ihre Eingabe : ";
std::cin >> befehl;
// Schritt 6 switch-Anweisung
switch(befehl)
{
case 0:
std::cout << std::endl;
std::cout << "Programm beenden" <<std::endl;
break;
case 1:
std::cout << std::endl;
std::cout << "Vektor eingeben" <<std::endl;
vekt1 = v_einlesen();
break;
case 2:
std::cout << std::endl;
std::cout << "Vektor addieren" <<std::endl;
std::cout << " 2. Vektor eingeben" << std::endl;
std::cout << " x: ";
std::cin >> vekt2.x;
std::cout << " y: ";
std::cin >> vekt2.y;
std::cout << std::endl;
ergebnis = v_addieren(vekt1, vekt2);
v_ausgeben(vekt1);
std::cout << " + ";
v_ausgeben(vekt2);
std::cout << " = ";
v_ausgeben(ergebnis);
std::cout << std::endl;
break;
case 3:
std::cout << std::endl;
std::cout << "Vektor subtrahieren" <<std::endl;
break;
case 4:
std::cout << std::endl;
std::cout << "Skalarprodukt" <<std::endl;
break;
case 5:
std::cout << std::endl;
std::cout << "Vektorprodukt" <<std::endl;
break;
case 6:
std::cout << std::endl;
std::cout << "Laenge des Vektors" <<std::endl;
break;
default:
std::cout << std::endl;
std::cout << " Ungueltige Eingabe" << std::endl;
break;
} // Ende der switch-Anweisung
// Schritt 7: Warten bis Anwender die Return-Taste drückt
fflush(stdin);
getchar();
} // Ende der while-Schleife
return 0;
}
Der Code ist zwar noch nicht vollständig und muss in der switch-Anweisung noch ergänzt werden, doch trotzdem sollte der Code bereits lauffähig sein.
Viel wichtiger an diesem Code ist aber: Das Programm könnte die Grundlage für viele kleine eigene Codes sein, bei denen sich das Terminal nicht automatisch schließt.