Neueinsteiger in C++
-
@Spider67 sagte in Neueinsteiger in C++:
So habe ich glaube ich mal die Eingabe der Zahl realisiert. Wie programmiere ich jetzt, dass das Programm bis zu der eingebenen Zahl zählt und dann stoppt? Realisiert man das mit der count Funktion?
Eigentlich halt mit einer Schleife, wie in Aufgabe 2, daher sag ich doch die ganze Zeit, dass du diese Aufgabe vergessen solltest und stattdessen Aufgabe 2 machen sollst. Dies ohne eine Schleife zu machen ist eher eine extra Herausforderung für erfahrene Programmierer.
-
@Spider67 Nein,
std::count
ist dafür da, bestimme Elemente zu zählen, die eine Bedingung erfüllen (==value
): Zum Beispiel alle Einsen in einem Vektor.Jedes Einsteigerbeispiel für eine
for
Schleife ist eine einfache Zählschleife: z.B. https://www.w3schools.com/cpp/cpp_for_loop.aspMan kann das auch mit einer anderen Schleife realisieren. Vlt hast du, wo auch immer die Aufgabe her ist, mit einer
while
Schleife angefangen und das ist die Idee von Aufgabe 1.Eine Funktion aus der Standardbibliothek dafür gibt es nicht, denn "Hochzählen" an und für sich macht ja erstmal wenig Sinn. Die Aufgabe ist ja wahrscheinlich auch, "alle Zahlen zwischen 0 und Eingabe ausgeben"
Wenn man expliziet keine Schleife haben möchte, kann man natürlich über eine rekursive Lösung nachdenken, aber das ist nicht, was du als Einsteiger als erstes machen möchtest.
-
@Schlangenmensch genau darum soll es gehen.
In beiden Beispielen wird verlangt bis zur eingegebenen Zahl hochzuzählen. Im ersten Fall ohne for Schleife im zweiten halt mit for Schleife. Da es sich um eine der ersten Übungen in meinem Kurs handelt, dürfte Aufgabe 1 nicht sonderlich kompliziert sein.
Ich versuche es mal wie ich es mir jetzt zusammengereimt habe:
Bitte um Feedback ob es so passt:
using namespace std; int main() { int zahl; cout << "Eingabe einer Zahl" << endl; cin >> zahl; } for (int i = 0; i ≤ zahl; i++) { cout << i << "\n"; }
Wie weit liege ich da daneben?
-
Dieser Beitrag wurde gelöscht!
-
Was hast du denn in deinem Kurs gemacht? Da wird es ja auch Beispiele geben. Die wirst du wahrscheinlich nur minimal ändern müssen.
Tut mir leid, dass hier niemand die Lösung hinschreibt. Aber programmieren lernt man nur, wenn man das auch macht und Dinge probiert.
Für die
for
Schleife kannst du einfach das Beispiel aus meinem Link kopieren und minimal anpassen. Dann kannst du das selbe mit einer anderen Schleife, z.B. der von mir angesprochenenwhile
Schleife lösen.Das Einlesen hast du ja schon, wie könnte dann die Schleife dazu aussehen.
-
Hallo,
dann wäre das Aufgabe 1 mit der while Schleife, oder nicht?
using namespace std; int main() { int zahl; cout << "Eingabe einer Zahl" << endl; cin >> zahl; } int i = 0; while (i ≤ zahl) { cout << i << "\n"; i++; }``` Habe ich es jetzt halbwegs begriffen?
-
@Spider67 sagte in Neueinsteiger in C++:
Wie weit liege ich da daneben?
Tut es denn, was du willst?
@Spider67 sagte in Neueinsteiger in C++:
dann wäre das Aufgabe 1 mit der while Schleife, oder nicht?
Gleiche Antwort: Kannst du nicht selber beurteilen, ob dein Code a) eine while-Schleife enthält und b) tut was du willst? Festzustellen, ob ein Programm korrekt ist, gehört zum Programmieren dazu!
Heißer Tipp: Du programmierst sicher nicht nur auf Papier. Den Code auch mal auszuführen ist offensichtlich extrem hilfreich, wenn man feststellen will, ob der Code das richtige tut. Das hast du offensichtlich nicht einmal ausprobiert, denn dein Code enthält noch Fehler, die dich ihn noch nicht einmal ausführen ließen. Durch Ausprobieren hättest du diese sofort gefunden.
Zweiter Tipp: Du programmierst sicher nicht nur auf Papier. Jeder minimal schlaue Editor oder IDE schreit sofort, wenn man ihm deinen Code zeigt, über die Syntaxfehler darin, und zeigt dir wahrscheinlich sogar halbwegs genau, was wo warum falsch ist. Programmier nicht mit Steinzeitmitteln! Geh mit der Zeit! Die 1990er sollten sogar locker reichen, um ausreichend schlaue Entwicklungsumgebungen zu finden.
-
In meinem Kurs wird Notepad++ vorgeschlagen. Ist das ein halbwegs guter Editor mit dem ich den Code/das Programm auch testen kann?
-
@Spider67
Lass Notepad++ sein und nimm Visual Studio Community.
-
-
@Spider67
Ein Editor ist fast nicht vergleichbar zu einer IDE.Mit einem Editor kannst du alle schönen Dinge mit Texte machen, schreiben, manipulieren,... Dinge welche die Entwicklung betreffen sind da nur spärlich vorhanden,
Bei einer IDE ist dies anders. Du kommst relativ schnell mit Projekte in Verbindung. Bauen, also der Vorgang Quellcode -> Programm, funktioniert da auch problemlos. Ebenso die Fehlersuche bzw. Debugging. Etwas was du unbedingt üben musst! Einfach dein Programm Schritt für Schritt ausführen.
Auch eine sehr angenehmen Sache, das Intellisense. Du suchst eine Funktion "Set..."? Kein Problem Intellisense zeigt dir alle Funktionen hierzu!
Wie war die Funktion "XYZ" definiert? Unter Visual Studio drückt man hierzu F12 und schon landest du in der Funktion.
...
-
@Spider67 sagte in Neueinsteiger in C++:
In meinem Kurs wird Notepad++ vorgeschlagen. Ist das ein halbwegs guter Editor mit dem ich den Code/das Programm auch testen kann?
Guter allgemeiner Editor, aber braucht einiges an Expertise in der Einrichtung, um dich gezielt beim Programmieren zu unterstützen. In der Standardeinstellung macht er glaube ich nur Klammerprüfung und ein bisschen Einrückung, was hier tatsächlich nicht gereicht hätte. Die anderen Programme, die hier vorgeschlagen wurden, sind gleich von Haus aus spezialisierte Programmierwerkzeuge, aber umgekehrt würde ich mit denen kein Kochrezept tippen wollen.
-
@Quiche-Lorraine sagte in Neueinsteiger in C++:
@Spider67
Lass Notepad++ sein und nimm Visual Studio Community.Ich häng mich nur kurz dran, weil es hier sowieso angesprochen wurde.
Welche Entwicklungsumgebungen für CPP gäbe es denn noch neben VS Community?
-
So würde ich es jetzt mit der while schleife probieren:
using namespace std; int main() { int zahl; cout << "Eingabe einer Zahl: "; cin >> zahl; int i = 0; while (i <= zahl) { cout << i << "\n"; i++; } return 0; }``` und so mit der for Schleife: ```#include <iostream> using namespace std; int main() { int zahl; cout << "Eingabe einer Zahl: "; cin >> zahl; for (int i = 0; i <= zahl; i++) { cout << i << "\n"; } return 0; }``` Ich glaube jetzt sieht es gut aus.
-
@cpp-n00b sagte in Neueinsteiger in C++:
@Quiche-Lorraine sagte in Neueinsteiger in C++:
@Spider67
Lass Notepad++ sein und nimm Visual Studio Community.Ich häng mich nur kurz dran, weil es hier sowieso angesprochen wurde.
Welche Entwicklungsumgebungen für CPP gäbe es denn noch neben VS Community?VSCode find ich persönlich ganz gut, vor allem weil es recht flott läuft (Visual Studio in jeder Variante fand ich immer etwas zäh) und alles kann, was ich bei einer IDE brauche (mit entsprechenden Extensions). Die Toolchain ist zwar etwas komplizierter zu konfigurieren (daher ist Visual Studio für totale Anfänger vielleicht etwas besser) aber dafür sind dann auch andere Toolchains (z.B. GCC und Clang mit MinGW) meines Erachtens etwas unproblematischer einzurichten. Ich weiß nicht, ob GCC mit Visual Studio überhaupt außerhalb von Linux+WSL Targets brauchbar geht, ohne ein eigenes Platform Toolset dafür zu bauen. Mit VSCode geht alles relativ simpel, was man es ein ein CMake-Projekt packen kann.