VBDN 06C Anwendungswentwickler

  • Hallo,
    ich versuche mich gerade am Anwendungsentwickler der SGD und hänge schon bei der Einsendeaufgabe von VBDn06
    genau geht es um das Programm das man einsenden muss, hat das jemand gelöst und kann sich mit mir austauschen?

    Also ich war soweit aber nach ewiger zeit hin und her probieren kam ich auch nicht weiter.

    Imports System.Console
    Enum Zeiteinheit As Short
    Stunde = 1
    Minute = 60
    Sekunde = 3600
    End Enum
    Class
    Zeit
    Private m_std As Short = 0
    Private m_min As Short = 0
    Private m_sek As Short = 0
    Public Sub New(ByVal Stunde As Short, ByVal Minute As Short, ByVal Sekunde As Short)
    m_std = Stunde
    m_min = Minute
    m_sek = Sekunde
    End Sub
    Sub Anzeigen()
    WriteLine(
    "Zeit: {0}:{1}:{2}", m_std, m_min, m_sek)
    End Sub
    Private Function zuSekunden() As Integer
    zuSekunden = CInt(m_std * 3600) + (m_min * 60) + (m_sek)
    End Function
    Sub Addieren(ByVal Anzahl As Short, ByVal Einheit As Zeiteinheit)
    Select Case Einheit
    Case Zeiteinheit.Sekunde
    m_sek += Anzahl
    Case Zeiteinheit.Minute
    m_min += Anzahl
    Case Zeiteinheit.Stunde
    m_std += Anzahl
    End Select
    End Sub
    Private Sub zuZeit(ByVal Sekunde As Integer)
    m_sek = Sekunde
    Mod 60
    m_min = (Sekunde \ 60)
    Mod 60
    m_std = Sekunde \ 60 * 60
    End Sub
    End
    Class
    Module
    abc
    Sub Main()
     
    Dim z As New Zeit(10, 24, 36)
    z.Anzeigen()
    z.Addieren(50,
    Zeiteinheit.Minute)
    z.Anzeigen()
    z.Addieren(155,
    Zeiteinheit.Sekunde)
    z.Anzeigen()
    ReadLine()
    End Sub
    End
    Module
     
    wäre nett wenn mir jemand eine PM schicken könnte was ich falsch gemacht habe, vielen dank

  • Hallo,
    ich versuche mich gerade am Anwendungsentwickler der SGD und hänge schon bei der Einsendeaufgabe von VBDn06
    genau geht es um das Programm das man einsenden muss, hat das jemand gelöst und kann sich mit mir austauschen?

    Also ich war soweit aber nach ewiger zeit hin und her probieren kam ich auch nicht weiter.

    Wenn Du mal genau beschreibst, was Du machen willst, Aufgabenstellung usw., kann eventuell jemand helfen.
    Wo hast Du welchen Code-Teil untergebracht, Aufbau, usw.

    Gruß
    hape

  • Also es soll am ende in der Konsolenanwendung einfach nur die einträge so angezeigt werden.

    Zeit: 10:24:36
    Zeit: 11:14:36
    Zei: 11:17:11

    das ganze soll in etwa so wie oben aussehen, einige Teile vov code sind vorgegeben wie z.B

    Dim z As New Zeit(10, 24, 36)
    z.Anzeigen()
    z.Addieren(50,
    Zeiteinheit.Minute)
    z.Anzeigen()
    z.Addieren(155,
    Zeiteinheit.Sekunde)
    z.Anzeigen()

    und

    PrivateSub zuZeit(ByVal Sekunde AsInteger)
    m_sek = Sekunde
    Mod 60
    m_min = (Sekunde \ 60)
    Mod 60
    m_std = Sekunde \ 60 * 60

    Timespan und so sachen sollen noch nicht verwendet werden, allerdings raffe ich absolut nicht wie ich die teile zusammenfüge da auch in den Heften sogut wie garkeine sinnvolle erklärung dazu steht.

  • Hi,

    Ich habe den Code etwas umgestellt, um den Ablauf zu sehen.
    Ausgabe funktioniert, leider ist das Ergebnis nicht i. O.
    Bis Function zuSeKunden() funktioniert die Berechnung.
    Ich habe mal in der Ausgabe => WriteLine(zuSekunden), zur Kontrolle eingefügt

    [ATTACH=CONFIG]1039[/ATTACH]

    Private Sub zuZeit funktioniert nicht.
    Bin leider noch nicht sicher warum.
    Schau doch noch mal in Dein Heft. Da ist doch bestimmt eine ähnliche Aufgabe drin.


    Imports System.Console
    Enum Zeiteinheit As Short
    Stunde = 1
    Minute = 60
    Sekunde = 3600
    End Enum

    Class Zeit
    Private m_std As Short = 0
    Private m_min As Short = 0
    Private m_sek As Short = 0

    Public Sub New(ByVal Stunde As Short, ByVal Minute As Short, ByVal Sekunde As Short)
    m_std = Stunde
    m_min = Minute
    m_sek = Sekunde
    End Sub
    Sub Addieren(ByVal Anzahl As Short, ByVal Einheit As Zeiteinheit)
    Select Case Einheit
    Case Zeiteinheit.Stunde
    m_std += Anzahl
    Case Zeiteinheit.Minute
    m_min += Anzahl
    Case Zeiteinheit.Sekunde
    m_sek += Anzahl
    End Select
    End Sub

    Private Function zuSekunden() As Integer
    zuSekunden = CInt(m_std * 3600) + (m_min * 60) + (m_sek)
    End Function


    Private Sub zuZeit(ByVal Sekunden As Integer)
    m_std = Sekunden / 60 * 60
    m_min = (Sekunden / 60) Mod 60
    m_sek = Sekunden Mod 60
    End Sub

    Sub Anzeigen()
    Console.WriteLine("Time: {0}:{1}:{2}", m_std, m_min, m_sek)
    Console.WriteLine(zuSekunden)

    End Sub

    End Class
    Module Module1
    Sub Main()
    Dim z As New Zeit(10, 24, 36)
    z.Anzeigen()
    z.Addieren(50, Zeiteinheit.Minute)
    z.Anzeigen()
    z.Addieren(155, Zeiteinheit.Sekunde)
    z.Anzeigen()
    Console.ReadLine()
    End Sub
    End Module


    Bin etwas unter Zeitdruck, versuche aber über Weihnachten daran zu arbeiten

    Gruß
    hape

  • Hi, danke erstmal für den Code, ich hab es nun nochmal versucht aber ich versteh es einfach nicht, und in den Büchern sind keine Zeitaufgaben drin.
    Glaube ich schicks nun einfach so ein.