Ezt a programot, hogy kell megcsinálni (C nyelv)?
A feladat az, hogy be kell olvasni egy számot. A számot másodpercként kezeljük. A program pedig megmondja, hogy a beolvasott szám hány év, hónap, hét, nap, óra, perc. Nem átváltani kell!
Pl.: 3720 másodperc = 2 perc, 1 óra , 0 nap, 0 hét.....
Nolátod, megy ez!:) Bár if-ek kicsit feleslegesek, lényeg, hogy elindultál.
Amiért "átváltja", az az, hogy nem vonod le a számból a már átszámolt értéket. Hogy szemléltessem, mi a gond, vegyük például azt, hogy 61 másodpercet ad meg a felhasználó. Ez ugye 1 perc, viszont mivel nem vonod le a percekként már elszámolt másodperceket (jelen esetben 1*60), emiatt marad a 61 másodperc. Ezt ugye minden szinten el kell végezni (mindig vond le a már "elszámolt" részeket), ha ezzel megvagy, kész is az alkalmazásod.
Sikerült! Köszi a segítséget!
Vagyis szerintem ez jó.
#include<stdio.h>
main(){
int szam,het=0,ora=0,nap=0,perc=0;
printf("Irj be egy szamot:");
scanf("%d",&szam);
printf("A beirt szam %d volt.\n",szam);
szam/604800;{het=szam/604800-nap;}
szam/86400;{nap=szam/86400-ora;}
szam/3600;{ora=szam/3600-perc;}
szam/60;{perc=szam/60-60;}
printf("A beirt szam %d hetnek, %d napnak, %d oranak, %d percnek felel meg.",het,nap,ora,perc);
}
Első körben javaslom, vezesd le papíron:
695620 s = 1 hét és maradt 90820 s
90820 s = 1 nap és maradt 4420 s
4420 s = 1 óra és maradt 820 s
820 s = 13 perc és maradt 40 s
A végén kijön, hogy 695620 az 1 hét, 1 nap, 1 óta, 13 perc és 40 másodperc.
(maradékképzés: %)
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!