Problem mit for-Schleife
-
Hallo. Ich wollte, dass die for-Schleife von 1 anfängt zu zählen, damit ich die index-Variable "i" für die Ausgabe einer Durchnummerierung nutzen kann. Da aber Array's bei 0 anfangen, weiß ich nicht wie ich das schreiben soll. Meine gewünschte Ausgabe sieht so aus:
1. Note eingeben
2. Note eingeben
3. Note eingeben
(...)
10. Note eingebenKönnt Ihr mir helfen?
Ps: Ich weiß, dass der Code sehr umständlich ist, aber nach meinem derzeitigen Erkenntnisstand von C++ fiel mir leider keine praktischere Lösung ein. Bin offen für Anmerkungen und Hinweise diesbezüglich.

#include <iostream> using namespace std; int main() { int anzahl[10]; double noten; double ergebnis; cout << "Notendurchschnitt errechnen:" << endl; cout << "Geben Sie 10 Faecher ein!\t"; cout << endl << endl; for (int i = 0; i < 10; i++) { // HIER SOLL ANGEFANGEN WERDEN ZU ZÄHLEN cout << "Note eingeben: "; cin >> anzahl[i]; } cout << endl; for (int i = 0; i < 10; i++) { cout << "Ausgabe: "; cout << anzahl[i] << endl; } noten = anzahl[0] + anzahl[1] + anzahl[2] + anzahl[3] + anzahl[4] + anzahl[5] + anzahl[6] + anzahl[7] + anzahl[8] + anzahl[9]; ergebnis = noten / 10; cout.precision(2); cout << ergebnis << endl; system ("pause"); return 0; }
-
Dann geb doch folgendes aus:
cout << "Nummer:" << i+1;Hoffentlich habe ich dein Problem richtig verstanden...
-
Jepp, hast Du... Vielen Dank! Kannst Du mir vieleicht auch einen Weg zeigen, wie ich zuerst abfragen kann, wieviele Fächer die Person hat?
#include <iostream> using namespace std; int main() { int anzahl[10]; double noten; double ergebnis; cout << "Hier koennen Sie Ihre Zeugnisdurchschnittsnote ausrechnen." << endl; cout << "Geben Sie 10 Faecher ein!\t"; cout << endl << endl; for (int i = 0; i < 10; i++) { cout << i+1 << ". "; cout << "Note eingeben: "; cin >> anzahl[i]; } cout << endl; for (int i = 0; i < 10; i++) { cout << "Ausgabe: "; cout << anzahl[i] << endl; } noten = anzahl[0] + anzahl[1] + anzahl[2] + anzahl[3] + anzahl[4] + anzahl[5] + anzahl[6] + anzahl[7] + anzahl[8] + anzahl[9]; ergebnis = noten / 10; cout.precision(2); cout << "\nDein Notendurchschnitt lautet: " << ergebnis << endl; system ("pause"); return 0; }
-
Hab ich jetzt zwar nicht ausprobiert, aber müsste so funktionieren...
#include <iostream> using namespace std; int main() { int anzahl[30], faecher; //maximal 30 faecher wegen dem Array double noten=0.0; double ergebnis; cout << "Hier koennen Sie Ihre Zeugnisdurchschnittsnote ausrechnen." << endl; do { cout << endl << "Geben Sie die Anzahl der Fächer ein(max. 30):"; cin >> faecher; if(faecher>30 || faecher < 1) cout << "Fehler, die Zahl war falsch!!!"; } while(faecher>30 || faecher < 1); cout << "Geben Sie " << faecher << " Faecher ein!\t"; cout << endl << endl; for (int i = 0; i < faecher; i++) { cout << i+1 << ". "; cout << "Note eingeben: "; cin >> anzahl[i]; } cout << endl; for (int i = 0; i < faecher; i++) { cout << "Ausgabe: "; cout << anzahl[i] << endl; noten += anzahl[i]; } ergebnis = noten / faecher; cout.precision(2); cout << "\nDein Notendurchschnitt lautet: " << ergebnis << endl; system ("pause"); return 0; }
-
Kleiner Zusatz, wenn du
std::vector<int>benutzt, kannst du sogar beliebig viele Fächer für einen Schüler oder was es ist speichern. Eventuell wäre es dann noch interessant für die Benutzer eine eigene Klasse zu gestalten. Aber das kannste später machen.