C++ ,Zählen positive und negative zahlen und berechnen des Mittelwerts von zahlen) Schreiben Sie ein Programm, das liest eine unbestimmte Anzahl von ganzen zahlen

"- Zählung von positiven und negativen zahlen und berechnen des Mittelwerts von zahlen Schreiben Sie ein Programm, das liest eine unbestimmte Anzahl von zahlen , die bestimmt, wie viele positive und negative Werte, die gelesen wurden, und berechnet die Summe und der Durchschnitt der input-Werte (Nullen zählen nicht). Ihr Programm endet mit dem Eingang 0. Der Durchschnittliche als verdoppeln. wo habe ich bloß falsch gemacht??

#include <iostream>
using namespace std;
int main()

{
            int num= 0;
            int sum=0;
            int pos=0;
            int neg=0;
            double ave=0;
            cout << "Enter an integer, the input ends if it is 0: " ;
            cin >> num ;
            if (num%10==10) {
                while (num!=0) {
                    num/=10;
                    if (num%10>0) {
                        pos++;
                    }
            else if (num%10<0) {
                neg++;
            }
            sum+=num;
                }
            ave= (double)sum/(pos+neg);
            }
            cout <<"The number of positives are " << pos <<endl;
            cout <<"The number of negatives are " << neg <<endl;
            cout <<"The total is " << sum << endl;
            cout <<"The average is "<< ave << endl;
            return 0;

 }
  • Und Ihre Frage ist?
  • wo habe ich bloß falsch gemacht?
  • Wie sollen wir das wissen? Sie wollte nicht sagen, was dein code tut und was es tun sollte.
  • Ich bin neu hier, sorry für mein inexperince. dies ist, was es sein soll, zu tun: . "Zählen Sie positive und negative zahlen und berechnen des Mittelwerts von zahlen Schreiben Sie ein Programm, das liest eine unbestimmte Anzahl von zahlen , die bestimmt, wie viele positive und negative Werte, die gelesen wurden, und berechnet die Summe und der Durchschnitt der input-Werte (Nullen zählen nicht). Ihr Programm endet mit dem Eingang 0. Der Durchschnittliche als verdoppeln.
  • F
  • und mein code zeigt die Anzahl der negative, positive, Summe und Durchschnitt als "0"
  • Es klingt wie Sie benötigen können, um zu lernen, wie man einen debugger zu Schritt über den code. Mit einem guten debugger auszuführen, können Sie Ihr Programm Zeile für Zeile und sehen, wo es abweicht von dem, was Sie erwarten. Dies ist ein wesentliches Werkzeug, wenn Sie beabsichtigen, führen Sie eine Programmierung. Weiter Lesen: gewusst Wie: Debuggen kleine Programme
  • Lesen Sie einen input-Wert nur einmal, nicht in einer Schleife.
  • wie sollte ich es im inneren zu machen, in einer Schleife?
  • Setzen Sie die cin >> num; innerhalb einer do { } while(num != 0); Schleife.
  • wollen Sie Lesen-input-multiple-time-oder just one time?
  • Lesen Sie die "Frage" wieder.
  • einmal.
  • es ist nicht ersichtlich, aus der Frage, also fragte ich? ist es falsch zu Fragen, Zweifel, Frage?
  • "einmal" Sind Sie sich da sicher? Deine Anforderung scheint zu erwarten, dass Sie etwas anderes zu tun.
  • sollte es so sein, ich meine das Beispiel ausführen: Geben Sie eine ganze Zahl, die Ausgabe endet, wenn es 0 : 1 2 -1 3 0 Die Zahl der positiven ist 3 Die Zahl der negativen ist 1 Die Summe 5 ist Der Durchschnitt 1,25
  • Deine Frage sagt, dass "eine unbestimmte Anzahl der zahlen", nicht "eine ganze Zahl". Sie müssen die cin in einer Schleife. Auch if (num%10==10) wird immer falsch sein (num%10 wird zwischen 0 und 9). Schließlich denke ich, dass dein test sollte sum+=num; if (num==0) break; if (num > 0) pos++; else neg++;
  • Sie scheinen verwirrt zu haben zahlen mit Ziffern.
  • Wenn ich die cin >> num ; innerhalb einer Schleife, wenn ich es nicht Fragen, für eine Eingabe
  • Warum ist der modulo-operator, %, sogar in dieser Anweisung gegeben, was war angegeben? Vielleicht sollten Sie 3 Schritte zurück und schreiben ein sehr einfaches Programm, dass Eingaben ganze zahlen, bis eine 0 eingegeben wird. Vergessen Sie die Durchschnittswerte und die negativ / positiv für jetzt.

InformationsquelleAutor Somoy khan | 2016-03-10
Schreibe einen Kommentar