summe berechnen



  • Hi,

    ich habe eine Schleife, in der man immer wieder eine Zahl eingeben muss, solange diese Zahl größer als Null ist. Sobald die Zahl kleiner als 0 ist, wird die Schleife unterbrochen und es wird die Summe aller eingegebenen Zahlen angezeigt. Wie geht das? Weil immer wenn ich wieder in die Schleife reinkomme ist ja der vorherige Wert weg.

    cu
    shm



  • Hallo

    Du könntest alle eingegeben Werte in ein array oder besser einen std::vector schieben.

    chrische



  • Du definierst deine Summenvariable und Eingabevariable vor der Schleife. In der Abbruchbedingung der Schleife prüfst du dann, ob letztere größer gleich 0 ist.



  • void main(void)
    {
        int zahl;
        int summe=0;
        do
        {
            printf("Zahl eingeben:");
            scanf("%d",&zahl);
            summe += zahl;
        }
        while(zahl != 0);
    
        printf("Die Summe ist: %d",summe);
    }
    


  • so habe ich das jetzt gemacht:

    sum = sum + zahl;
    if (zahl>0)
    mittelwert = sum / i;

    Aber was bedeute folgende Zeile "summe += zahl;" ??



  • und wie finde ich jetzt die kleinste und die größte Zahl zwischen allen eingegeben Zahlen?



  • Hallo

    das was ogg da schreibt ist übrigens veraltetes C. Im Modernen C++ siehts so aus

    #include <iostream>
    
    int main()
    {
      int min = std::numeric_limits<int>::max();
      int sum = 0;
      int count = 0;
      int cur;
      std::cout << "Zahlen eingeben !" << std::endl;
      while (1)
      {
        std::cin >> cur;
        if (cur == 0) break;
        sum += cur;
        if (cur < min) min = cur;
        count++;
      }
      std::cout << "Anzahl Zahlen : " << count << std::endl;
      std::cout << "Summe : " << sum << std::endl;
      std::cout << "Kleinste : " << min << std::endl;
      }
    

    bis bald
    akari



  • shm schrieb:

    Aber was bedeute folgende Zeile "summe += zahl;" ??

    Ist das gleiche wie

    summe = summe + zahl;
    

    Das müsste aber in jedem Tutorial/Buch stehen!



  • akari schrieb:

    Im Modernen C++ siehts so aus [Code]

    Bitte die Abbruchbedingung dahin schreiben, wo sie hingehört.


Anmelden zum Antworten