2017-05-21 2 views
2
#include <iostream> 
int main() 
{ 
    int cnt = 0, sum = 0, value = 0; 
    std::cout << "Please enter a set of numbers and then press ctrl+z and ENTER to add the numbers that you entered" << std::endl; 
    if (cnt = value) 
    ++cnt;   
    while (std::cin >> value) 

     sum += value; 

    std::cout << "the sum is: " << sum << std::endl; 
    std::cout << "the amount of numbers you entered are: " << cnt << std::endl; 

    return 0; 

} 

Die If-Anweisung, die ich habe, ist falsch und zählt nicht die Anzahl der Ganzzahlen der Benutzer in Wert eingegeben.zählen die Menge der Ganzzahlen der Benutzer mit einer Schleife

Wie kann ich das Programm, um die Menge der ganzen Zahlen zählt der Benutzer eine Schleife tritt mit?

+0

Sie benötigen –

+1

Eingangs- und Ausgangsfällen, Bitte lesen Sie die [tour]. Ihr Titel beginnt mit einer Nicht-Wort- und einer nicht-relevanten Information. Die Antwort auf Ihre Frage ist Ja. (was es zu einer schlecht gestellten Frage macht). – Anthon

+0

BTW, sollten Sie Warnungen aktivieren. Dann wird Ihr Compiler wahrscheinlich über 'if (cnt = value) 'warnen, siehe auch https://stackoverflow.com/questions/17681535/variable-assignment-in-ifcondition – stephan

Antwort

4

Lösung erklärt

vorgesehen, um die Anzahl von ganzen Zahlen zu zählen, fügen Sie einfach 1 bis cnt wann immer ein neuer Eingang gegeben wird. (Siehe Zeile mit // ** Kommentar unten).

Auch die cnt == Wertprüfung beim Start nicht erforderlich ist (und es gibt einen ‚=‘ Charakter fehlt dort).

aktualisiert Code

Um es zusammenzufassen alle, sollten Sie Ihre Code-Änderungen wie folgt:

#include <iostream> 
int main() 
{ 
    int cnt = 0, sum = 0, value = 0; 
    std::cout << "Please enter a set of numbers and then press ctrl+z and ENTER to add the numbers that you entered" << std::endl;  
    while (std::cin >> value) 
    { 
     sum += value; 
     cnt++; //** 
    } 
    std::cout << "the sum is: " << sum << std::endl; 
    std::cout << "the amount of numbers you entered are: " << cnt << std::endl; 

    return 0; 

} 
+0

Vielen Dank !!! :) – romeroj1994

Verwandte Themen