Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

31

09.11.2011, 17:03

Jo werd mir das mal Anschauen =)

@Check Über sowas guck ich hinfort^^

32

09.11.2011, 17:28

Wieso bekomm ich immer Default zu sehen...

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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
do
            {
                input = Console.ReadLine();

                switch (input.ToLower())
                {
                    case "holz":
                        Console.WriteLine("");
                        Console.Write("Kaufen(600Holz für 500Euro), Verkaufen(600Holz für 400Euro) \nKaufen/Verkaufen: " + yesno);
                        yesno = Console.ReadLine();
                        if (yesno == "Kaufen")
                        {
                            if (money >= 600)
                            {
                                this.HolzAnzahl += 600;
                                money -= 500;
                                Console.Clear();
                                return;
                            }
                            if (money <= 600)
                            {
                                Console.Clear();
                                return;
                            }
                        }
                        if (yesno == "Verkaufen")
                        {
                            if (HolzAnzahl <= 600)
                            {
                                Console.WriteLine("Nicht genug Holz!");
                                Console.Clear();
                                return;
                            }

                            if (HolzAnzahl >= 600)
                            {
                                this.HolzAnzahl -= 600;
                                money += 400;
                                return;
                            }
                        }
                        break;
                    case "eisen":
                        Console.WriteLine("");
                        Console.Write("Kaufen(600Eisen für 1200Euro), Verkaufen(600Eisen für 1000Euro) \nKaufen/Verkaufen: " + yesno);
                        yesno = Console.ReadLine();
                        if (yesno == "Kaufen")
                        {
                            if (money >= 1200)
                            {
                                this.EisenAnzahl += 600;
                                money -= 1200;
                                Console.Clear();
                                return;
                            }
                            if (money <= 1200)
                            {
                                Console.Clear();
                                return;
                            }
                        }
                        if (yesno == "Verkaufen")
                        {
                            if (EisenAnzahl <= 600)
                            {
                                Console.WriteLine("Nicht genug Eisen!");
                                Console.Clear();
                                return;
                            }

                            if (EisenAnzahl >= 600)
                            {
                                this.EisenAnzahl -= 600;
                                money += 1000;
                                return;
                            }
                        }
                        break;

                    case "stoff":
                        Console.WriteLine("");
                        Console.Write("Kaufen(600Stoff für 300Euro), Verkaufen(600Stoff für 250Euro \nKaufen/Verkaufen: " + yesno);
                        yesno = Console.ReadLine();
                        if (yesno == "Kaufen")
                        {
                            if (money >= 600)
                            {
                                this.StoffAnzahl += 600;
                                money -= 300;
                                Console.Clear();
                                return;
                            }
                            if (money <= 600)
                            {
                                Console.Clear();
                                return;
                            }
                        }
                        if (yesno == "Verkaufen")
                        {
                            if (StoffAnzahl <= 600)
                            {
                                Console.WriteLine("Nicht genug Stoff!");

                            }

                            if (StoffAnzahl >= 600)
                            {
                                this.StoffAnzahl -= 600;
                                money += 250;
                                return;
                            }
                        }
                        break;

                    case "exit":
                        Console.Clear();
                        return;

                    default:
                        Console.WriteLine("Falsche Eingabe!");
                        break;
                }

            } while (input != "exit" || input != "Exit");

DerMark

Treue Seele

Beiträge: 324

Wohnort: Emsdetten

Beruf: Softwareentwickler

  • Private Nachricht senden

33

09.11.2011, 17:49

Du gibst weder holz, eisen, stoff oder exit ein.

Ich habe das Programm getestet bei mir funktioniert es.

Btw hast du nicht das Konzept hinter return und break verstanden, kann das sein? Auf die offensichtlichen weiteren Schwächen in deinem "Code" gehe ich vorerst lieber nicht ein, es sei denn dich interessiert es was ich darüber zu erzählen habe.

34

09.11.2011, 18:01

Ich intressier mich aber bevor du deinen Senf abgiebst: ICH BIN ANFÄNGER!^^

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

35

09.11.2011, 18:28

Die Schleife ist immer noch quatsch.
edit: Jetzt kannst du zeigen, ob du dir die Hilfe zu herzen nimmst. Mit debugging sollte das Problem einfach zu lösen sein.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

36

09.11.2011, 19:24

Das Prob war das ich nach

C#-Quelltext

1
Console.Write("Blaaa: " + yesno);
immer

C#-Quelltext

1
yesno = Console.ReadLine();
vergessen hab!

DerMark

Treue Seele

Beiträge: 324

Wohnort: Emsdetten

Beruf: Softwareentwickler

  • Private Nachricht senden

37

09.11.2011, 20:25

Dann sage nächstes ma WO genau das Problem denn auftritt, dieses yesno gedöhns hat nämlich nicht allzuviel mit dem eigentlichen switch/case zu tun.

Nun mal ein paar Kritikpunkte bzw Ratschläge, die sind alle weniger böse gemeint als sie sich lesen.

1. Du solltest gleich das ToLower aufrufen und nicht nur für das swotch, hat den Vorteil dass du das auch im while Problemlos verwenden kannst ohne unterschiedliche Schreibweisen berücksichtigen zu müssen.
2. MagicValues sind mehr als böse, bastel daraus zumindest Konstanten, dass erleichtert den Überblick und verringert die Stellen die bei Änderungen berücksichtigt werden müssen, ausserdem kannst du so die Verwendung der Konstanten besser auffinden.
3. Vermeide als Anfänger die Verwendung von "\n" und sorge dafür das der Code möglichst lesbar bleibt! Schreibe zur Not mehr als unleserlich zu wenig, damit spiele ich auf diese Zeile an:

C#-Quelltext

1
Console.Write("Kaufen(600Holz für 500Euro), Verkaufen(600Holz für 400Euro) \nKaufen/Verkaufen: " + yesno);


4. Wieso verwendest du da yesno ohne es zuvor mit etwas sinnvollem befüllt zu haben?
5. Nutze mehr Unterfunktionen, damit wird die Lesbarkeit erhöht wird, das betrifft zB alles was yesno beinhaltet.

Werbeanzeige