Option Explicit
Sub raketenankunftszeit2()
' Dieses Programm berechnet die Ankunftszeit einer Rakete.
' Eingaben: Abflugzeit in Stunden, Minuten und Sekunden
' Flugdauer in Stunden, Minuten und Sekunden
' Ausgabe: Ankunftszeit in Stunden, Minuten und Sekunden
' Dateiname raketen2
Dim AbflugTage As Long
Dim AbflugStunden As Long
Dim AbflugMinuten As Long
Dim AbflugSekunden As Long
Dim LandungTage As Long
Dim LandungStunden As Long
Dim LandungMinuten As Long
Dim LandungSekunden As Long
Dim FlugzeitStunden As Long
Dim FlugzeitMinuten As Long
Dim FlugzeitSekunden As Long
Dim AbflugInSekunden As Long
Dim LandungInSekunden As Long
Dim FlugdauerInSekunden As Long
Dim FlugzeitTage As Long
'Initialisierung
'Ausgabe der Bedienungsanleitung
MsgBox ("Bitte geben Sie die Startzeit und " & Chr$(13) & _
"die Landezeit der Rakete in Tagen, Stunden, Minuten und Sekunden an. " & Chr$(13) & _
"Auch die Ausgabe erfolgt in Tagen, Stunden,Minuten und Sekunden")
'Einlesen der Benutzereingaben
AbflugTage = InputBox("Geben Sie nun die Tage der Abflugzeit ein!")
AbflugStunden = InputBox("Geben Sie nun die Stunde der Abflugzeit ein!")
AbflugMinuten = InputBox("Geben Sie nun die Minuten der Abflugzeit ein!")
AbflugSekunden = InputBox("Geben Sie nun die Sekunden der Abflugzeit ein!")
LandungTage = InputBox("Geben Sie nun die Tage der Landezeit ein!")
LandungStunden = InputBox("Geben Sie nun die Stunden der Landezeit ein!")
LandungMinuten = InputBox("Geben Sie nun die Minuten der Landezeit ein!")
LandungSekunden = InputBox("Geben Sie nun die Sekunden der Landezeit ein!")
' Rechne Startzeit und Landezeit in Sekunden um
AbflugInSekunden = AbflugTage * 24 * 3600 + AbflugStunden * 3600 + _
AbflugMinuten * 60 + AbflugSekunden
LandungInSekunden = LandungTage * 24 * 3600 + LandungStunden * 3600 + _
LandungMinuten * 60 + LandungSekunden
' Berechne die Flugdauer
FlugdauerInSekunden = LandungInSekunden - AbflugInSekunden
If (FlugdauerInSekunden < 0) Then
MsgBox ("Der Landezeitpunkt liegt vor dem Startzeitpunkt!")
Exit Sub
End If
FlugzeitStunden = FlugdauerInSekunden \ 3600
FlugzeitTage = FlugzeitStunden \ 24
FlugzeitStunden = FlugzeitStunden Mod 24
FlugdauerInSekunden = FlugdauerInSekunden Mod 3600
FlugzeitMinuten = FlugdauerInSekunden \ 60
FlugzeitSekunden = FlugdauerInSekunden Mod 60
'Gib die Flugdauer am Bildschirm aus
If (FlugzeitTage > 0) Then
MsgBox ("Die Flugzeit der Rakete ist: " & FlugzeitTage & _
" Tage " & FlugzeitStunden & " Stunden " & _
FlugzeitMinuten & " Minuten " & FlugzeitSekunden _
& " Sekunden ")
Else
MsgBox ("Die Flugzeit der Rakete ist: " & FlugzeitStunden & ":" & _
FlugzeitMinuten & ":" & FlugzeitSekunden)
End If
End Sub