Thema: [C++] Notenrechner fehler
-
05.06.2012, 09:04 #1
- Registriert seit
- 01.12.2011
- Beiträge
- 6
Thanked 0 Times in 0 Posts[C++] Notenrechner fehler
Code:#include <iostream> #include <conio> using namespace std; void main () { cout << "Notenrechner" << endl << endl; int Notenanzahl; float Note[Notenanzahl]; float Notensumme; do { cout << "Note: "; cin >> Note; Notensumme = Notensumme + Note; Notenanzahl++; }while (Notenanzahl < 5); float Durchschnitt = Notensumme / Notenanzahl; cout << "Ihr Durchschnitt: " << Durchschnitt; getch(); }
-
05.06.2012, 11:39 #2
- Registriert seit
- 26.10.2011
- Beiträge
- 1.196
- Blog Entries
- 2
Thanked 1.596 Times in 725 PostsAW: Notenrechner fehler
Hi Alex,
ein Array/Feld mit dynamischer Größe kannst du nur mithilfe von Pointern erzeugen.
Galileo Computing :: C von A bis Z – 12.7 Array und Zeiger
Das würde bei deinem Code anfangs in etwa so aussehen:
Code:int Notenanzahl = 0; int *pNotenanzahl = &Notenanzahl; float * Note = new float[*pNotenanzahl]; float Notensumme;
-
07.06.2012, 16:12 #3
- Registriert seit
- 15.11.2011
- Beiträge
- 6.408
- Blog Entries
- 5
Thanked 9.168 Times in 3.038 PostsAW: Notenrechner fehler
Code:int Notenanzahl; float Note[Notenanzahl];
In Notenanzahl steht uninitialisiert nachher irgendein Crap drin z.B. 89237492893 und dein Programm reserviert massig Speicher, den kein Mensch braucht.
Ich würde Variablen, denen später im Programm kein Wert zugewiesen wird, grundsätzlich immer initialisieren.
Code:float Notensumme;
Ausserdem kannst du nicht direkt auf einen Array zugreifen, sondern nur auf ein Arrayelement.
Code:cin >> Note;
Die einfachste Lösung ohne sich mehr oder weniger selbst dynamische Arrays (z.B. mit dynamischen Strukturen) zusammenzubasteln ist das verwenden einer Konstante für die Anzahl. Zusätzlich dann noch einen Integer der hochgezählt wird über den du bei der Eingabe auf den Index des Arrays zugreifen kannst:
Code:void main () { cout << "Notenrechner" << endl << endl; int Notenanzahl = 10; float Note[Notenanzahl]; float Notensumme = 0; int count = 0; do { cout << "Note: "; cin >> Note[sum]; Notensumme = Notensumme + Note; count++; }while (count < Notenanzahl); float Durchschnitt = Notensumme / count; cout << "Ihr Durchschnitt: " << Durchschnitt; getch(); }
Ähnliche Themen
-
[CS:GO] Fehler
Von Gangstersheep im Forum Counter StrikeAntworten: 0Letzter Beitrag: 03.11.2012, 22:24 -
SSL-FEHLER
Von Kingbubi2 im Forum SoftwareAntworten: 2Letzter Beitrag: 26.06.2012, 21:31 -
Fehler
Von helfen im Forum Fragen & ProblemeAntworten: 6Letzter Beitrag: 06.03.2012, 18:13 -
[C++] Probleme bei einem Notenrechner
Von AlexEHM im Forum C++Antworten: 3Letzter Beitrag: 17.01.2012, 19:09
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.