C# Stoppuhr

Ph1psL

Ensign
Registriert
Apr. 2011
Beiträge
193
Liebes CB-Team,

ich soll für den Informatikunterricht was objektorientiertes mit Sharpdevelop programmieren.
Ich habe mich nun entschieden eine LED-Anzeige zu prgrammieren, mit der ich die Zeit angeben möchte.
(Das ist aber alles unwichtiges Vorgeplänkel :D)

Per TimerTick lasse ich alle 1000ms die Sekunden (sec) erhöhen und möchte nun die Minuten-und Stundenberechnung gerne in eine Methode auslagern.



Ich weiß nicht, wieso es bei mir jetzt nicht funktioniert...

Denke die Lösung ist ganz einfach, ich komme aber nicht drauf ;)

Danke
 
Nach dem ersten return hört er vermutlich auf.

*Edit: Ah, zu spät...
 
leg dir ne neue Klasse MyTime an, diese enthält 3 Integers (Sec, Min, Hour) und dann gibst du diese Klasse zurück
 
Da muss ich zustimmen. Pro Methode nur ein Return.
 
Sieh dir mal DateTime an, da musst du nichts selbst berechnen. Oder willst/musst du das Rad neu erfinden?
 
versuch mal das

public void zeitBerechnung(int in_sec, int in_min,int in_hou, out int sec, out int min, out int hou)
{
sec = in_sec;
min = in_min;
hou = in_hou;
if (sec == 60)
{
min++;
sec = sec % 60;
}
if (min == 60)
{
hou++;
min = min % 60;
}
}
 
Ok, das mit OUT würde auch funktionieren.
Aber als Programmieranfänger sollte man erstmal bei dem klassischem Return-Wert bleiben.
 
Ich kenne mich in C# zwar nicht aus aber hat 'ne Methode nicht normalerweise einen einzigen Rückgabewert?

Sowas was Du da machst, habe ich auch mal vor einer ganzen Weile programmiert und dabei habe ich die if-Abfragen aber verschachtelt ;)
 
Ja ich glaube ich muss das Rad neu erfinden ;)
Ok ich probiere das mal mit dem Out, denke das ist in Ordnung... :)
Dankesehr!

€:
wenn ich jetzt aber "zeitBerechnung(sec,min,hou);" aufrufe, dann steht da "Keine Überladung für die Methode "zeitBerechnung" nimmt 3-Argumente an. (CS1501) "
Wo ist jetzt das Problem?
 
Zuletzt bearbeitet:
mathias146 schrieb:
versuch mal das

public void zeitBerechnung(int in_sec, int in_min,int in_hou, out int sec, out int min, out int hou)
{
sec = in_sec;
min = in_min;
hou = in_hou;
if (sec == 60)
{
min++;
sec = sec % 60;
}
if (min == 60)
{
hou++;
min = min % 60;
}
}

will jetzt nicht pingelig werden, aber out-Parameter sind nicht die feine englische Art ;)
Würd daher eher noch eine Klasse machen die diese Parameter enthält und dann zurückgeben.

nachdem er ja extra erwähnt hat das er "was objektorientiertes" programmieren soll.

mfg
 

Ähnliche Themen

Zurück
Oben