C++ Neuling
-
der compeiler zeigt mir fehler in der 9,10,13,14,25,26 zeile an
edit: SeppJ, ich bin nicht hier um die Hausübung gemacht zu bekommen, sondern ich will es selber versteht
und dieses programm verstehe ich onehin nicht
-
hallo,
also für den ersten Tag finde ich die Hausaufgabe schon bisschen viel...welche Sprachelemente habt ihr denn schon behandelt?
- Variablendeklaration/-definition
- variablentypen (int,bool,char,string,...)
- schleifen (while,for,...)
- bedingungsprüfung (if, switch/case,...)
- funktionen
- ein/ausgabe (cin/cout,printf,gets,...)habt ihr schon ein Programm compiliert? (welcher compiler,Entwicklungsumgebung/Konsole)
prinzipell sind die teilpeobleme schon gut formuliert...die 3 wenn-sätze kannst du in eine switch/case-unterscheiden oder if/else verwenden
für die Zahlenreihe brauchst du eine Schleife (z.b. for) die nacheinander die zahlen anzeigt (cout).
sonst versuche das Programm stückchenweise zum laufen zu bekommen:
1. Problem Eingabe (programm, was nur deine eingabe verwertet und wieder ausgibt)
2. prüfung auf bestimmte eingabe...Eingabe auf die werte (>50 oder <50) prüfen und nur anzeigen welcher Fall eingetreten ist
...hoffe, ich konnte dir auch bisschen helfen
Gruß Frank
-
danke für eure Hilfe, hb es hinbekommen!
#include <iostream> using namespace std; int main() { int zahl,x; zahl=100; cout << "Geben sie eine Zahl zwischen 1 und 100 ein" << endl; cin >> x; if(x<50) { while(x>=1) { x=x-1; cout << x <<endl; } } else { while(x<=99) { x=x+1; cout << x << endl; } } return 0; }
-

Und wenn x gleich 50 ist?
-
@Auch C++ Neuling: bitte nächstes Mal bei solchen Fragen keine Komplettlösungen posten, sonst ist der Lerneffekt minimal.
-
Kleine Anmerkung: Die eingegebene Zahl wird bei dir nicht ausgegeben.
-
@wurstinator Die eingegebene Zahl wird ausgegeben.
-
Nein, sie steht nur in der Konsole, weil du sie vorher eingibst.
Wenn du die Zwischenzeichen bei der Ausgabe etwas veränderst, sieht man das gut:
int main() { int zahl,x; zahl=100; cout << "Geben sie eine Zahl zwischen 1 und 100 ein" << endl; cin >> x; cout << endl << endl; if(x<50) { while(x>=1) { x=x-1; cout << x << ' '; } } else { while(x<=99) { x=x+1; cout << x << ' '; } } return 0; }Ausgabe:
7778 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
-
ok danke für den tipp

-
Niko.S schrieb:
...
Das Programm sollte so laufen:
-ich geben eine Zahl zwischen 1 und 100 ein
...
-wenn diese Zahl gleich 50 ist, soll die Zahlenreihe nach oben und unten gehenDer Fall das die Zahl kleiner als 1 oder gar grösser als 100 ist wird in deinem Code (bisher) nicht berücksichtigt
und auch der dritte Punkt welcher erfüllt sein muss (wenn die Eingabe gleich 50 ist) 
Gruss