Autor |
Beitrag |
interessierter
      
Beiträge: 75
|
Verfasst: Di 01.05.12 19:27
Hallo Zusammen
Habe letztens mit einem Kollegen eine Funktion geschrieben, nun kann ich etwas in der Funktion nicht mehr ganz verstehen.
Übung: Zins errechnen
Die Funktion fragt nach einer Zahl solange keine Zahl eingegeben wird
Anschliessend errechnet es mittels Kapital und Zinssatz den Zinsbetrag
Ich verstehe soweit den ganzen Code, ausser einer Sache
Wozu dient das innerhalb der Funktion? Was macht es und wieso braucht es diese Zeile?
C#-Quelltext 1:
| Console.WriteLine(message); |
Hier noch der ganze Code:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33:
| using System; using System.Collections.Generic; using System.Linq; using System.Text;
namespace _1.Übung_Funktionen { class Program { static float askForFloat(string message) { while (true) { Console.WriteLine(message); string Eingabe = Console.ReadLine(); float value; if (float.TryParse(Eingabe, out value)) { return value; } } }
static void Main(string[] args) { float Kapital = askForFloat("wie hoch ist kapital?"); float Zinssatz = askForFloat("wie hoch ist zinssatz?"); float Zins = Kapital * Zinssatz / 100; Console.WriteLine("Der Zins betraegt CHF: " + Zins);
} } } |
Grüsse
interesierter
Zuletzt bearbeitet von interessierter am Mi 02.05.12 20:59, insgesamt 2-mal bearbeitet
|
|
jaenicke
      
Beiträge: 19315
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Di 01.05.12 19:30
Ist dir denn klar was Console.WriteLine macht?
Ergänze die Zeile einmal so: C#-Quelltext 1:
| Console.WriteLine("Hier: " + message); | Und dann führe das Programm erneut aus. Dann siehst du was in der Zeile passiert. 
Für diesen Beitrag haben gedankt: interessierter
|
|
interessierter 
      
Beiträge: 75
|
Verfasst: Di 01.05.12 19:41
Console.WriteLine??? noch nie gehört
Jetzt ists mir klar, es bezieht sich auf die Abfragen und wiedergibt den inhalt der Abfrage z.B. ("wie hoch ist das Kapital");
Super Danke viel mal
Grüsse
interessierter
|
|
ujr
      
Beiträge: 102
Erhaltene Danke: 12
|
Verfasst: Di 01.05.12 20:51
|
|
interessierter 
      
Beiträge: 75
|
Verfasst: Di 01.05.12 21:01
ujr, das war mehr ein Scherz.
Console.WriteLine ist glaub ich so ziemlich das erste was ich in c# gesehen habe.
Da ich die Grundlagen im Moment nur in C# Konsolenprogrammen übe mache ich viele WiteLines.
Ich würde mich nicht mit Funktionen beschäftigen wenn ich beim Thema WriteLine schon extreme Mühe gehabt hätte
Grüsse
interesierter
|
|
ujr
      
Beiträge: 102
Erhaltene Danke: 12
|
Verfasst: Di 01.05.12 21:59
Nun ja, nachdem Du nun die Pointe erklärt hast, versteh ich den Witz trotzdem irgendwie nicht.
Falls die Frage überhaupt ernst gemeint war, wäre ja mal interessant (Wortspiel!), warum Du Verständnisschwierigkeiten hattest.
|
|
interessierter 
      
Beiträge: 75
|
Verfasst: Di 01.05.12 23:06
Wie gesagt, ich bin zur Zeit mit den Grundlagen beschäftigt.
Bisher habe ich WriteLines immer nur direkt gebraucht, wenn ich eine Ausgabe machen wollte, also an Ort und Stelle. Hier aber kam zusätzlich noch eine Funktion ins Spiel, deswegen hat mich dieses (message) ein wenig irritiert. Habe am Sonntag viel neue Theorie besprochen und da ging hald ne Info verloren. Ich denke mal das ist ganz normal.
Nach der (im Vergleich zu deiner) konstruktiven Antwort von jaenicke habe ich den Code dann verstanden und freute mich darüber.
Vielleicht bist du ja schon sehr gut in dem was du machst. Bedenke aber das auch du wohlmöglich mal irgendwas nicht verstanden hast, auch wenn es dir jetzt völlig logisch erscheint.
Ich kann deine Reaktion nicht nachvollziehen. Du musst dich ja nicht mit meinen Posts beschäftigen, wenn sie dir zu dumm oder als nur zum Spass vorkommen.
|
|
jaenicke
      
Beiträge: 19315
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Di 01.05.12 23:09
|
|
interessierter 
      
Beiträge: 75
|
Verfasst: Di 01.05.12 23:14
oke, sorry dan tut es mir leid. Habe mich unverständlich ausgedrückt.
Ich bin ja nicht hier um Witze zu reissen sondern um c# zu lernen
Ich unterlasse zukünftig meines Erachtens nach lustige Bemerkungen 
|
|
jaenicke
      
Beiträge: 19315
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Di 01.05.12 23:26
Das wäre aber schade. Nur weil einer sowas nicht versteht... 
|
|
ujr
      
Beiträge: 102
Erhaltene Danke: 12
|
Verfasst: Mi 02.05.12 09:16
Hallo,
interessierter hat folgendes geschrieben : | Bisher habe ich WriteLines immer nur direkt gebraucht, wenn ich eine Ausgabe machen wollte, also an Ort und Stelle. |
Aber wo soll denn da ein Unterschied sein? Die Ausgabe erfolgt dann, wenn die Anweisung ausgeführt wird. Das ist immer so, insofern versteh' ich Dein Problem noch immer nicht.
interessierter hat folgendes geschrieben : | Nach der (im Vergleich zu deiner) konstruktiven Antwort von jaenicke habe ich den Code dann verstanden und freute mich darüber. |
Okay - den Smiley habe ich übersehen. Das hängt jedoch ursächlich mit der Frage zusammen, weil der entsprechende Satz ja im Grunde der Kern der Frage ist: Du hast nicht verstanden, was Console.WriteLine macht. Und was kann dann konstruktiver und hilfreicher sein, als ein Hinweis auf die Dokumentation? Ich habe Dir sogar noch die passende Stelle herausgesucht. Warum sollte das Deine Frage nicht beantworten? Hast Du überhaupt mal reingeschaut?
Ich kann mir nicht vorstellen, dass jemand Zeit und Lust hat, Dir jede vorstellbare Anweisung (ohne konkrete Verständnisfrage wohlgemerkt) zu erklären. Zudem bekommst Du Deine Antwort ja auch deutlich schneller, als wenn Du sie hier postest und auf Antwort wartest.
|
|
Th69
      

Beiträge: 4798
Erhaltene Danke: 1059
Win10
C#, C++ (VS 2017/19/22)
|
Verfasst: Mi 02.05.12 09:48
Hallo zusammen,
interessierter hatte wohl eher Verständnisschwierigkeiten mit der Übergabe und Benutzung des Parameters message (weniger mit der Console.WriteLine Methode an sich).
Das kenne ich von einigen Programmieranfängern, daß der Aufruf einer Methode mit festen Parametern völlig klar ist, sobald aber Variablen eingesetzt werden, es nicht (auf Anhieb) verstanden wird.
P.S. interessierter, bitte ändere den Titel dieses Beitrags, da es wenig über den Inhalt aussagt (denn in C# gibt es keine Funktionen, sondern nur Methoden! Aber nicht, daß du jetzt nur "Methoden" als Titel einträgst!).
|
|
interessierter 
      
Beiträge: 75
|
Verfasst: Mi 02.05.12 20:48
ich hab jetzt ne weile danach gesucht, wie ändere ich den Titel?
Ich nehme einfach Parameter übergeben
EDIT
Hat sich erledigt
Grüsse
interessierter
|
|