Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hi,

bin blutiger anfänger und komm da einfach nicht weiter, und vielleicht kann mir ja hier jemand weiterhelfen...

also ich will mit eine Uhrzeittabelle ausgeben lassen, aber NUR mit einer FOR-SCHLEIFE nämlich:

for (i=0; i<86400;i++)

und die variablen

h, m, s sollen mit modulo-operator und divisions-operator errechnet werden

es soll dann wie folgt ausgegeben werden

Uhrzeit 00:00:00

Uhrzeit 00:00:01

...

Uhrzeit 00:00:59

Uhrzeit 00:01:00

..

Uhrzeit 23:59:59

das was ich jetzt so hab schaut folgendermaßen aus:

#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>

int main(void)

{

int i,h,m,s;

for (i=0;i<86400;i++)

{

printf("Uhrzeit %02d:%02d:%02d\n",i%24,i%60,i%60);

}

return 0;

}

aber er zählt zwar bist 23 und 59 aber hald leider nicht so wie ich das will!!!

BIN ÜBER JEDE HILFE DANKBAR!!!!!!

Gruß Nik

#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>

int main(void)

{

int i,h,m,s;

for (i=0;i<86400;i++)

{

h = i/3600;

m = i/60;

s = i;

printf("Uhrzeit %02d:%02d:%02d\n",h%24,m%60,s%60);

}

return 0;

}

ist ja klar das h, m und s noch umgerechnet werden müssen...

trotzdem verstehe ich nicht was dieses h%24, m%60 und s%60 wirklich bewirkt, klar ist das dieser wert nicht erreicht wird aber ganz ehrlich das war mehr zufall....

DANKE schon mal

Gruß Nik

Du möchtest bitte das nächste Mal die Code-Tags verwenden

for (i=0;i<86400;i++)

86400 Sekunden = 24 Stunden

Überlege Dir bitte auf einem Blatt Papier, wie man Sekunden, in Minuten und Minuten in Stunden umrechnet. Denn das ist genau das, was Dein Programm machen muss

was sind code-tags?

ja mit ist klar das 84600sec 24std sind und gleich 60*60*24...

nur was macht diese modulo-operator? mit dem rest?

//...

for (int i = 0; i < 86400; ++i) {

    printf("  %5d sec = %02d:%02d:%02d\n", i, i/3600, (i/60)%60, i%60);

}

Modulo (a%B) liefert den Rest einer Division zurück.

Wäre a = 3 und b = 2, dann wäre 3%2 = 1 da 3/2 = 1 mit Rest 1 ergibt.

Noch eine kleine Info, damit Du den Code oben verstehst:

(i/60)%60 ergibt die Minuten, weil i/60 den Wert vor dem Komma ergibt weil die Variable i als Integer - also Ganzzahl - definiert ist. (Nachkommastellen wären in diesem Fall die Sekunden...)

Bei Integer-Rechnungen mit Nachkommastellen werden diese in C einfach "abgeschnitten".

Diese Zahl Modulo 60 ergibt dann die eigentliche Minute, da damit der Stundenanteil eliminiert wird...

Ist vielleicht ein wenig kompliziert aber wenn Du da mal in Ruhe drüber guckst, verstehst Du das schon.

PS: Das da oben kommt raus, wenn du diese Code-Tags benutzt - eine formatierte Ausgabe.

Bearbeitet von InfoJunkie

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.