Kod: Tümünü seç
#!/bin/bash
# Doğum tarihi al
birthDate=$(yad --entry \
--title="Doğum Tarihi" \
--text="Lütfen doğum tarihinizi girin (gg/aa/yyyy):" \
--width=300)
# Boş kontrolü
if [[ -z "$birthDate" ]]; then
yad --error --text="Tarih girilmedi."
exit 1
fi
# Format kontrolü (gg/aa/yyyy)
if ! [[ "$birthDate" =~ ^[0-9]{2}/[0-9]{2}/[0-9]{4}$ ]]; then
yad --error --text="Geçersiz format. gg/aa/yyyy şeklinde giriniz."
exit 1
fi
# Tarihi parçala
day=$(echo "$birthDate" | cut -d/ -f1)
month=$(echo "$birthDate" | cut -d/ -f2)
year=$(echo "$birthDate" | cut -d/ -f3)
# Gerçek tarih kontrolü
if ! date -d "$year-$month-$day" >/dev/null 2>&1; then
yad --error --text="Geçersiz takvim tarihi."
exit 1
fi
# Sayısal karşılaştırma için baştaki sıfırları kaldır
day=$((10#$day))
month=$((10#$month))
# Burç hesaplama
if { [[ $month -eq 1 && $day -ge 20 ]] || [[ $month -eq 2 && $day -le 18 ]]; }; then
zodiac="Kova"
compat="İkizler, Terazi"
elif { [[ $month -eq 2 && $day -ge 19 ]] || [[ $month -eq 3 && $day -le 20 ]]; }; then
zodiac="Balık"
compat="Yengeç, Akrep"
elif { [[ $month -eq 3 && $day -ge 21 ]] || [[ $month -eq 4 && $day -le 19 ]]; }; then
zodiac="Koç"
compat="Aslan, Yay"
elif { [[ $month -eq 4 && $day -ge 20 ]] || [[ $month -eq 5 && $day -le 20 ]]; }; then
zodiac="Boğa"
compat="Başak, Oğlak"
elif { [[ $month -eq 5 && $day -ge 21 ]] || [[ $month -eq 6 && $day -le 20 ]]; }; then
zodiac="İkizler"
compat="Kova, Terazi"
elif { [[ $month -eq 6 && $day -ge 21 ]] || [[ $month -eq 7 && $day -le 22 ]]; }; then
zodiac="Yengeç"
compat="Balık, Akrep"
elif { [[ $month -eq 7 && $day -ge 23 ]] || [[ $month -eq 8 && $day -le 22 ]]; }; then
zodiac="Aslan"
compat="Koç, Yay"
elif { [[ $month -eq 8 && $day -ge 23 ]] || [[ $month -eq 9 && $day -le 22 ]]; }; then
zodiac="Başak"
compat="Boğa, Oğlak"
elif { [[ $month -eq 9 && $day -ge 23 ]] || [[ $month -eq 10 && $day -le 22 ]]; }; then
zodiac="Terazi"
compat="İkizler, Kova"
elif { [[ $month -eq 10 && $day -ge 23 ]] || [[ $month -eq 11 && $day -le 21 ]]; }; then
zodiac="Akrep"
compat="Yengeç, Balık"
elif { [[ $month -eq 11 && $day -ge 22 ]] || [[ $month -eq 12 && $day -le 21 ]]; }; then
zodiac="Yay"
compat="Koç, Aslan"
else
zodiac="Oğlak"
compat="Boğa, Başak"
fi
# Sonuç göster
yad --info \
--title="Burç Sonucu" \
--text="Burcunuz: $zodiac\nEvlilikte uyumlu burçlar: $compat" \
--width=350

NOT : Betiğin WindowsOS Versiyonu aşağıda
Kod: Tümünü seç
Option Explicit
Dim birthDate, day, month, year, zodiacSign, compatibility
' Kullanıcıdan doğum tarihini al
birthDate = InputBox("Lütfen doğum tarihinizi girin (gün/ay/yıl):", "Doğum Tarihi")
' Tarihi gün, ay ve yıl olarak ayır
day = CInt(Split(birthDate, "/")(0))
month = CInt(Split(birthDate, "/")(1))
year = CInt(Split(birthDate, "/")(2))
' Burç hesaplama
If (month = 1 And day >= 20) Or (month = 2 And day <= 18) Then
zodiacSign = "Kova"
compatibility = "İkizler, Terazi"
ElseIf (month = 2 And day >= 19) Or (month = 3 And day <= 20) Then
zodiacSign = "Balık"
compatibility = "Yengeç, Akrep"
ElseIf (month = 3 And day >= 21) Or (month = 4 And day <= 19) Then
zodiacSign = "Koç"
compatibility = "Aslan, Yay"
ElseIf (month = 4 And day >= 20) Or (month = 5 And day <= 20) Then
zodiacSign = "Boğa"
compatibility = "Başak, Oğlak"
ElseIf (month = 5 And day >= 21) Or (month = 6 And day <= 20) Then
zodiacSign = "İkizler"
compatibility = "Kova, Terazi"
ElseIf (month = 6 And day >= 21) Or (month = 7 And day <= 22) Then
zodiacSign = "Yengeç"
compatibility = "Balık, Akrep"
ElseIf (month = 7 And day >= 23) Or (month = 8 And day <= 22) Then
zodiacSign = "Aslan"
compatibility = "Koç, Yay"
ElseIf (month = 8 And day >= 23) Or (month = 9 And day <= 22) Then
zodiacSign = "Başak"
compatibility = "Boğa, Oğlak"
ElseIf (month = 9 And day >= 23) Or (month = 10 And day <= 22) Then
zodiacSign = "Terazi"
compatibility = "İkizler, Kova"
ElseIf (month = 10 And day >= 23) Or (month = 11 And day <= 21) Then
zodiacSign = "Akrep"
compatibility = "Yengeç, Balık"
ElseIf (month = 11 And day >= 22) Or (month = 12 And day <= 21) Then
zodiacSign = "Yay"
compatibility = "Koç, Aslan"
ElseIf (month = 12 And day >= 22) Or (month = 1 And day <= 19) Then
zodiacSign = "Oğlak"
compatibility = "Boğa, Başak"
Else
MsgBox "Geçersiz tarih formatı. Lütfen gün/ay/yıl formatında bir tarih girin."
WScript.Quit
End If
' Sonucu göster
MsgBox "Burcunuz: " & zodiacSign & vbCrLf & "Evlilikte uyumlu burçlar: " & compatibility



