Antwort mit KI erzeugt
Berechnung der Bachelornote in C++ programmieren
Um die Berechnung der Bachelornote entsprechend der Aufgabenstellung in C++ zu programmieren, benötigen wir einen Ansatz, um die Noten und Gewichtungen der Lehrveranstaltungen in Modulen zu verarbeiten, die Modulnoten zu berechnen und schließlich die Bachelornote unter Berücksichtigung der Modulgewichtungen zu ermitteln.
Zuerst definieren wir eine Struktur oder Klasse für ein Modul, die die notwendigen Informationen und Funktionen enthält. Für die Bachelornote berechnen wir den gewichteten Durchschnitt der Modulnoten und ordnen diesen einer Wortnote zu.
Hier ist ein mögliches Programm in C++ zur Lösung dieser Aufgabe:
cpp
#include <iostream>
#include <vector>
#include <string>
#include <iomanip> // Für std::fixed und std::setprecision
using namespace std;
// Definition der Modulklasse
class Modul {
public:
vector<double> noten;
vector<int> gewichtungen;
// Funktion zur Berechnung der Modulnote
double berechneModulnote() {
double gewichteteSumme = 0;
double gesamtgewichtung = 0;
for (size_t i = 0; i < noten.size(); i++) {
gewichteteSumme += noten[i] * gewichtungen[i];
gesamtgewichtung += gewichtungen[i];
}
// Nicht gerundet, nur eine Stelle nach dem Komma angezeigt.
return static_cast<int>((gewichteteSumme / gesamtgewichtung) * 10) / 10.0;
}
};
// Funktion zur Zuordnung der Bachelornote zu einer Wortnote
string wortnote(double note) {
if (note < 1.5) return "sehr gut";
else if (note < 2.5) return "gut";
else if (note < 3.5) return "befriedigend";
else if (note < 4.0) return "ausreichend";
else return "nicht ausreichend";
}
int main() {
// Erstellen von Modulen und Eintragen der Daten
Modul modul1, modul2;
modul1.noten = {2.7, 2.3, 3.7, 2.0, 3.7};
modul1.gewichtungen = {5, 5, 8, 3, 3};
modul2.noten = {3.0, 2.3};
modul2.gewichtungen = {10, 30};
// Berechnung der Modulnoten
double modul1Note = modul1.berechneModulnote();
double modul2Note = modul2.berechneModulnote();
// Berechnung der Bachelornote
double gesamtgewichtung = 24 + 40; // Gesamtgewichtungen der Module, beispielhaft
double bachelornote = (modul1Note * 24 + modul2Note * 40) / gesamtgewichtung;
bachelornote = static_cast<int>(bachelornote * 10) / 10.0; // Eine Stelle nach dem Komma ohne Rundung
cout << fixed << setprecision(1); // Anzeigen nur einer Stelle nach dem Komma
cout << "Bachelornote: " << bachelornote << " -> " << wortnote(bachelornote) << endl;
return 0;
}
Dieses Programm führt die folgenden Schritte durch:
1. Definiert eine Klasse
Modul
, die Noten und ihre Gewichtungen speichert.
2. Implementiert eine Methode innerhalb der Klasse, um die Modulnote zu berechnen.
3. Berechnet die Bachelornote als gewichteten Durchschnitt der Modulnoten.
4. Gibt die Bachelornote zusammen mit der entsprechenden Wortnote aus.