| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: For schleifen (1151 mal gelesen)
|
cadplayer Ehrenmitglied CADniker
Beiträge: 1832 Registriert: 28.04.2009
|
erstellt am: 26. Apr. 2012 08:28 <-- editieren / zitieren --> Unities abgeben:
Ich bin eben dabei eine For-schleife zu konstruieren. Allerdings hänge ich fest an der Stelle, dass mir das Label A alle i-werte ausgibt und anschliessend deren Summe. Code:
private void cmdSchleife2_Click(object sender, EventArgs e) { double i = 35; double summe = i; lblA.Text = ""; for (i = 35; i >= 20; i = i - 2.5) { if (i <= 35) lblA.Text += i + "\n"; if (summe > i) summe = i + summe; lblA.Text = "Summe: " + summe; }
------------------ Gruss Dirk Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
Beiträge: 4171 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools
|
erstellt am: 26. Apr. 2012 08:50 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
|
cadplayer Ehrenmitglied CADniker
Beiträge: 1832 Registriert: 28.04.2009
|
erstellt am: 26. Apr. 2012 09:28 <-- editieren / zitieren --> Unities abgeben:
Nee das hat schon eine Bedeutung, denn es werden alle i-werte ausgedruckt Am Beispiel 35 32.5 30 27.5 25 22.5 20 Jetzt möchte ich aber gern noch die Summe der Werte unten anhängen also Summe: 192.5 Mich wundert jetzt nur, wenn ich die 2 if-schleifen getrennt aufrufe funktioniert es. Aber zusammen wird mir immer nur das Ergebnis der letzten if schleife ausgegeben. ------------------ Gruss Dirk Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadplayer Ehrenmitglied CADniker
Beiträge: 1832 Registriert: 28.04.2009 Windows 10 64bit system Autocad Civil3d 2020 ENGLISH Visual Studio 2019 OpenDCL.Runtime.9<P>
|
erstellt am: 26. Apr. 2012 11:17 <-- editieren / zitieren --> Unities abgeben:
|
Christian Blei Mitglied
Beiträge: 124 Registriert: 23.06.2008 Thinkpad W520, 16GB Win 7,Autocad 2012, ProStructures V8i4+5 , VBA, VB.NET,
|
erstellt am: 26. Apr. 2012 12:33 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
Hallo, ich schreibe VB.Net, und habe nicht so viel Ahnung von C#. Aber ich sehe da nur eine Schleife mit zwei if Bedingungen, und das Ergebnis der zweiten Bedingung überschreibt wohl in den meisten Fällen das Ergebnis der ersten...... Ausserdem wundert mich >lblA.Text = "Summe: " + summe;< wird String + Double einfach zu String convertiert? Gruss, Christian Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadplayer Ehrenmitglied CADniker
Beiträge: 1832 Registriert: 28.04.2009
|
erstellt am: 26. Apr. 2012 13:24 <-- editieren / zitieren --> Unities abgeben:
Zum ersten, genau das ist meine Frage, wie man zwei Bedingungen in eine Schleife einbauen kann, ohne das die letzte die erste überschreibt. zum zweiten, ja das ist machbar mit c#, dass man eine var double als string ausgibt. ------------------ Gruss Dirk Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
Beiträge: 4171 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools
|
erstellt am: 26. Apr. 2012 22:59 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
... Vielleicht ist es ja zu einfach? Wenn aber die letzte IF den Wert überschreibt, dann fehlt das + an der Stelle, wo du die Summe ins Textfeld schießt. Wenn du die Zweite IF anweisung nur prüfen willst, wenn die erste FALSE ist, dann kannst du doch mit if () ... Else if () ... Else ... Arbeiten? Grüße! Holger ------------------ Holger Brischke CAD on demand GmbH Individuelle Lösungen von Heute auf Morgen. defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Christian Blei Mitglied
Beiträge: 124 Registriert: 23.06.2008 Thinkpad W520, 16GB Win 7,Autocad 2012, ProStructures V8i4+5 , VBA, VB.NET,
|
erstellt am: 27. Apr. 2012 09:47 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
Hallo, warum sind die ifs denn notwendig? Die Schleife ist doch mit ihreen Grenzen definiert.warum nicht private void cmdSchleife2_Click(object sender, EventArgs e) { double i = 35; double summe = 0; lblA.Text = "";
for (i = 35; i >= 20; i = i - 2.5) { lblA.Text += i + "\n"; summe = i + summe; } lblA.Text =lblA.Text + "Summe= " + Summe + "\n"; } Ich hoffe, die Klammern sitzen richtig. Gruss, Christian
Gruss, Christian
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadplayer Ehrenmitglied CADniker
Beiträge: 1832 Registriert: 28.04.2009
|
erstellt am: 27. Apr. 2012 11:38 <-- editieren / zitieren --> Unities abgeben:
|
cadplayer Ehrenmitglied CADniker
Beiträge: 1832 Registriert: 28.04.2009 Windows 10 64bit system Autocad Civil3d 2020 ENGLISH Visual Studio 2019 OpenDCL.Runtime.9<P>
|
erstellt am: 02. Mai. 2012 09:15 <-- editieren / zitieren --> Unities abgeben:
Ich bin wie gesagt noch Neuling in C#. Beim Schreiben eines Codes, legt man immer in die Methoden lokale Variablen. Wie erreicht man es das die Variablen übergreifend gelten und zur Verfügung stehen? An meinem Beispiel soll in der Methode "Erzeugen" eine Zahl z erzeugt werden. Und in der Methode "Prüfen" geprüft werden ob die Eingabe wert mit der Zahl z übereinstimmt. Code:
private void cmdErzeugen_Click(object sender, EventArgs e) { int z; z = r.Next(1, 100); } private void cmdPrüfen_Click(object sender, EventArgs e) { int w; w = Convert.ToInt16(txtE.Text); if (w <= z) lblA.Text = "Wert ist zu klein! "; else if (w >= z) lblA.Text = "Wert ist zu gross! "; else lblA.Text = "Zahl ist korrekt"; }
------------------ Gruss Dirk Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
Beiträge: 4171 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools
|
erstellt am: 02. Mai. 2012 09:25 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
Hallo Dirk, dafür solltest du ein neues Thema aufmachen - mit den Schleifen hat das nichts mehr zu tun. Die Beantwortung der Frage allerdings ist recht umfangreich, da es hier um die Erstellung eigener Objekt-Klassen geht. Das kann (zumindest ich) nicht in einigen wenigen Sätzen so formulieren, dass dann alles geklärt wäre. Schau einfach mal im Internet, was du zur Erstellung der Klassen findest. ein MS-Beispiel findest du hier. Grüße! Holger ------------------ Holger Brischke CAD on demand GmbH Individuelle Lösungen von Heute auf Morgen. defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadplayer Ehrenmitglied CADniker
Beiträge: 1832 Registriert: 28.04.2009
|
erstellt am: 02. Mai. 2012 09:46 <-- editieren / zitieren --> Unities abgeben:
|