PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : C# Anfängerfrage



laultima
26.08.2010, 15:15
Hallo,

Ich lerne seit 1 Woche C# und wollte mir von Erfahrenen Leuten mal
auf den Code schauen lassen.Würde gerne wissen wie man es vill besser machen kann bevor es vill zur gewohnheit wird:)

main.cpp


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace kaffe
{
class Program
{
static void Main(string[] args)
{
KaffeMaschiene Maschiene = new KaffeMaschiene();
Console.Write("Möchten sie einen Kaffe? 1 = ja, 2 = Nein: ");
int eingabe = Convert.ToInt32(Console.ReadLine());


if (eingabe == 1)
Maschiene.KaffeAusgeben();
else
{
Console.WriteLine("Einen Schönen {0:dddd} noch!", DateTime.Now);
Console.Read();
Environment.Exit(0);
}


Console.Write("Möchten sie Zucker? 1 = ja, 2 = Nein: ");
eingabe = Convert.ToInt32(Console.ReadLine());


if (eingabe == 1)
Maschiene.ZuckerAusgeben();
else
Console.WriteLine("OH....Ein ganz harter Brocken...");




Console.Write("Möchten sie Milch? 1 = ja, 2 = Nein: ");
eingabe = Convert.ToInt32(Console.ReadLine());

if (eingabe == 1)
Maschiene.MilchAusgeben();
else
Console.WriteLine("Die Kuh is auch schon leer......");

Console.WriteLine("Das macht dann: {0}", Maschiene.preis);
Console.WriteLine("");

Console.WriteLine("Wie viel Bezahlen sie : ");
double rueckgeld = Convert.ToDouble(Console.ReadLine());

while (rueckgeld < Maschiene.preis)
{
Console.WriteLine("Zu wenig Geld");

Console.WriteLine("Wie viel Bezahlen sie : ");
rueckgeld = Convert.ToDouble(Console.ReadLine());

}

Console.WriteLine("");
Console.WriteLine("Ihr Rückgeld beträgt : {0} ", rueckgeld - Maschiene.preis);
Console.WriteLine(" ----");
Console.WriteLine(" ----");








Console.Read();


}
}
}


klasse.cpp


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace kaffe
{
class KaffeMaschiene
{

public double preis = 0.00d;
public double milch = 0.75d;
public double zucker = 0.50d;
public double kaffe = 1.20d;

public void MilchAusgeben()
{
Console.WriteLine("Hier ist ihre Milch");
preis += milch;

}

public void ZuckerAusgeben()
{

Console.WriteLine("Hier ist ihr Zucker");
preis += zucker;
}

public void KaffeAusgeben()
{
Console.WriteLine("Hier ist ihr Kaffe");
preis += kaffe;
}



}
}

QpL
26.08.2010, 15:26
Naja - es fehlt ne Überprüfung, ob du auch den vollen Preis für den Kaffee bezahlst.
Ansonsten kenn ich mich mit C# nicht so aus :)

laultima
26.08.2010, 15:45
Danke, habe ich noch geändert .

Sonst noch jemand Ratschläge den schreib stil zu verbessern?:)

Sawyer
26.08.2010, 15:47
Zusätzlich könntest du noch etwas den Code "Leserlicher" gestalten, sprich ihn besser zu Formatieren. Aber ansonsten sieht alles so weit okay aus. Das einzige was mich gerade etwas schmunzeln lässt, ist die beschreiben der Datei, genauer gesagt die Dateiendung: in C# ist dies nämlich .cs ;)

MfG, Sawyer

laultima
26.08.2010, 15:52
Okay werde es versuchen.Dann kann ich ja so weitermachen;)

Das mit dem ".CPP" kommt daher das ich mich 2-3 Tage mit C++ befasst hatte. Verwechselt:)

clemib
26.08.2010, 16:12
Maschine schreibt man ohne ie ;)

Apex
26.08.2010, 16:16
Joa sieht wie gesagt soweit sauber aus, kannst ja bissl erweitern mit verschiedenen Kaffeesorten :D

IRET
26.08.2010, 16:25
Maschine schreibt man ohne ie ;)
Es geht hier auch ums Programmtechnische ;).
Hab hier noch einen kleinen Tipp:

preis = preis + zucker;Schaut bsichen unübersichtlich aus.

preis += zucker;ist kürzer und somit übersichtlicher ;).

Ansonsten kann es so bleiben.
Später wenn du viele und große Funktionen schreibst bzw Klassen wären XML-Kommentare noch gut.
Oder du kannst dich auch an das halten.
http://free-hack.com/ansi-c-c-c/53301-richtschnur-codeformatierung.html
zB XML:

/* <summary>
* Macht das und das.
* </summary>
* <param name="param1">Preis von Zucker</param>
* <returns>1 wenn ok 0 wenn Fehler</returns>
*/

AgainsT
26.08.2010, 22:36
int eingabe = Convert.ToInt32(Console.ReadLine());
in nen try-catch, denn wenn man x oder b eingibt gibts ne Exception

The Blubb
27.08.2010, 17:43
habs mir nicht ganz durchgelesen, aber könntest du die nicht private machen?


public double preis = 0.00d;
public double milch = 0.75d;
public double zucker = 0.50d;
public double kaffe = 1.20d;

laultima
28.08.2010, 23:10
Vielen Dank für die Tipps.
Werde es nun besser machen:)