Kapsamlı İşlem Merkezi
İnternetteki en kapsamlı ve çok yönlü gelişmiş hesap makinesi uygulamasına hoş geldiniz! Bu araç, standart bir hesap makinesinin çok ötesine geçerek tüm matematiksel, finansal ve geometrik ihtiyaçlarınızı tek bir panelde birleştirir.
Neler Yapabilirsiniz?
- Standart ve Bilimsel Mod: Trigonometri, üslü sayılar ($10^{-4}$ formatı dahil), kök ve parantezli karmaşık işlemler.
- Finans ve KDV Dünyası: Ticari işlemleriniz için KDV dahil/hariç hesaplama ve kâr-zarar marjı analizleri.
- Geometri ve Birim Dönüşümü: Alan-çevre hesapları ile uzunluk, ağırlık ve sıcaklık birimlerini saniyeler içinde dönüştürme.
Hem masaüstünde klavye kısayollarıyla hem de mobilde dokunmatik ekranlarla %100 uyumlu çalışan bu akıllı asistanı hemen deneyin!
GELİŞMİŞ HESAP MAKİNESİ (FULL DÖNÜŞTÜRÜCÜLÜ V2.5)
<div style="background:transparent; padding:20px; border-radius:15px; border:2px solid #ccc; color:inherit; font-family:sans-serif; max-width:500px; margin:auto;">
<h2 style="text-align:center; margin-top:0;">Kapsamlı İşlem Merkezi</h2>
<div style="display:flex; gap:5px; margin-bottom:15px; overflow-x:auto; padding-bottom:5px;">
<button onclick="setMod('std')" id="btn-std" style="padding:8px 12px; flex:1; cursor:pointer; border:1px solid #999; background:#44bd32; font-weight:bold; border-radius:4px; color:white;">Standart</button>
<button onclick="setMod('sci')" id="btn-sci" style="padding:8px 12px; flex:1; cursor:pointer; border:1px solid #999; background:#e0e0e0; font-weight:bold; border-radius:4px; color:#333;">Bilimsel</button>
<button onclick="setMod('fin')" id="btn-fin" style="padding:8px 12px; flex:1; cursor:pointer; border:1px solid #999; background:#e0e0e0; font-weight:bold; border-radius:4px; color:#333;">Finans</button>
<button onclick="setMod('geo')" id="btn-geo" style="padding:8px 12px; flex:1; cursor:pointer; border:1px solid #999; background:#e0e0e0; font-weight:bold; border-radius:4px; color:#333;">Geometri</button>
<button onclick="setMod('conv')" id="btn-conv" style="padding:8px 12px; flex:1; cursor:pointer; border:1px solid #999; background:#e0e0e0; font-weight:bold; border-radius:4px; color:#333;">Dönüştürücü</button>
</div>
<input type="text" id="ekran" readonly style="width:100%; padding:15px; font-size:24px; text-align:right; margin-bottom:15px; box-sizing:border-box; background:rgba(0,0,0,0.05); color:inherit; border:1px solid #999; border-radius:5px; font-family:monospace;">
<div id="calcButtons" style="display:grid; grid-template-columns: repeat(4, 1fr); gap:8px;">
<button onclick="temizle()" style="padding:15px; font-weight:bold; background:#e84118; color:white; border:none; border-radius:4px; cursor:pointer;">C</button>
<button onclick="ekle('(')" style="padding:15px; font-weight:bold; cursor:pointer;">(</button>
<button onclick="ekle(')')" style="padding:15px; font-weight:bold; cursor:pointer;">)</button>
<button onclick="ekle('/')" style="padding:15px; font-weight:bold; cursor:pointer;">/</button>
<button onclick="ekle('7')" style="padding:15px; cursor:pointer;">7</button>
<button onclick="ekle('8')" style="padding:15px; cursor:pointer;">8</button>
<button onclick="ekle('9')" style="padding:15px; cursor:pointer;">9</button>
<button onclick="ekle('*')" style="padding:15px; font-weight:bold; cursor:pointer;">x</button>
<button onclick="ekle('4')" style="padding:15px; cursor:pointer;">4</button>
<button onclick="ekle('5')" style="padding:15px; cursor:pointer;">5</button>
<button onclick="ekle('6')" style="padding:15px; cursor:pointer;">6</button>
<button onclick="ekle('-')" style="padding:15px; font-weight:bold; cursor:pointer;">-</button>
<button onclick="ekle('1')" style="padding:15px; cursor:pointer;">1</button>
<button onclick="ekle('2')" style="padding:15px; cursor:pointer;">2</button>
<button onclick="ekle('3')" style="padding:15px; cursor:pointer;">3</button>
<button onclick="ekle('+')" style="padding:15px; font-weight:bold; cursor:pointer;">+</button>
<button onclick="ekle('0')" style="padding:15px; cursor:pointer;">0</button>
<button onclick="ekle('.')" style="padding:15px; font-weight:bold; cursor:pointer;">.</button>
<button onclick="ozel('ust')" id="sci1" style="padding:15px; font-weight:bold; background:#0097e6; color:white; border:none; border-radius:4px; display:none; cursor:pointer;">x²</button>
<button onclick="ozel('kok')" id="sci2" style="padding:15px; font-weight:bold; background:#0097e6; color:white; border:none; border-radius:4px; display:none; cursor:pointer;">√</button>
<button onclick="ozel('sin')" id="sci3" style="padding:15px; font-weight:bold; background:#0097e6; color:white; border:none; border-radius:4px; display:none; cursor:pointer;">sin</button>
<button onclick="ozel('cos')" id="sci4" style="padding:15px; font-weight:bold; background:#0097e6; color:white; border:none; border-radius:4px; display:none; cursor:pointer;">cos</button>
<button onclick="ozel('tan')" id="sci5" style="padding:15px; font-weight:bold; background:#0097e6; color:white; border:none; border-radius:4px; display:none; cursor:pointer;">tan</button>
<button onclick="ozel('log')" id="sci6" style="padding:15px; font-weight:bold; background:#0097e6; color:white; border:none; border-radius:4px; display:none; cursor:pointer;">log</button>
<button onclick="hesapla()" id="esitBtn" style="grid-column: span 2; padding:15px; background:#44bd32; color:white; border:none; font-weight:bold; border-radius:4px; cursor:pointer;">=</button>
</div>
<div id="finMod" style="display:none; flex-direction:column; gap:10px;">
<div style="border-bottom:1px dashed #ccc; padding-bottom:10px; margin-bottom:5px;">
<h4 style="margin:0 0 8px 0;">1. KDV Hesaplama</h4>
<input type="number" id="tutar" placeholder="Tutar (TL)" style="width:100%; padding:10px; margin-bottom:5px; border:1px solid #999; border-radius:4px; background:transparent; color:inherit;">
<input type="number" id="kdv" placeholder="KDV Oranı (%)" style="width:100%; padding:10px; margin-bottom:5px; border:1px solid #999; border-radius:4px; background:transparent; color:inherit;">
<button onclick="finKdvHesap()" style="width:100%; padding:10px; background:#273c75; color:white; border:none; border-radius:4px; cursor:pointer; font-weight:bold;">KDV Dahil/Hariç Hesapla</button>
<div id="kdvSonuc" style="margin-top:8px; padding:8px; border-left:3px solid #273c75; font-size:14px; background:rgba(0,0,0,0.02);"></div>
</div>
<div>
<h4 style="margin:0 0 8px 0;">2. Kâr Marjı Hesaplama</h4>
<input type="number" id="maliyet" placeholder="Alış / Maliyet Fiyatı (TL)" style="width:100%; padding:10px; margin-bottom:5px; border:1px solid #999; border-radius:4px; background:transparent; color:inherit;">
<input type="number" id="satis" placeholder="Satış Fiyatı (TL)" style="width:100%; padding:10px; margin-bottom:5px; border:1px solid #999; border-radius:4px; background:transparent; color:inherit;">
<button onclick="finKarHesap()" style="width:100%; padding:10px; background:#273c75; color:white; border:none; border-radius:4px; cursor:pointer; font-weight:bold;">Kâr Oranını Hesapla</button>
<div id="karSonuc" style="margin-top:8px; padding:8px; border-left:3px solid #273c75; font-size:14px; background:rgba(0,0,0,0.02);"></div>
</div>
</div>
<div id="geoMod" style="display:none; flex-direction:column; gap:10px;">
<label style="font-size:12px; font-weight:bold;">Geometrik Şekil Seçin:</label>
<select id="sekil" onchange="geoArayuzGuncelle()" style="padding:10px; border:1px solid #999; border-radius:4px; background:transparent; color:inherit;">
<option value="kare" style="color:#333;">Kare (Tek Kenar)</option>
<option value="dikdortgen" style="color:#333;">Dikdörtgen (İki Kenar)</option>
<option value="daire" style="color:#333;">Daire (Yarıçap)</option>
</select>
<div id="geoInputs">
<input type="number" id="gInput1" placeholder="Kenar Uzunluğu (cm)" style="width:100%; padding:10px; margin-bottom:5px; border:1px solid #999; border-radius:4px; background:transparent; color:inherit;">
<input type="number" id="gInput2" placeholder="Diğer Kenar Uzunluğu (cm)" style="width:100%; padding:10px; display:none; border:1px solid #999; border-radius:4px; background:transparent; color:inherit;">
</div>
<button onclick="geoHesap()" style="padding:12px; background:#44bd32; color:white; border:none; font-weight:bold; border-radius:4px; cursor:pointer;">Alan ve Çevre Hesapla</button>
<div id="geoSonuc" style="margin-top:10px; padding:10px; border-left:3px solid #44bd32; background:rgba(0,0,0,0.02); font-size:14px;"></div>
</div>
<div id="convMod" style="display:none; flex-direction:column; gap:10px;">
<label style="font-size:12px; font-weight:bold;">Kategori Seçin:</label>
<select id="convKategori" onchange="convKategoriGuncelle()" style="padding:10px; border:1px solid #999; border-radius:4px; background:transparent; color:inherit;">
<option value="uzunluk" style="color:#333;">Uzunluk (m, cm, km...)</option>
<option value="kutle" style="color:#333;">Kütle / Ağırlık (kg, g, ton...)</option>
<option value="sicaklik" style="color:#333;">Sıcaklık (°C, °F, K)</option>
<option value="veri" style="color:#333;">Dijital Veri (MB, GB, TB...)</option>
</select>
<div style="display:flex; gap:5px; align-items:center;">
<input type="number" id="convMiktar" placeholder="Miktar" style="flex:2; padding:10px; border:1px solid #999; border-radius:4px; background:transparent; color:inherit;">
<select id="convKaynak" style="flex:1.5; padding:10px; border:1px solid #999; border-radius:4px; background:transparent; color:inherit;"></select>
<span style="font-weight:bold;">➜</span>
<select id="convHedef" style="flex:1.5; padding:10px; border:1px solid #999; border-radius:4px; background:transparent; color:inherit;"></select>
</div>
<button onclick="convHesapla()" style="padding:12px; background:#44bd32; color:white; border:none; font-weight:bold; border-radius:4px; cursor:pointer;">Dönüştür</button>
<div id="convSonuc" style="margin-top:10px; padding:12px; font-weight:bold; color:#e84118; font-size:16px; text-align:center; border:1px dashed #e84118; background:rgba(232,65,24,0.03); border-radius:4px; display:none;"></div>
</div>
<div style="text-align:right; font-size:10px; margin-top:20px; border-top:1px dashed #ccc; padding-top:10px;">Araç: <a href="https://www.bilgincin.com" style="color:inherit; font-weight:bold;">bilgincin.com</a></div>
</div>
<script>
let ekran = document.getElementById('ekran');
// Birim Listeleri ve Katsayıları
const birimler = {
uzunluk: { m: 1, cm: 0.01, mm: 0.001, km: 1000, mile: 1609.34 },
kutle: { kg: 1, g: 0.001, mg: 0.000001, ton: 1000, lb: 0.453592 },
veri: { KB: 1, MB: 1024, GB: 1048576, TB: 1073741824 },
sicaklik: { C: "C", F: "F", K: "K" }
};
function ekle(v) { ekran.value += v; }
function temizle() { ekran.value = ''; }
function hesapla() {
try {
if(!ekran.value) return;
let res = eval(ekran.value);
if (Math.abs(res) < 0.01 && res !== 0) {
ekran.value = res.toExponential(4).replace('e', '10⁻');
} else {
ekran.value = Number(res.toFixed(6));
}
} catch(e) { ekran.value = 'Hata!'; }
}
function ozel(tip) {
let val = parseFloat(ekran.value);
if(isNaN(val)) return;
if(tip==='ust') val = Math.pow(val, 2);
if(tip==='kok') val = Math.sqrt(val);
if(tip==='sin') val = Math.sin(val * Math.PI / 180);
if(tip==='cos') val = Math.cos(val * Math.PI / 180);
if(tip==='tan') val = Math.tan(val * Math.PI / 180);
if(tip==='log') val = Math.log10(val);
if (Math.abs(val) < 0.01 && val !== 0) {
ekran.value = val.toExponential(4).replace('e', '10⁻');
} else {
ekran.value = Number(val.toFixed(6));
}
}
function setMod(m) {
const mods = ['std', 'sci', 'fin', 'geo', 'conv'];
mods.forEach(mod => {
let btn = document.getElementById('btn-' + mod);
if(mod === m) {
btn.style.background = '#44bd32';
btn.style.color = 'white';
} else {
btn.style.background = '#e0e0e0';
btn.style.color = '#333';
}
});
// EKRAN GİZLEME / GÖSTERME MANTIĞI
ekran.style.display = (m==='std' || m==='sci') ? 'block' : 'none';
document.getElementById('calcButtons').style.display = (m==='std'||m==='sci')?'grid':'none';
document.getElementById('esitBtn').style.gridColumn = m==='sci'?'span 4':'span 2';
for(let i=1; i<=6; i++) {
document.getElementById('sci' + i).style.display = m==='sci'?'block':'none';
}
document.getElementById('finMod').style.display = m==='fin'?'flex':'none';
document.getElementById('geoMod').style.display = m==='geo'?'flex':'none';
document.getElementById('convMod').style.display = m==='conv'?'flex':'none';
if(m === 'conv') convKategoriGuncelle();
}
function finKdvHesap() {
let t = parseFloat(document.getElementById('tutar').value);
let k = parseFloat(document.getElementById('kdv').value);
if(isNaN(t) || isNaN(k)) return;
let dh = t * (1 + k/100);
let hr = t / (1 + k/100);
document.getElementById('kdvSonuc').innerHTML = `KDV Dahil Tutar: <strong>${dh.toFixed(2)} TL</strong><br>KDV Hariç Tutar: <strong>${hr.toFixed(2)} TL</strong>`;
}
function finKarHesap() {
let mal = parseFloat(document.getElementById('maliyet').value);
let sat = parseFloat(document.getElementById('satis').value);
if(isNaN(mal) || isNaN(sat) || mal === 0) return;
let karMiktari = sat - mal;
let karYuzdesi = (karMiktari / mal) * 100;
document.getElementById('karSonuc').innerHTML = `Net Kâr: <strong>${karMiktari.toFixed(2)} TL</strong><br>Kâr Oranı: <strong>%${karYuzdesi.toFixed(2)}</strong>`;
}
function geoArayuzGuncelle() {
let s = document.getElementById('sekil').value;
document.getElementById('gInput1').placeholder = s === 'daire' ? 'Yarıçap (r) (cm)' : 'Kenar Uzunluğu (cm)';
document.getElementById('gInput2').style.display = s === 'dikdortgen' ? 'block' : 'none';
}
function geoHesap() {
let s = document.getElementById('sekil').value;
let v1 = parseFloat(document.getElementById('gInput1').value);
let v2 = parseFloat(document.getElementById('gInput2').value);
if(isNaN(v1)) return;
let a = 0, c = 0;
if(s==='kare') { a = v1*v1; c = 4*v1; }
else if(s==='dikdortgen') { if(isNaN(v2)) return; a = v1*v2; c = 2*(v1+v2); }
else if(s==='daire') { a = Math.PI*v1*v1; c = 2*Math.PI*v1; }
document.getElementById('geoSonuc').innerHTML = `Alan: <strong>${a.toFixed(2)} cm²</strong><br>Çevre: <strong>${c.toFixed(2)} cm</strong>`;
}
// FULL DÖNÜŞTÜRÜCÜ FONKSİYONLARI
function convKategoriGuncelle() {
let kat = document.getElementById('convKategori').value;
let kaynakSelect = document.getElementById('convKaynak');
let hedefSelect = document.getElementById('convHedef');
kaynakSelect.innerHTML = "";
hedefSelect.innerHTML = "";
Object.keys(birimler[kat]).forEach(b => {
kaynakSelect.options[kaynakSelect.options.length] = new Option(b, b);
hedefSelect.options[hedefSelect.options.length] = new Option(b, b);
});
}
function convHesapla() {
let kat = document.getElementById('convKategori').value;
let miktar = parseFloat(document.getElementById('convMiktar').value);
let kaynak = document.getElementById('convKaynak').value;
let hedef = document.getElementById('convHedef').value;
if(isNaN(miktar)) return;
let sonuc = 0;
if(kat === 'sicaklik') {
if(kaynak === hedef) sonuc = miktar;
else if(kaynak === 'C' && hedef === 'F') sonuc = (miktar * 9/5) + 32;
else if(kaynak === 'C' && hedef === 'K') sonuc = miktar + 273.15;
else if(kaynak === 'F' && hedef === 'C') sonuc = (miktar - 32) * 5/9;
else if(kaynak === 'F' && hedef === 'K') sonuc = (miktar - 32) * 5/9 + 273.15;
else if(kaynak === 'K' &&毀edef === 'C') sonuc = miktar - 273.15;
else if(kaynak === 'K' && hedef === 'F') sonuc = (miktar - 273.15) * 9/5 + 32;
} else {
// Önce temel birime çevir, sonra hedefe böl
let temelDeger = miktar * birimler[kat][kaynak];
sonuc = temelDeger / birimler[kat][hedef];
}
let sAlan = document.getElementById('convSonuc');
sAlan.innerHTML = `${miktar} ${kaynak} = <strong>${Number(sonuc.toFixed(4))} ${hedef}</strong>`;
sAlan.style.display = 'block';
}
document.addEventListener('keydown', (e) => {
if(ekran.style.display === 'none') return; // Ekran gizliyken klavye dinlemeyi devre dışı bırak
const activeEl = document.activeElement.tagName;
if(activeEl === 'INPUT' || activeEl === 'SELECT') return;
if((e.key >= '0' && e.key <= '9') || ['+','-','*','/','.','(',')'].includes(e.key)) {
e.preventDefault();
ekle(e.key);
}
if(e.key === 'Enter') { e.preventDefault(); hesapla(); }
if(e.key === 'Escape') { e.preventDefault(); temizle(); }
});
setMod('std');
</script>
