Autor Beitrag
Muetze187
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 16



BeitragVerfasst: Do 24.12.09 13:02 
Ein kräftiges und lautes "Hallo"!
Bin neu hier im Forum und hab eine Frage zu Methoden.
Ich möchte, wie der Titel vermuten lässt, mehrere Methoden in einer zusammenfassen.
Diese 4 Methoden sollen in einer 5. Methode auf einmal ausgegeben werden.
Die 4 Methoden:

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
static double Addition(double x, double y)
        {
            return (x + y);
        }
        static double Subtraktion(double x, double y)
        {
            return (x - y);
        }
        static double Division(double x, double y)
        {
            return (x / y);
        }
        static double Multiplikation(double x, double y)
        {
            return (x * y);
        }


In einer 5. Methode, die vom benutzer aufgerufen werden kann, möchte ich alle 4 Grundrechenarten auf einmal ausgeben lassen.
Ich weiß aber nicht wie ich die Methode schreiebn muss. :( Habe schon vieles Versucht aber leider kein Erfolg : /

Vielleicht könnt ihr mir helfen!?

Ich wünsche euch frohe Weihnachten!

Mfg

Moderiert von user profile iconChristian S.: Code- durch C#-Tags ersetzt
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: Do 24.12.09 15:11 
Hallo und :welcome:

mir ist nicht klar, was du mit "auf einmal" meinst. Eine Ausgabe und auch die Verarbeitung mehrerer getrennter Punkte kann eigentlich immer nur nacheinander geschehen. Meinst du vielleicht so etwas:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
static void BasicComputing(double x, double y)
{
    Console.WriteLine("Addition liefert " + Addition(x, y).ToString() );
    Console.WriteLine("Subtraktion liefert " + Subtraktion(x, y).ToString() );
    Console.WriteLine("Multiplikation liefert " + Multiplikation(x, y).ToString() );
    Console.WriteLine("Division liefert " + Division(x, y).ToString() );
}

Was passiert eigentlich, wenn y gleich 0 ist?

Frohe Weihnachten! Jürgen
Christoph1972
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 690
Erhaltene Danke: 16


VS2015 Pro / C# & VB.Net
BeitragVerfasst: Do 24.12.09 17:11 
Hi,

oder meinst du einen verschachtelten Aufruf? Wie etwa:

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
private void Compute()
{
 double value1 = 2, value2 = 2;
 double result = Subtraktion(Division(Multiplikation(value1, Addition(value1, value2)), value2), value2);
}

_________________
Gruß
Christoph
JasonDelife
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 81

Windows 7 Professional
C# (Visual Studio 2008 Professional), Java (NetBeans IDE 6.7)
BeitragVerfasst: Do 24.12.09 17:35 
Wie man Methoden aufruft sind aber Grundlagen.
Deshalb ein Verweis auf das Openbook: openbook.galileocomp...ng.de/visual_csharp/
Sollte dein Problem ein anderes sein, dann erkläre es bitte genauer.

Grüße und ein frohes Fest, JasonDelife.
Muetze187 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 16



BeitragVerfasst: Do 24.12.09 17:52 
Das die Methoden Grundlagen sind weiß ich auch. Ich mache den Lehrgang bei der ILS. Jeder fängt mal klein an ;)
Sorry das ich es nicht genauer beschrieben habe...
In Zukunft gebe ich mir mehr Mühe :)
Also. Erstmal der Code des gesamten Programms. Vielleicht wirds dann klarer.
ausblenden volle Höhe C#-Quelltext
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:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Einsendeaufgabe_4
{
    class Program
    {
        static double Addition(double x, double y)
        {
            return (x + y);
        }
        static double Subtraktion(double x, double y)
        {
            return (x - y);
        }
        static double Division(double x, double y)
        {
            return (x / y);
        }
        static double Multiplikation(double x, double y)
        {
            return (x * y);
        }


        static void Main(string[] args)
        {
            double eingabe1, eingabe2, eingabe3;


            Console.WriteLine("Geben sie die erste zahl ein.");
            eingabe1 = Convert.ToDouble(Console.ReadLine());
            Console.WriteLine("\nGeben sie die zweite Zahl ein.");
            eingabe2 = Convert.ToDouble(Console.ReadLine());
            Console.WriteLine("\nWie möchten sie weiter vorgehen?\n");
            Console.WriteLine("Bitte drücken sie die entsprechende Taste\n");
            Console.WriteLine("1 - Addieren");
            Console.WriteLine("2 - Subtrahieren");
            Console.WriteLine("3 - Dividieren");
            Console.WriteLine("4 - Multiplizieren\n\n");
            eingabe3 = Convert.ToDouble(Console.ReadLine());

            if (eingabe3 == 1)
            {
                Console.WriteLine("\n\nDie Summe der beiden Zahlen ist {0}", Addition(eingabe1, eingabe2));
            }
            else
                if (eingabe3 == 2)
                {
                    Console.WriteLine("\n\nDie Differenz der beiden Zahlen ist {0}", Subtraktion(eingabe1, eingabe2));
                }
                else
                    if (eingabe3 == 3)
                    {
                        Console.WriteLine("\n\nDer Quotient der beiden Zahlen ist {0}", Division(eingabe1, eingabe2));
                    }
                    else
                        if (eingabe3 == 4)
                        {
                            Console.WriteLine("\n\nDas Produkt der beiden Zahlen ist {0}", Multiplikation(eingabe1, eingabe2));
                        }
                        



        }
    }
}


Meine Aufgabe lautet nun, das oben geschriebene Programm (keine Vorgabe, von mir erstellt) zu erweitern und zwar so, dass man quasi noch eine 5. Möglichkeit zum auswählen hat, nämlich alle Rechenoperationen auf dem Bildschirm anzuzeigen und zwar gleichzeitig.
Ein User gibt z.B. die Zahlen 4 und 5 ein und wählt dann die Möglichkeit 5 (alle Rechenoperationen gleichzeitig) und es erscheint auf dem Bildschirm eben die Ergebnisse aus der Addition, Subtraktion usw.
Wäre mit Sicherheit auch nicht schwierig wenn ich diese Möglichkeit nicht in eine eigene Methode schreiben müsste.
Mein Gedankenansatz ist jetzt, die vorherigen Methoden (Addition usw.) in einer einzigen Methode (z.B. "Alle Ergebnisse") zu vereinen.
Ist das möglich und wenn ja, wie?

Danke und feiert schön!

Moderiert von user profile iconChristian S.: Code- durch C#-Tags ersetzt
JasonDelife
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 81

Windows 7 Professional
C# (Visual Studio 2008 Professional), Java (NetBeans IDE 6.7)
BeitragVerfasst: Do 24.12.09 17:56 
1. Variablennamen wie eingabe1 sind nicht aussagekräftig. Wie wäre es mit zahl1, zahl2 und option? Desweiteren ist es unlogisch option als double zu deklarieren.
2. Statt der else-if-Ketten wäre ein switch besser.
3. Zu eigentlichen Frage: Ja, es ist möglich, indem du einfach alle Methoden aufrufst.

Grüße, JasonDelife.
Muetze187 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 16



BeitragVerfasst: Do 24.12.09 18:49 
zu 1. Wenn ich eingabe nicht als double deklariere, kann der user doch keine Kommazahl eingeben, oder?
zu 2. Ich soll if..else verwenden
zu 3. Nein, ich soll durch EINE NEUE Methode die 4 Rechenarten aus den anderen Methoden auslesen und will wissen wie das geht :)



Mfg
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: Do 24.12.09 19:03 
user profile iconMuetze187 hat folgendes geschrieben Zum zitierten Posting springen:
zu 1. Wenn ich eingabe nicht als double deklariere, kann der user doch keine Kommazahl eingeben, oder?

Du sollst option als integer deklarieren; bei den Werten ist double korrekt.

user profile iconMuetze187 hat folgendes geschrieben Zum zitierten Posting springen:
zu 2. Ich soll if..else verwenden

Wenn das so ist, musst du es machen. Aber switch ist trotzdem erheblich besser, nämlich übersichtlicher und wird durch den Compiler auch optimiert, sodass es schneller ist.

Nachtrag: Du darfst "else if" hintereinander schreiben; du musst nicht zusätzlich einrücken. Das ist eine zulässige Konstruktion in C#.

user profile iconMuetze187 hat folgendes geschrieben Zum zitierten Posting springen:
zu 3. Nein, ich soll durch EINE NEUE Methode die 4 Rechenarten aus den anderen Methoden auslesen und will wissen wie das geht :)

Wenn du meine erste Antwort nochmals liest, siehst du, wie es geht.

Übrigens hatte ich schon auf eine mögliche Fehleingabe hingewiesen. Eine weitere ist, wenn der Anwender sofort <Return> drückt, ohne dass er etwas eingegeben hat, oder dass er versehentlich 'w' statt '2' schreibt. All das musst du abfangen, am besten indem du statt Convert.ToDouble so etwas schreibt:
ausblenden C#-Quelltext
1:
ifdouble.TryParse( Console.ReadLine(), out value2 ) { .. }					

TryParse ist fast immer besser als die Convert-Methoden.

Jürgen

PS. "Taschenrechner" sind ein beliebtes Anfänger-Projekt. Die Forumssuche liefert dir viele nützliche Hinweise.

Nachtrag (nach 15 Stunden): Wenn alle Maßnahmen in einer Methode zusammengefasst werden sollen, entspricht vielleicht auch folgende Lösung der Aufgabenstellung:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
static void BasicComputing(double x, double y, int option)
{
  if( option == 1 || option == 5 )
    Console.WriteLine("Addition liefert " + Addition(x, y).ToString() );
  if( option == 2 || option == 5 )
    Console.WriteLine("Subtraktion liefert " + Subtraktion(x, y).ToString() );
  if( option == 3 || option == 5 )
    Console.WriteLine("Multiplikation liefert " + Multiplikation(x, y).ToString() );
  if( option == 4 || option == 5 )
    Console.WriteLine("Division liefert " + Division(x, y).ToString() );
}
Muetze187 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 16



BeitragVerfasst: Fr 25.12.09 14:39 
Danke für deine Mühe.
Wenn ich option als int deklariere, motzr er rum das er int nicht in double konvertieren kann. Es muss aber double sein, sonst kann der Anwender keine Kommazahl eingeben.
TryParse kommt erst später dran. Ich kann also die Aufgabe nur mit den Mittel lösen, die ich erlernt habe.

Die letzte Methode schein ganz nett zu sein:)
Ich habe bis jetzt die if...else Abfragen in die main-Methoden geschrieben. Scheint aber so besser zu sein. Die Frage ist nur, wie ich eine solche Methode aufrufe!?

Übrigens, wenn der y-Wert 0 ist, ist der Taschenrechner überfordert. Steht z.B. bei Division +unendlich. Bei anderen ungültiger Wert oder so. Wie könnte ich das beheben? :)

P.S. Ich weiß auch, dass wenn ein User zB. "w" drückt statt "2", das Programm die Grätsche macht. Ist aber nicht weiter schlimm , da mir die Fehlerbehebung zu dem Zeitpunkt des Lehrgangs nicht bekannt ist. Der Fernlehrer weiß das also und wird nicht erwarten, dass ich das korrekt mache.

Danke!


Mfg
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: Fr 25.12.09 15:00 
user profile iconMuetze187 hat folgendes geschrieben Zum zitierten Posting springen:
Wenn ich option als int deklariere, motzr er rum das er int nicht in double konvertieren kann.

Das ist falsch. Jede int-Zahl kann problemlos in eine double-Zahl konvertiert werden.
ausblenden C#-Quelltext
1:
2:
3:
int ganzeZahl = 3;
double dezimalzahl = ganzeZahl;
Console.WriteLine(dezimalzahl);

Warum sollte das auch nicht gehen (umgekehrt, von double zu int, muss man nachdenken). Ich kann in deinem Projekt auch keinen Punkt sehen, wo eine solche Konvertierung vorgesehen ist.

user profile iconMuetze187 hat folgendes geschrieben Zum zitierten Posting springen:
Es muss aber double sein, sonst kann der Anwender keine Kommazahl eingeben.

Wieso sollte er bei der Auswahl zwischen "1,2,3,4,5" eine Kommazahl eingeben müssen? Welche Aufgabe soll er denn bei 12,345 oder gar 278,69 ausführen? Die Aufgabenstellung lautet doch: "entweder 1 oder 2 oder 3 oder 4 oder 5". Also bitte nochmals: Wozu double für die Option? :oops: Vielleicht musst du auch ganz einfach genauer lesen, wofür eine bestimmte Variable gedacht ist (deshalb hat sich auch Jason an deinen Bezeichnungen gestört).

user profile iconMuetze187 hat folgendes geschrieben Zum zitierten Posting springen:
TryParse kommt erst später dran. Ich kann also die Aufgabe nur mit den Mittel lösen, die ich erlernt habe.

Dann musst du das Convert in try-catch einbauen, um solche Fehleingaben abzufangen. Bitte sage nicht, dass das auch erst später kommt. Das Abfangen von Fehlern gehört bei solchen Verfahren unbedingt dazu.

user profile iconMuetze187 hat folgendes geschrieben Zum zitierten Posting springen:
Die letzte Methode schein ganz nett zu sein:)
Ich habe bis jetzt die if...else Abfragen in die main-Methoden geschrieben. Scheint aber so besser zu sein. Die Frage ist nur, wie ich eine solche Methode aufrufe!?

Der Aufruf von Methoden gehört von Anfang an dazu, und du rufst doch auch deine bisherigen Methoden Addition usw. irgendwie auf. Entsprechend kann auch die Methode meines letzten Vorschlags aufgerufen werden: Parameter setzen, Rückgabewert passend definieren (nämlich void, weil alles innerhalb der Methode stattfindet), Methode aufrufen - fertig.

user profile iconMuetze187 hat folgendes geschrieben Zum zitierten Posting springen:
Übrigens, wenn der y-Wert 0 ist, ist der Taschenrechner überfordert. Steht z.B. bei Division +unendlich. Bei anderen ungültiger Wert oder so :)

Eben, deshalb ist die Fehlerprüfung so wichtig, siehe TryParse oder try-catch.

Gruß Jürgen
SirQuickly
Hält's aus hier
Beiträge: 1



BeitragVerfasst: Mo 04.01.10 20:18 
user profile iconMuetze187 hat folgendes geschrieben Zum zitierten Posting springen:
Danke für deine Mühe.
Wenn ich option als int deklariere, motzr er rum das er int nicht in double konvertieren kann. Es muss aber double sein, sonst kann der Anwender keine Kommazahl eingeben.
TryParse kommt erst später dran. Ich kann also die Aufgabe nur mit den Mittel lösen, die ich erlernt habe.

Die letzte Methode schein ganz nett zu sein:)
Ich habe bis jetzt die if...else Abfragen in die main-Methoden geschrieben. Scheint aber so besser zu sein. Die Frage ist nur, wie ich eine solche Methode aufrufe!?

Übrigens, wenn der y-Wert 0 ist, ist der Taschenrechner überfordert. Steht z.B. bei Division +unendlich. Bei anderen ungültiger Wert oder so. Wie könnte ich das beheben? :)

P.S. Ich weiß auch, dass wenn ein User zB. "w" drückt statt "2", das Programm die Grätsche macht. Ist aber nicht weiter schlimm , da mir die Fehlerbehebung zu dem Zeitpunkt des Lehrgangs nicht bekannt ist. Der Fernlehrer weiß das also und wird nicht erwarten, dass ich das korrekt mache.

Danke!


Mfg


Hallo Leidensgenosse:-))
ich hab Dir eine private Nachricht geschrieben
mfG
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Mo 04.01.10 20:22 
Das Forum lebt davon, dass Probleme öffentlich diskutiert werden. Sollte sich Deine PN also darauf beziehen, so möchte ich Dich bitten, Deine Hinweise hier im Thread zu posten.

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Muetze187 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 16



BeitragVerfasst: Di 05.01.10 12:58 
Der Chefe hat natürlich Recht :)
Nach langem hin und her hab ich nun die Lösung!

Ja ich weiß, die Variablen könnte man kürzer und effektiver wählen :)
Im Prinzip habe ich nur die "void Methode" verdrängt.
Sie ist aber des Rätsels Lösung. Ein Freund der ein wenig Java kann kam mir zu Hilfe. Interessanterweise kam aber ich auf die Lösung :)
Der Methodenkopf sieht wie folgt aus (also vor der "main Methode")

ausblenden C#-Quelltext
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:
static double Addition(double x, double y)
        {
            return (x + y);
        }

        static double Subtraktion(double x, double y)
        {
            return (x - y);
        }

        static double Division(double x, double y)
        {
            return (x / y);
        }

        static double Multiplikation(double x, double y)
        {
            return (x * y);
        }

        static void alle(double x, double y)
        {
            Console.WriteLine("Summe: {0}", Addition(x, y));
            Console.WriteLine("Differenz: {0}", Subtraktion(x, y));
            Console.WriteLine("Quotient: {0}", Division(x, y));
            Console.WriteLine("Produkt: {0}", Multiplikation(x, y));
        }


Danke JüTho für deine Mühe :)
SirQuickly weiß ja wie er mich erreicht :)



Mfg

Moderiert von user profile iconChristian S.: Code- durch C#-Tags ersetzt
Muetze187 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 16



BeitragVerfasst: Do 14.01.10 12:43 
Falls es jemanden interessiert. Hier der komplette Code der Aufgabe :)
ausblenden volle Höhe C#-Quelltext
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:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{

    class Program
    {
        
        static double Addition(double x, double y)
        {
            return (x + y);
        }

        static double Subtraktion(double x, double y)
        {
            return (x - y);
        }

        static double Division(double x, double y)
        {
            return (x / y);
        }

        static double Multiplikation(double x, double y)
        {
            return (x * y);
        }

        static void all(double x, double y)
        {
            Console.WriteLine("Addieren: {0}", Addition(x, y));
            Console.WriteLine("Subtrahieren: {0}", Subtraktion(x, y));
            Console.WriteLine("Dividieren: {0}", Division(x, y));
            Console.WriteLine("Multiplizieren: {0}", Multiplikation(x, y));
            return;
            
        }

        static void Main(string[] args)
        {
            double eingabe1, eingabe2;
            int eingabe3;
          

            Console.WriteLine("Geben sie die erste zahl ein.");
            eingabe1 = Convert.ToDouble(Console.ReadLine());
            Console.WriteLine("\nGeben sie die zweite Zahl ein.");
            eingabe2 = Convert.ToDouble(Console.ReadLine());
            Console.WriteLine("\nWie mchten sie weiter vorgehen?\n");
            Console.WriteLine("Bitte drücken sie die entsprechende  Taste\n");
            Console.WriteLine("1 - Addieren");
            Console.WriteLine("2 - Subtrahieren");
            Console.WriteLine("3 - Dividieren");
            Console.WriteLine("4 - Multiplizieren");
            Console.WriteLine("5 - Alle Rechenoptionen!\n\n");
            eingabe3 = Convert.ToInt32(Console.ReadLine());

            
                    if (eingabe3 == 1)
                    {
                        Console.WriteLine("\n\nDie Summe der beiden Zahlen ist {0}", Addition(eingabe1, eingabe2)); 
        
                    }
                    else
                        if (eingabe3 == 2)
                        {
                            Console.WriteLine("\n\nDie Differenz der beiden Zahlen ist {0}", Subtraktion(eingabe1, eingabe2));
                    
                        }
                        else
                            if (eingabe3 == 3)
                            {
                                Console.WriteLine("\n\nDer Quotient der beiden Zahlen ist {0}", Division(eingabe1, eingabe2));
                            }



                            else
                                if (eingabe3 == 4)
                                {
                                    Console.WriteLine("\n\nDas Produkt der beiden Zahlen ist {0}",  Multiplikation(eingabe1,  eingabe2));
                                }
                                else
                                    if (eingabe3 == 5)
                                    {
                                       all (eingabe1, eingabe2);
                                        
                                    }
                     else 
                         {
                            Console.WriteLine("Falsche Eingabe!");
                         }

                    Console.ReadKey();
            

        }
    }
}


Mir ist bewusst, dass switch...case übersichtlicher und einfacher wäre :)


Danke!

Mfg
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: Do 14.01.10 13:01 
... und else if ist unter C# eine zulässige Konstruktion; dieser Abschnitt muss nicht in je zwei Zeilen aufgeteilt und weiter eingerückt werden:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
                    if (eingabe3 == 1)
                    {
                        Console.WriteLine("\n\nDie Summe der beiden Zahlen ist {0}", Addition(eingabe1, eingabe2)); 
                    }
                    else if (eingabe3 == 2)
                    {
                        Console.WriteLine("\n\nDie Differenz der beiden Zahlen ist {0}", Subtraktion(eingabe1, eingabe2));
                    }
                    else if (eingabe3 == 3)
                    {
                        Console.WriteLine("\n\nDer Quotient der beiden Zahlen ist {0}", Division(eingabe1, eingabe2));
                    }
                    else if (eingabe3 == 4)
                    {
                        Console.WriteLine("\n\nDas Produkt der beiden Zahlen ist {0}",  Multiplikation(eingabe1,  eingabe2));
                    }
                    else if (eingabe3 == 5)
                    {
                        all (eingabe1, eingabe2);
                    }
                    else 
                    {
                        Console.WriteLine("Falsche Eingabe!");
                    }

So viele Leerzeilen wie bei dir sind auch überflüssig.

Gruß Jürgen
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Do 14.01.10 13:16 
So 'ne else-if-Kette finde ich gruselig, für sowas gibt's IMHO die switch-Anweisung.

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: Do 14.01.10 13:32 
user profile iconChristian S. hat folgendes geschrieben Zum zitierten Posting springen:
So 'ne else-if-Kette finde ich gruselig, für sowas gibt's IMHO die switch-Anweisung.

Das hat der TE ja auch schon erkannt, nur nicht umgesetzt:
user profile iconMuetze187 hat folgendes geschrieben Zum zitierten Posting springen:
Mir ist bewusst, dass switch...case übersichtlicher und einfacher wäre :)

Gruß Jürgen
Muetze187 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 16



BeitragVerfasst: Do 14.01.10 15:46 
user profile iconJüTho hat folgendes geschrieben Zum zitierten Posting springen:
... und else if ist unter C# eine zulässige Konstruktion; dieser Abschnitt muss nicht in je zwei Zeilen aufgeteilt und weiter eingerückt werden:

So viele Leerzeilen wie bei dir sind auch überflüssig.

Gruß Jürgen


Ok, ich werde es mir merken! :)


Mfg
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Do 14.01.10 21:46 
user profile iconJüTho hat folgendes geschrieben Zum zitierten Posting springen:
... und else if ist unter C# eine zulässige Konstruktion;
Naja, es ist auf jeden Fall keine syntaktische Einheit; anfangs habe ich bei Delphi genau wie user profile iconMuetze187 eingerückt - denn streng genommen ist es so von den Scopes richtig bzw. entspricht exakt dem AST des Compilers.
Mittlerweile bin ich aber auch zur "falschen" Einrückung übergegangen, da sich im Gegensatz zum PC doch wenigstens der Mensch sich mit einer Reihung statt Schachtelung beim Denken und Lesen leichter tut (und weil F# elif kennt ;) ). Wie auch immer, Christian hat natürlich völlig Recht :mrgreen: .

_________________
>λ=