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 ;)

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

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...