Zitat:
Zitat von BastiR1991
Code:
#include <iostream>
using namespace std;
//diese Funktion wird immer 1 zurückgeben (Ausnahme bei -1), AllNumbers muss global definiert sein, oder in die Funktion übergeben werden
int CountNumbers (int Number) {
int AllNumbers=0;
bool Break=false;
while (Break == false) {
if (Number != -1)
AllNumbers++;
else
Break == true;
}
return AllNumbers;
}
//gleiches Problem wie bei der Funktion davor
int CountNumbersOver1000 (int Number) {
int NumbersOver1000 = 0;
bool Break = false;
while (Break == false) {
if (Number != -1) {
if (Number > 1000)
NumbersOver1000++;
}
else
Break == true;
}
return NumbersOver1000;
}
int main () {
int NumIn=0;
cout << "Geben Sie eine Zahl ein: ";
cin >> NumIn;
cout << "Anzahl Zahlen = "<< CountNumbers (NumIn) << endl;
cout << "Anzahl Zahlen Größer 1000 = "<< CountNumbersOver1000 (NumIn) << endl;
}
|
Kommentare im Code.
Wieso nutzt du eigentlich While-Schleifen, wenn du sowieso nur eine Zahl kontrolierst?
-Counter in der main definieren und an die Funktionen übergeben.
-whileschleien löschen
Spaß haben
Zitat:
Zitat von pokefreak
Dein Programm ist leider vom grundsatz her total Falsch.
Wenn du alles erklärt haben willst, auch warum deins nicht funktionieren können wir uns gerne mal per Skype oder TS unterhalten^^
Juhu, mein erstes c++ Programm
Edit: es gibt auch einen weg ohne Arrays, denke das wäre einfacher für dich, bei bedarf kann ich diesen auch noch benutzen
|
Das Programm ist nicht grundsätzlich falsch, nur ein paar Fehler sind halt drin...
Problem bei deinem Ansatz:
Fehlermeldung wegen Bad memory access. (Feld wird auf 20 Stellen begrenzt, werden 21 eingegeben --> buff)
Lösung:
Dynamisches anpassen des Arrays wenn es droht "überzulaufen"