Bilmece saat fonksiyonu...

Endorfin35+

Kayıtsız Üye
Katılım
1 Mayıs 2020
Mesajlar
4,166
Gelismis bir tarih saat fonksiyonu kullanmamak kaydi ile;

Saat ve dakika iki ayri int degisken olacak.

Kullanici her ayri vardiya icin baslama bitis saatlerini girecek.
1. Ayni zaman dilimi icinde birden fazla vardiya olamaz.
2. 3 vardiyanin mesai saati toplami 24 u gecemez.
Girilen saatlerin uygunlugunu dogrulayiniz.

buyrun kafa yormak isteyene :D
 
1.Vardiya: 07:30:00-15:29:59
2.Vardiya: 15:30:00-23:29:59
3.Vardiya: 23:30:00-07:29:59
Neyin peşindesin anlamadım ama 1sn fark ile vardiyaları belirlersin. Hatta salise hesaplayarak gereksiz hassasiyetle bile hesaplarsın. O zaman sadece şu meşhur "1 an" zamanı devreye girer. Ama çok aşırı hassas modül olmalı.
 
Aslında çok karmaşık Değil

Birinci Vardiya Saatini Girdir
1.Vardiya bitiş saati 1.Vardiya Başlangıç saatinden küçük olamaz ve eşit olamaz ,farkı da 8 saatden büyük olursa "Vardiya 8 saatden uzun oldu .3 vardiya olacaksa bir vardiya 8 saatden kısa olacak" mesajını yazdır

İkinci Vardiya Başlangıcı en az 2.Vardiya saatine eşit olabilir ,küçük olamaz(Ayrıca 2.vardiya başlangıç saati 1.Vardiya bitiş saatinden büyük ise "Vardiyalardan biri 8 saatden küçük olacak " mesajı yazdır
İkinci Vardiya bitiş Saati 1.vardiya bitiş saatinden büyük olabilir ama bu durumda "Bir sonraki vardiya 8 saatden kısa olacak" mesajı ver

Aynı mantıklada 3.vardiyayı seçtirirsin.
*Benim bildiğim kadarıyla o günün vardiya sonu 23:59:59 da sona erer.Demek istediğim parasal karsılığı muhasebe açısından hesaplanabilmesi için saat 24:00 e kadar olan çalışmalar hesaplanır.O saatden sonrası diğer güne ait çalışmadır.
Yani Tarih bilgisine ihtiyaç yoktur**
** Eğer personel devam kontrol Sistemi değilse
 
Son düzenleme:
1.Vardiya: 07:30:00-15:29:59
2.Vardiya: 15:30:00-23:29:59
3.Vardiya: 23:30:00-07:29:59
Neyin peşindesin anlamadım ama 1sn fark ile vardiyaları belirlersin. Hatta salise hesaplayarak gereksiz hassasiyetle bile hesaplarsın. O zaman sadece şu meşhur "1 an" zamanı devreye girer. Ama çok aşırı hassas modül olmalı.

Bir vardiyanin bitis saati ile diger vardiyanin baslangic saati ayni olabilir. Bu anlamda sikinti yok.

Aslında çok karmaşık Değil

Birinci Vardiya Saatini Girdir
1.Vardiya bitiş saati 1.Vardiya Başlangıç saatinden küçük olamaz ve eşit olamaz ,farkı da 8 saatden büyük olursa "Vardiya 8 saatden uzun oldu .3 vardiya olacaksa bir vardiya 8 saatden kısa olacak" mesajını yazdır

İkinci Vardiya Başlangıcı en az 2.Vardiya saatine eşit olabilir ,küçük olamaz(Ayrıca 2.vardiya başlangıç saati 1.Vardiya bitiş saatinden büyük ise "Vardiyalardan biri 8 saatden küçük olacak " mesajı yazdır

Yani Tarih bilgisine ihtiyaç yoktur

Vardiya baslangis saati vardiya bitis saatinden kucuk olabilir. Ornegin vardiya 22.30 da baslar 6.30 da biter. Ayrica dedigin gibi tarih ile isimiz. Yok.


Kurallar basit vardiyalarin toplami 24 u gecemez ve ayni anda iki vardiya olamaz.

Tekrar yorumlari alayim :p

Bu arada cozum bende var, caniniz sikiliyorsa kafa yorun diye soruyorum. :katil1:
 
Bir vardiyanin bitis saati ile diger vardiyanin baslangic saati ayni olabilir. Bu anlamda sikinti yok.



Vardiya baslangis saati vardiya bitis saatinden kucuk olabilir. Ornegin vardiya 22.30 da baslar 6.30 da biter. Ayrica dedigin gibi tarih ile isimiz. Yok.


Kurallar basit vardiyalarin toplami 24 u gecemez ve ayni anda iki vardiya olamaz.

Tekrar yorumlari alayim :p

Bu arada cozum bende var, caniniz sikiliyorsa kafa yorun diye soruyorum. :katil1:
Ben sorunun zorluğu nerede onu anlamadım.
Al sana tam 24 saati tamamlayan 3 vardiya :D
1.Vardiya: 07:30 -15:30
2.Vardiya: 15:30 - 23:30
3.Vardiya: 23:30 - 07:30
 
Bir vardiyanin bitis saati ile diger vardiyanin baslangic saati ayni olabilir. Bu anlamda sikinti yok.



Vardiya baslangis saati vardiya bitis saatinden kucuk olabilir. Ornegin vardiya 22.30 da baslar 6.30 da biter. Ayrica dedigin gibi tarih ile isimiz. Yok.

Bu şekilde olursa tarihide alman gerekir zira 06:30 daki tarihi, 22:30 un tarihinden ileridir
 
Tamam simdi ben mal bir kullaniciyim.

1. Vardiya 8:15 - 7:30
2. Vardiya 7:00 - 22:10
3. Vardiya 22:00 - 12:00

Yazdim beni nasil denetleyecen?
 
Hocam yazdımya ilk mesajımda
1.Vardinaın bitiş saati başlangıçtan küçük olamaz eşit olamaz falan diye
İlk mesajımı okuyun
vadiyalar 8 saatden büyük olunca da haber verecek
3.vardiya yı girebilmeniz için yine toplam saati tutacak en çok ... saat olabilir diyecek
 
"Bunların dışında esnek vardiya sistemi de kullanılmaktadır. Esnek vardiya sisteminde standart 12 saatlik iki vardiya veya 8 saatlik üç vardiya yerine, çok daha farklı saatlerde kayan vardiya saatleri belirlenebilmektedir. Belirlenen kısmi süreli vardiya grupları birbirini takip eden süreçlerde işleri üstlenerek toplam çalışma süresinin tamamını kullanmış olurlar. "


Özeti vardiyanın başlangıç bitiş saatleri farklı günler olabilir. Burada bir sıkıntı yok. Tamam bir sonraki güne geçelim. Ama bir tarih hesabı yapmak zorunda mıyız :cheeky3:
 
PHP:
int giris_saat;

int giris_dakika;

int giris = giris_saat +.":".giris_dakika;

int vardiya_bir_saat = 07;

int vardiya_bir_dakika = 30;

int vardiya_bir = vardiya_bir_saat +.":".vardiya_bir_dakika;

if (vardiya_bir  != giris){

echo "Vardiya başlangıç saatini Yanlış Girdiniz";

}

PHP - C biraz karışık oldu :katil1:
 
Özeti vardiyanın başlangıç bitiş saatleri farklı günler olabilir. Burada bir sıkıntı yok. Tamam bir sonraki güne geçelim. Ama bir tarih hesabı yapmak zorunda mıyız :cheeky3:
Programlama olacaksa tarih kullanmalıyız. Hatta zorunlu bile olabiliriz. Ama sadece kağıt üzerinde olacaksa tarihe gerek olmayabilir.
 
Biz ne vardiyalar gördük. Seninki vız gelir :D

20200924_210339.jpg
 

Forum istatistikleri

Konular
5,653
Mesajlar
97,279
Üyeler
2,438
Son üye
İbrahimSönmez

Son kaynaklar

Son profil mesajları

cemalettin keçeci wrote on HaydarBaris's profile.
barış kardeşim bende bu sene akıllı denizaltı projesine girdim ve sensörleri arastırıyorum tam olarak hangi sensör ve markaları kullandınız yardımcı olabilir misin?
m.white wrote on Altair's profile.
İyi akşamlar.Arabanız ne marka ve sorunu nedir.Ben araba tamircisi değilim ama tamirden anlarım.
* En mühim ve feyizli vazifelerimiz millî eğitim işleridir. Millî eğitim işlerinde mutlaka muzaffer olmak lâzımdır. Bir milletin hakikî kurtuluşu ancak bu suretle olur. (1922)
Kesici/Spindle hızı hesaplamak için SpreadSheet UDF'leri kullanın, hesap makinesi çok eski kalan bir yöntem :)
Dr. Bülent Başaran,
Elektrik ve Elektronik Mühendisi
Yonga Tasarım Özdevinimcisi
Üç güzel "çocuk" babası
Ortahisar/Ürgüp/Konya/Ankara/Pittsburgh/San Francisco/Atlanta/Alaçatı/Taşucu...

Back
Top