Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Einen wunderschönen guten Tag...

.....ich habe hier eine Prüfungsaufgabe wofür ich gerne die richtige und komplette Lösung wüsste!! Vieleicht kann mir wer weiterhelfen??

Es soll ein Programm entwickelt werden, welches, die in Sekunden erfasste Zeit in Format - Woche: Tage: Stunden: Minuten: Sekunden darstellt!

BSP: 788645Sekunden = 1Woche, 2Tage, 3Stunden, 4Minuten, 5Sekunden

Schreibe diese Prozedur in Pseudocode oder gebräuchlichen Programmcode.

Vielen dank im vorraus

Geschrieben

als kleiner hinweis:

du brauchst 1. restwertdivision also z.b. 7 % 3 = 1

und zum 2. musste logischerweise durch 60 teilen um von sekunden auf minuten zu kommen usw...

Geschrieben
BSP: 788645Sekunden = 1Woche, 2Tage, 3Stunden, 4Minuten, 5Sekunden

rein intuitiv:

788.645 Sekunden | teile durch 60

13.144,083 Minuten | teile durch 60

219,068 Stunden | teile durch 24

9,127 Tage | teile durch 7

1,303 Wochen

-----------

-----------

0,303 Wochen | mal 7 = 2,128 Tage ->

0,128 Tage | mal 24 = 3,069 Stunden ->

0,069 Stunden | mal 60 = 4,083 Minuten ->

0,083 Minuten | mal 60 = 4,999 Sekunden

die Werte bei mir sind jeweils gerundet, du musst natürlich mit genaueren Zwischenwerten rechnen um ein genaues Ergebnis zu bekommen.

Leider ist Programmieren gerade nicht mein Bereich, aber ich denke dieseer Rechnungsansatz lässt sich nicht allzuschwer Umsetzen.

quark

Geschrieben

Mein Vorschlag ohne Dateneingabeüberprüfung ob txt_Eingabe auch Zahlen enthält:

Dim eing As Int64, s As Int64, m As Int64, h As Int64, t As Int64, w As Int64, rest As Int64

Label1.Visible = False ' Enthält auf der Form die Anweisung an den Nutzer; macht ihn unsichtbar

txt_Eingabe.Visible = False ' hier gibt der User seine Sekunden ein; macht ihn unsichtbar

Button1.Visible = False ' der Startknopf; macht ihn unsichtbar

eing = Val(txt_Eingabe.Text) ' weist der Variablen eing den Zahlenwert aus dem Eingabefeld zu

w = eing / 604800 'entspricht eingabe / (60*60*24*7)

rest = eing Mod 604800 'ermittelt den Rest aus der Division oben

t = rest / 86400 'entspricht rest /(60*60*24)

rest = rest Mod 86400

h = rest / 3600

rest = rest Mod 3600

m = rest / 60

s = rest Mod 60

lbl_ausgabe.Text = w & " Wochen; " & vbCrLf & t & " Tage; " & vbCrLf & h & " Stunden; " & vbCrLf & m & " Minuten; " & vbCrLf & s & " Sekunden" ' entspricht der Ausgabe Zeilenweise im ausgabe label

Der Code wurde getestet und funktioniert bis zur Zahlengröße int64 für die eingabe ;)

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...