While und Do Schleifen Programmieren C#

mrmorning schrieb:
Hier fängts ja schon an, das ist ja zum Mäuse melken.

Inwiefern? Der Editor zeigt Dir an, dass der Code nicht valide ist und gibt Dir sogar hilfreiche Meldungen zu den Fehlern aus. Deine Aufgabe ist dann, den Code entsprechend den Syntax und Semantikregeln von C# zu umzuformulieren. Die hattet ihr Doch sicher in der Weiterbildung besprochen? Im zweiten Screenshot fiel es Dir leicht, eine if-Abfrage zu formulieren...

Wenn es an solchen Basics noch hakt, solltest Du erst einmal die Grundlagen der Sprache einüben, bevor Du versuchst, eigene Programme zu schreiben. Ich würde dazu ein Buch für Einsteiger empfehlen. Da hat man alles an einem Ort und kann nach eigenem Gusto und Tempo lernen.
 
Zu Deinem "Programm" :
Du hast eine Form erstellt mit einer TextBox und einem Button.
Wozu brauchst Du einen Button? Du brauchst KEINEN.
Wie schreibst Du dann einen Text in die TextBox ?
Du erzeugst eine Klassenvariable, dieser weist du einen Text zu. Die Variable weist du der Textbox-Eigenschaft Text zu.
Wie Du allerdings das weiter oben gepostete Beispielprogramm erstellt hast, muss jedem ein Rätsel bleiben.
 
Ich verstehe auch nicht, was du mit den Screenshots darstellen willst.

Ich kann nicht glauben, dass dir Copypaste nichts sagt bzw. du das noch nie angewendet hast...
 
Ihr müsst doch im Unterricht i r g e n d w e l c h e s Lehrmaterial haben, oder? Ein Buch, ein Skript oder sonst was. Ich kann mir beim besten Willen nicht vorstellen, dass euch der Lehrer/Ausbilder/Dozent einfach so aus dem Nichts eine C#-Aufgabe stellt ohne dass ihr auch nur den Funken von Basiswissen habt. Sprich den Lehrer mal darauf an. Eventuell hat er ja auch eine Empfehlung, ein Buch an dem er sich selbst orientiert oder so.

Sofern es kein Schulungsmaterial gibt, möchte ich dir einfach ein 08/15 Grundlagenbuch ans Herz legen. Es muss kein 50€ Schinken von Addison-Wesley sein, ein 10€ Taschenbuch ist für deine Zwecke erstmal ausreichend. Ansonsten gibt es auch online zahlreiche kostenlose Tutorials rund um den Einstieg in C#. Ein google-Ergebnis brachte zB das hier: C# lernen. Das kann man sich auch als PDF runterladen. Hab die Qualität jetzt aber nicht wirklich geprüft, aber ich denke für den Einstieg wird das gut genug sein.

Um dir wenigstens etwas Feedback zu deinem Code aus #18 zu geben, anbei ein paar Kommentare dazu :


C#:
private void button1_Click(obect sender, EventArgs e)
{
   if ( button1 = checked);
   // if ist eine Anweisung, die einen Block von Anweisungen umfasst (mit { }, ähnlich wie bei button1_Click)
   // daher folgt _kein_ ; am Ende, weil das die Codezeile als beendet markieren würde.
   // Außerdem ist = in C# nicht zu verwechseln mit ==. Ersteres ist eine Zuweisung, letzteres ein Vergleich.
   // Zu einem if gehört in Klammern stets ein Vergleich als Bedingung für das if
   // Allerdings hinkt der Vergleich selbst mit ==, weil du Äpfel (einen Button) mit Birnen (einem Zustand)
   // vergleichen würdest. Wenn, dann müsste man den Zustand des Buttons mit einem Zustand vergleichen.
   // Wie ein if funktioniert, steht in so ziemlich jedem Einsteigerbuch /-tutorial gefühlt auf Seite 3.

   textBox1.Text("Hallo");
   // Wie Visual Studio dir schon mitzuteilen versucht, ist TextBox.Text keine Methode, sondern eine Eigenschaft.
   // Methoden werden mit Objekt.Methode() aufgerufen, Eigenschaften mit Objekt.Eigenschaft = Wert gesetzt
}


Ehrlich gesagt wundere ich mich, dass ihr gleich von Anfang an mit GUI arbeiten sollt, wenn ihr doch offensichtlich keinerlei Grundlagen kennt. Normalerweise beginnt man mit einer Konsolen-Anwendung, weil sich das leichter bewerkstelligen lässt, wenn man noch nicht in der Thematik der Objekte, Methoden und Eigenschaften der Objektorientierung drinsteckt.
 
Also, vielen Dank erstmal an die Leute die hier einen produktiven Kommentar hinterlassen haben und verstehen, das man nicht als Meister geboren wird. An alle anderen die mit überschlauen Kommentaren ihre Macht demonstrieren wollen, weil sie C# beherrschen, denen wünsche ich einen unangenehmen Stuhlgang. Ich kann auch nicht verstehen warum ihr keine Motoren auseinandernehmen und wieder zusammenbauen könnt :D Doch kann ich verstehen, weil noch kein Meister vom Himmel gefallen ist ;) Kann zwar kein C# aber mein Emphatievermögen ist besser programmiert als das eines Anderen hier :)

P.S. ich habe die Aufgabe immer noch nicht gelöst, aber Hilfestellung ist hier anscheinend rar. Und nein ich möchte nicht das Programm von euch entwickelt bekommen

In diesem Sinne schönen Abend
Ergänzung ()

@ Raijin deinen Kommentar habe ich überlesen. Doch wir haben Lernmaterial. Ich habe das Buch "Einstieg in C# mit Visual Studio 2017" von Thomas Theis. Da habe ich mich auch reingelesen und bin auch grade noch dabei. Schwierig ist es trotzdem, habe die For Schleife verstanden, komme mit der While Schleife aber nicht zurecht.
 
Eine While Schleife wird (wiederholt) durchlaufen, wenn die angegebene Bedingung true ist und solange sie true ist. Auch bei der For-Schleife gibt es die (Abbruch-) Bedingung.
Was genau ist (daran) unklar?
Wie sieht dein Code mit While-Schleife aktuell aus?

Wie es andere schon gesagt haben, musst du uns zuerst was liefern, damit wir helfen können bzw. dürfen. Einfacher für alle Antwortenden wäre natürlich gewesen einfach die Lösung zu präsentieren.
 
Zuletzt bearbeitet:
Je konkreter deine Fragen sind, umso mehr kann man erkennen, dass du dich mit der Thematik auseinandergesetzt hast - und umso eher kann und darf man dir helfen. Wenn du mit einer while-Schleife nicht klarkommst, dann zeig uns doch einfach mal was du da geschrieben hast und was falsch läuft.

Grundsätzlich ist eine while-Schleife so aufgebaut:

Code:
Wiederhole solange Bedingung X erfüllt ist
{
   anweisung1;
   anweisung2;
}

Die Schleife wird also solange anweisung1 und anweisung2 wiederholt ausführen bis die Bedingung X nicht mehr erfüllt ist. Das heißt also auch, dass innerhalb der Schleife irgendwas passieren muss, das X beeinflusst. Ändert sich innerhalb der Schleife nichts an X, geht die Schleife endlos weiter, daher der Begriff "Endlosschleife". In deiner Aufgabe soll ja solange durch 2 geteilt wird bis ein bestimmter Zustand erreicht wird - das ist die Bedingung X und anweisung1, etc. sind die Berechnungen, die eben dazu führen, dass X irgendwann nicht mehr erfüllt ist und while-Schleife beendet wird. Manchmal muss man die Bedingung aus der Aufgabe aber umdrehen, weil X ja gültig sein muss damit die Schleife weitergeht.

Hier ein Beispiel:

Code:
zahl = 1

wiederhole solange zahl < 3
{
   schreibe zahl auf bildschirm 
   erhöhe zahl um 1
}

1. Durchlauf (zahl ist 1):
1 < 3 --- solange Bedingung erfüllt - fortsetzen
1 wird auf dem Bildschirm ausgegeben
zahl wird um 1 erhöht


2. Durchlauf (zahl ist 2):
2 < 3 --- solange Bedingung erfüllt - fortsetzen
2 wird auf dem Bildschirm ausgegeben
zahl wird um 1 erhöht

3. Durchlauf (zahl ist 3):
3 ist nicht < 3 --- solange Bedingung nicht erfüllt
Schleife vorbei


Jetzt musst du das nur noch nachvollziehen, in die korrekte Schreibweise mit while, etc bringen und natürlich deine /2 Berechnung einfügen nebst der Bedingung für den Fortlauf der Schleife.
 
  • Gefällt mir
Reaktionen: maloz
@Raijin Danke für die Hilfestellung. Ich habe jetzt soweit einen Programmcode geschrieben, der aber noch nicht ganz funktioniert. ich kann aber immer noch nicht meinen Programmcode senden so wie ihr das haben wollt. Ich habe keine Smileys und auch keine 3 Punkte wo ich draufdrücken könnte. Wie kann ich das finden?
 
Keine Ahnung warum du die Buttons nicht hast. Wie auch immer, du kannst die Code-Tags auch händisch eintippen und deinen Quellcode dazwischen einfügen. So:

[code] hier deinen quellcode reinkopieren [/code]
 
mrmorning schrieb:
Ich habe keine Smileys und auch keine 3 Punkte wo ich draufdrücken könnte. Wie kann ich das finden?
Indem du Scripte für computerbase.de erlaubst.
 
Darlis schrieb:
Indem du Scripte für computerbase.de erlaubst.

Das kann gar nicht sein. Wenn Computerbase erlaubt ist, und er kann ja posten, muss auch die Menüzeile aktiviert sein.

@mrmorning
in der Titelzeile hast Du rechts von der Mitte das smileys-Sysmbol, danaben 3 punkte + schwarzes nach unten zeigendes dreieck. Das ist aber lediglich für das Einfügen des code-tags notwendig.
Text posten kannst du auf jeden Fall einfach über "kopieren" "einfügen".
Und der Admin wird's Dir mit Sicherheit editieren.
Da Du ja weist, dass noch kein Meister vom Himmel gefallen ist, solltest Du wenigstens das machen was man Dir hier vorschlägt.
 
aw48 schrieb:
Das kann gar nicht sein. Wenn Computerbase erlaubt ist, und er kann ja posten, muss auch die Menüzeile aktiviert sein.
Das kann sehr wohl sein:
cb_ohne_scripts.png
 
Zurück
Oben