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.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

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...