*help* übungsaufgabe zu zeigern etc.
-
hi,
ja, wo genau ist denn das problem? naja, ich rate mal.
also, "eingabe der noten":
du machst ne schleife (stichwort: while) in der die noten eingelesen (stichwort: ::std::cin) eingelesen und gespeichert (stichwort: ::std::vector) werden. dann brauchst du noch eine abbruchbedingung z.b. aufhören, wenn -1 eingegeben wird."Ermittlung der Notenanzahl":
stichwort: ::std::vector, memberfunktion size()"Berechnung des Notendurchschnitts":
je nachdem ob du ein arithmetisches, geometrisches oder sonstwas mittel haben willst: formel besorgen (stichwort wikipedia, "arithmetisches mittel"), ausrechnen lassen, ergebnis ausgeben."Ausgabe aller berechneten Daten":
stichwort ::std::cout"Die Zwischenspeicherung der Daten soll mit Hilfe eines Feldes vorgenommen werden":
huups. wenn vector nicht als "feld" durchgeht, kannst du auch ::boost::array nehmen. oder, notfalls, ein normales array. was aber die sache mit der anzahl der elemente verkompliziert.
-
Zum Code von Life:
Hallo Leute,
Das sieht doch 'n Blinder mit dem Krückstock, dass das kein Anfänger geschrieben hat. Also gleich durchgefallen!
Gruss
Jerry
-
hey ihr
also danke erstmal für die antworten
ja aaaaalso, zum ersten ist das keine hausaufgabesondern das is ne übungsaufgabe für ne klausur
so, also erstmal hab ich mir gedacht dass man irgendwas mit if oder case machen muss, damit hinterher ausgegeben werden kann, wieviel von jeder note vorhanden ist. abe rih chab kp wie man das dann in den feldern speichern soll.
die ermittlung des notendurchschnitts kann ich denk ich mal auch noch selber machen. dann als nächstes problem is, dass ich keine ahnung hab wie man das mit den zeigern hier machen soll und wofür man die überhaupt braucht. das check ich irgendwie nicht .
naja un die ausgabe der berechneten daten is ja auch noch leicht, wenn man erstmal das programm bis dahin geschrieben hat
und zum code von life .. dankeschön
leider versteh ich da null *gg*.. soweit bin ich dann ja wohl doch noch nichund diese funktionen :
stichwort: ::std::vector
und
stichwort: ::std::vector, memberfunktion size()hatten wir noch gar nich !?
danke noch mal und wäre nett wenn mir jdm weiter helfen kann
-
geh doch einfach methodisch vor also erstmal machen wir ein Feld wo deine Noten gespeichert werden also so was wie.
struct Liste{ char name[25]; float note; };
Dann musst du ein array mit genügend platz reservieren.
Liste Buffer[50];
Also das ein-/ausgeben und berechnen solltest du alleine hinkriegen. Du musst das ganze nur in Funktionen binden und die Liste sollst du als zeiger übergeben also in der Richtung soll das aussehen.
void Output(Liste* Zeiger){ cout >> Zeiger->note; }
OK, das ist jetzt nicht sicherer Code aber das wird in etwa das sein was da erwartet wirt;-).
-
ja also das mit dem feld is ja klar.
aber ich verstehe nich wie man das ausgeben soll das da zum schluss steht dass es zum beispiel
5 einsen, 4 zweien, 7 dreien usw gab.
das versteh ich nich wie man das machen soll.. ich hab mir halt schon so gedacht bestimmt mit if oder case aber kp wie man das realisieren soll.
und das mit dem zeiger versteh ich auch nich -.-
sry dass ich schon wieder nach frage.
also irgendwie muss man ja schreiben *ptr = feld;
aber kp
-
das ist ne doppelschleife
for (int i=1;i<7;i++){//schleife die 6 mal durchläuft int count=0;//zähler für die anzahl an nummern for (int j=0;j<listsize;j++){//schleife die sizeof list durchläuft if(list.note==j)count++;//wenn note gleich zähler +1 } cout << "Note"<<i<<": "<<count;//ausgabe }
is nich grad edel aber sollte dir den weg zeigen
-
hm jetz bin ich ganz verwirrt -.-
also sowas hatten wir glaub ich noch nich ...
und damit zählt der jetzt wieviele von den noten jeweils vorhanden sind ??
-
dann kuck dir deine Unterlagen an.
-
machs doch ganz einfach
int main() { int pupil = 0; int gradeCount[6]; for(int i = 0; i < 6; i++) gradeCount[i] = 0; while(true) { int temp; cin>>temp; if(temp < 1 || temp > 6) break; gradeCount[temp-1]++; pupil++; } int sum = 0; for(int i = 0; i < 6; i++) { sum += gradeCount[i]*(i+1); cout << "Note: " << (i+1) << " war " << gradeCount[i] << " mal vertreten." << endl; } cout << "Durchschnittsnote: " << (float)sum/(float)pupil << endl; return 0; }
-
Wenn du aus der Klasse XTA31 der BSEE Rostock bist,
ist es klar, dass du keinen Schimmer hast. _