MagMag Geschrieben 5. August 2011 Teilen Geschrieben 5. August 2011 Huhu Leute, ich hab ein riesen Problem. In meiner Ausbildung ist meine größte schwäche C++ =( Bin ein blutiger Anfänger. Hab mich durch mind. 1 Mio. foren und hilfseiten und Bücher gelesen. Bin dabei nämlich alles selbst zu erlernen/nachzuholen. Ich check mein Problem nicht. Das Programm soll es dem Nutzer ermöglichen 10 Zahlen zwischen 0 u. 20 einzugeben. Diese sollen dann auch ausgespuckt werden...uvm.. Das Programm soll noch viel mehr, aber genau an der stelle hackt es momentan bei mir..... Die Syntax: int i; int zahl[11]; int main() { do { cout << "Bitte eine Zahl zwischen 0 und 20 eingeben:"; cin >> zahl[i]; i++; } while (i<10 && i>=0 && i<=20); Ich hab es auch schon mit einer FOR Schleife probiert. Aber ich hab immer eine Endlos Schleife oder er beachtet die Bedingungen nicht. Verwende Dev-C++. Ich blick solangsam nicht mehr durch. VIELEN DANK schonmal für HILFE =) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 5. August 2011 Teilen Geschrieben 5. August 2011 Du solltest i initialisieren, d.h. einen Anfangswert zuweisen. Sonst steht da irgendwas drin. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MagMag Geschrieben 5. August 2011 Autor Teilen Geschrieben 5. August 2011 Danke für die schnelle Antwort, hab ich mit einbezogen........ Aber der will i-wie nicht bei -1 oder z.B. 21 abbrechen wie ich es mir wünsch. Und man kann von Glück reden wenn er 10 durchläufe macht.....hmm Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 5. August 2011 Teilen Geschrieben 5. August 2011 Deine Schleifenbedingung prüft nur i, also deine Zählvariable. Wenn du zusätzlich prüfen willst, ob die eingebene Zahl im gewünschten Bereich liegt, musst du, bevor du i hochzählst, zahl prüfen und dann gegebenenfalls i nicht hochzählen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Maniska Geschrieben 5. August 2011 Teilen Geschrieben 5. August 2011 while (i<10 && i>=0 && i<=20); Was macht denn dieser Teil? Erklär das mal mit eigenen Worten. Kleiner tip: Schreib dein Programm auf einem Schmierzettel in Pseudocode. Da kannst du mit eigenen Worten erklären was wann passieren soll und musst es "nur noch" runterschreiben. Gerade am Anfang hilft das extrem weiter. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MagMag Geschrieben 5. August 2011 Autor Teilen Geschrieben 5. August 2011 WoW. Danke Es funktioniert....... =) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MagMag Geschrieben 5. August 2011 Autor Teilen Geschrieben 5. August 2011 while (i<10 && i>=0 && i<=20); Was macht denn dieser Teil? Erklär das mal mit eigenen Worten. Schleife soll nach 10 eingaben beenden......soll unter 0 und über 20 abbrechen (aber 0 u. 20 akzeptieren) Danke für den Tipp ^^ Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Maniska Geschrieben 5. August 2011 Teilen Geschrieben 5. August 2011 (bearbeitet) Schleife soll nach 10 eingaben beenden......soll unter 0 und über 20 abbrechen (aber 0 u. 20 akzeptieren) Sie soll also abbrechen wenn dein i 10 ist... und gleichzeitig 0 und > 20? Ich würde "irgendwo" noch eine if-Abfrage einbauen die prüft ob die eingegebene Zahl in dem erlaubten Wertebereich liegt. Bearbeitet 5. August 2011 von Maniska Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MagMag Geschrieben 5. August 2011 Autor Teilen Geschrieben 5. August 2011 (bearbeitet) also ich hab grad selbst bemerkt.....bei unter 0 und über 20 abbrechen ist ok..... aber mit 10 nicht also das sollte die anzahl der durchläufe sein, weißte wie ich meine? Bearbeitet 5. August 2011 von MagMag Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MagMag Geschrieben 5. August 2011 Autor Teilen Geschrieben 5. August 2011 Wie mach ich das den jetzt das es keine endlos schleife wird o.O Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Maniska Geschrieben 5. August 2011 Teilen Geschrieben 5. August 2011 also ich hab grad selbst bemerkt.....bei unter 0 und über 20 abbrechen ist ok..... Das sind aber Werte die dein i niemals haben "kann" i ist mit 0 initialisiert, dh in den Minusbereich kann es nicht kommen, richtig? Die Schleife soll abbrechen sobald i>10, richtig? Warum dann nochmal über 20, das darf dein i nie erreichen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MagMag Geschrieben 5. August 2011 Autor Teilen Geschrieben 5. August 2011 Das sind aber Werte die dein i niemals haben "kann" i ist mit 0 initialisiert, dh in den Minusbereich kann es nicht kommen, richtig? Die Schleife soll abbrechen sobald i>10, richtig? Warum dann nochmal über 20, das darf dein i nie erreichen. o.O Du verwirrst mich. Zahlen zwischen 0 bis 20 akzeptieren .....also 0 und 20 auch annehmen ....... alles was drunter oder drüber liegt soll das programm abbrechen..... Mit den 10 da hab ich mich vertan, ich wollte damit die Schleifen durchläufe festlegen.....also wenn der nutzer 10 eingaben macht weiter zum nächsten punkt.............. hoffe ein wenig klarer jetzt.... Jetzt macht das Programm auch alles aber in einer ENDLOS Schleife......er bricht bei unter 0 und über 20 ab aber nicht nach 10 durchläufen Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MagMag Geschrieben 5. August 2011 Autor Teilen Geschrieben 5. August 2011 Die aktuelle Syntax int i; int zahl[11] = {0}; int main() { do { cout << "Bitte eine Zahl zwischen 0 und 20 eingeben:"; cin >> i; zahl[i]++; } while (i>=0 && i<=20); soweit so gut, nur wie mach ich das nach 10 eingaben schluß ist ? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 5. August 2011 Teilen Geschrieben 5. August 2011 Hast du meinen 2. Beitrag überhaupt gelesen? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MagMag Geschrieben 5. August 2011 Autor Teilen Geschrieben 5. August 2011 (bearbeitet) Ja hab ich, nur die hälfte verstanden..... und auch kein blassen schimmer wie ich das umsetzten soll.... ...hänge echt schon lang an dieser blöden aufg.....sollangsam geht meine motivation in den keller Deine Schleifenbedingung prüft nur i, also deine Zählvariable. <---verstanden Wenn du zusätzlich prüfen willst, ob die eingebene Zahl im gewünschten Bereich liegt, musst du, bevor du i hochzählst, zahl prüfen <---nicht so komplett angekommen und dann gegebenenfalls i nicht hochzählen. <----- hab ich glaubig umgesetzt, wenns richtig ist ich hab sogar alle möglichen unterlagen aus der schule vor mir liegen.......und ich blicks nicht......ich werde es wahrscheinlich nie im leben verstehen und das schlimme ich versuch ja schon alles..... Bearbeitet 5. August 2011 von MagMag Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 5. August 2011 Teilen Geschrieben 5. August 2011 Formulier deinen Algorithmus einmal in normalem Deutsch, ohne C++. Dann sehen wir, ob's am Algorithmus hängt, oder an der Umsetzung in C++. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MagMag Geschrieben 5. August 2011 Autor Teilen Geschrieben 5. August 2011 (bearbeitet) Formulier deinen Algorithmus einmal in normalem Deutsch, ohne C++. Dann sehen wir, ob's am Algorithmus hängt, oder an der Umsetzung in C++. Sry was meinst du? Also soll ich das komplette programm beschreiben was ich denke was es machen soll oder hä?! Ich versteh heut nur simples deutsch....stehe sowas von auf dem schlauch Bearbeitet 5. August 2011 von MagMag Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 5. August 2011 Teilen Geschrieben 5. August 2011 Beschreibe, wie dein Programm das Problem löst. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Maniska Geschrieben 5. August 2011 Teilen Geschrieben 5. August 2011 Genau das. Einfach runterschreiben was wann passieren soll, also nach dem Schema: Schritt 1: Wasser und Kaffeepulver in die Maschine; Schritt 2: Tasse darunter stellen; Schritt 3: Einschalten; ... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MagMag Geschrieben 5. August 2011 Autor Teilen Geschrieben 5. August 2011 (bearbeitet) o.O ich weiß nur soviel: ich hab ein programm mit 10 elementen angelegt. in einer schleife wünsche ich mir das 0-20 akzeptiert (mehr nicht) werden als eingabe und das die schleife nach max 10 durchläufen endet. soo rauskommen tut momentan alles korrekt ausser das es nicht auf 10 durchläufe begrenzt ist. ich hab so ein chaos im kopf das ich grade kein unterschied zwischen zahl und i sehen...... das einzige was ich begriffen hab ist das, dass array bei 10 werten sogesehen von 0-9 läuft..... nur das i verwirrt mich....... ich weiß auch nicht ob die schleife die ich hab gut ist, weil ich voll oft for schleifen gelesen/gesehen habe.....nur da krieg ich es nicht mit den bedingungen hin aber mit der anzahl der durchläufe und ich weiß das ich mehr glück grad habe als verstand wahrscheinlich...... Variablen deklarieren array anlegen Programm startet mit main in einer schleife soll um eingabe gebeten werden der variablen angelegt im array bei -1 und tiefer abbrechen bei 21 und höher abbreche max 10 durchläufe schleife abbrechen (eigentlich noch ausgabe aber mach ich später) und ende Bearbeitet 5. August 2011 von MagMag Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 5. August 2011 Teilen Geschrieben 5. August 2011 o.OWas soll das jetzt bedeuten? Willst du nicht tun, was wir vorschlagen, weil du nicht glaubst, dass es hilft? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MagMag Geschrieben 5. August 2011 Autor Teilen Geschrieben 5. August 2011 (bearbeitet) hab doch drunter geschrieben..... nein das soll es nicht heißen es heißt ich weiß nicht was gemeint ist, das ich verwirrt bin und grad ka hab was verlangt ist..... was mir dann einfiel hab ich grad drunter geschrieben Variablen deklarieren array anlegen elemente auf 0 setzten Programm startet mit main in einer schleife soll um eingabe gebeten werden der variablen angelegt im array bei -1 und tiefer abbrechen bei 21 und höher abbreche max 10 durchläufe schleife abbrechen (eigentlich noch ausgabe aber mach ich später) und ende Bearbeitet 5. August 2011 von MagMag Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Thelvan Geschrieben 5. August 2011 Teilen Geschrieben 5. August 2011 Wieso soll er abbrechen wenn man eine ungültige Zahl eingibt? Warum soll der Benutzer nicht nochmal eine Zahl eingeben können? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MagMag Geschrieben 5. August 2011 Autor Teilen Geschrieben 5. August 2011 weil das ganze ein größeres programm wird mit fakultäten berechnung....... da soll halt nur 0-20 erlaubt sein.... natürlich könnte man eine abfrage einbauen, aber ich dachte so wäre es leichter Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 5. August 2011 Teilen Geschrieben 5. August 2011 Variablen deklarierenNicht als Programm. Auf Deutsch. Versuch, es wie ein Kochrezept oder eine Bastelanleitung zu formulieren. bei -1 und tiefer abbrechenDas ist nicht genau genug: Was soll mit -1 verglichen werden, und was wird abgebrochen? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.