Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

hey

ich bin grade dabei c++ in der schule zu lernen.

wir haben eine aufgabe bekommen die ich nicht hinbekomme und ich bräuchte einen lösungsansatz.

aufgabe: schreiben Sie ein c++ programm, welches werte einliest aus diesen werten die summe und den mittelwert bildet. die eingabe der zahl 0 soll als abbruchkriterium für die eingabe dienen. die ausgabe des programms soll die anzahl der werte, deren summe und den mittelwert umfassen.

beispiel:

zahl 1 : 1

zahl 2 : 2

zahl 3 : 3

zahl 4 : 0

abbruch

so nun zu meinem problem...

die rechnung ist natürlich nciht das problem aber ich habe keine ahnung wie ich die zahlen einlesen soll da ich ja eigentlich für jede zahl eine variable bereitstellen muss. da ich nicht weiß wieviele zahlen eingegeben werden kann ich die ja auch vorher auch nicht anlegen.

Frage -> wie geht das

ich hoffe ich hab meine frage nicht zu umständlich gestellt :P

schonmal danke für eure hilfe :)

Geschrieben
ch habe keine ahnung wie ich die zahlen einlesen soll da ich ja eigentlich für jede zahl eine variable bereitstellen muss.
Nein, musst du nicht. Es reicht doch, wenn du die Summe nachhältst, und wieviele Zahlen eingegeben wurden.
Geschrieben (bearbeitet)

wo bei ein problem hab ich noch...

der mittelwert wird immer falsch berechnet und ich hab keine ahnung woran das liegt..

ich poste euch mal das was ich geschrieben hab, wirkt auf euch wahrscheinlich noch recht unstrukturiert aber ich lerne ja noch :P

// aufgabe_05.cpp

// Datum 09.05.2009

#include <iostream>

using namespace std;

int main()

{

char janein;

do

{

int zahl;

int anzahl = 1;

int summe = 0;

double mittelwert;

cout << "Summe und Mittelwertsberechnung aller eingegebenen Zahlen" << endl << endl;

cout << "Bitte geben Sie alle in die Berechnung enizubeziehenden Zahlen ein." << endl;

cout << "Eingabe von 0 beendet die Eingabe." << endl << endl;

do

{

cout << "Zahl " << anzahl <<" : ";

cin >> zahl;

summe = summe + zahl;

anzahl++;

}

while(zahl != 0);

mittelwert = summe / (anzahl - 1);

cout << endl;

cout << "Anzahl : " << anzahl - 2 << endl;

cout << "Summe : " << summe << endl;

cout.setf(ios::fixed,ios::floatfield);

cout.precision(3);

cout << "Mittelwert: " << mittelwert << endl;

cout << endl << "Programm nochmals ausfuehren? [J/N] ";

cin >> janein;

}

while(janein == 'j');

return(0);

}

Bearbeitet von except
Geschrieben

An dem Ausdruck summe / (anzahl - 1) sind nur ints beteiligt, das Ergebnis ist also wieder ein int - es findet eine Ganzzahldivision statt, bei der alle Nachkommastellen des Ergebnisses wegfallen.

Es sollte schon ausreichen, wenn du statt dessen summe / (anzahl - 1.0) schreibst.

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...