lostyazilim
tr.link

ceil($degisken) Hakkında ufak bir sorun

7 Mesajlar 1.045 Okunma
acebozum
tr.link

Aristocrat Aristocrat Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 29.11.2015
  • Yaş/Cinsiyet 35 / E
  • Meslek Turizm
  • Konum İzmir
  • Ad Soyad A** C**
  • Mesajlar 27
  • Beğeniler 21 / 2
  • Ticaret 0, (%0)
Selam arkadaşlar, takıldıgım bir nokta var yardımcı olursanız cok memnun olurum.

Ya sayıyı bölünce örnek 86.3333 gibi cıkıyor e tamam ben bunu ceil ile halledicem de nereye eklediysem olmadı :) Acaba nerede hata yapıyorum?


tamamını atıyorum formun :D





Php Dersleri








/*Kullanıcının vize 1 vize 2 ve final notları toplanıp 3 e bölünecek, eğer 60 üzerindeyse sınavı geçicek, 50-55 arası ise, yaz okuluna kalacak.
ve
50 altındaysa kalıcak.*/

define('gecme_notu', 60);
$vize1 = htmlspecialchars(trim($_POST['vize1']));
$vize2 = htmlspecialchars(trim($_POST['vize2']));
$final = htmlspecialchars(trim($_POST['final']));
$sonuc = ($vize1 + $vize2 + $final) / 3;
$durum = array("Tebrikler! Okulu geçtiniz. Notunuz : ",
"Yaz okuluna kaldınız. Bu yaz yine okuldasınız! Notunuz : ",
"Not değerlemeniz bir üst sınıfa geçmek için yeterli bulunmamıştır. Notunuz : ", );
if($_POST)
{
if($sonuc >=65)
{
$ceil($sonuc);
$yazdir = "$durum[0] $sonuc";
}
}
echo '
































1. Vize Notunuz 

'.$vize1.'

2. Vize Notunuz 

'.$vize2.'

Final Notunuz 

'.$final.'


>>>>>>>>'.$yazdir.' <<<<<<<<<<





'; ?>






Şimdiden çok teşekkürler :)
 

 

elektronikssl
webimgo

OZone OZone www.webscriptim.com Kullanıcı
  • Üyelik 21.02.2014
  • Yaş/Cinsiyet 38 / E
  • Meslek Bilgi İşlem Danışmanlığı
  • Konum Adana
  • Ad Soyad V** K**
  • Mesajlar 89
  • Beğeniler 44 / 34
  • Ticaret 7, (%100)
Aristocrat merhaba ben php programcısı değilim lakin kullandığım kadarı ile bu komutlar yuvarlama komutu ceil üste yuvarlar floor ise alta yuvarlar round tam sayıya alta yada yumarıya yuvarlama yapar kullanımları aşağıda var sen komut olarak girmişsin kod olarak değil bende tam olarak bilmiyorum lakin bu şekilde doğru olucaktır.





Php Dersleri








/*Kullanıcının vize 1 vize 2 ve final notları toplanıp 3 e bölünecek, eğer 60 üzerindeyse sınavı geçicek, 50-55 arası ise, yaz okuluna kalacak.
ve
50 altındaysa kalıcak.*/

define('gecme_notu', 60);
$vize1 = htmlspecialchars(trim($_POST['vize1']));
$vize2 = htmlspecialchars(trim($_POST['vize2']));
$final = htmlspecialchars(trim($_POST['final']));
$sonuc = ($vize1 + $vize2 + $final) / 3;
$durum = array("Tebrikler! Okulu geçtiniz. Notunuz : ",
"Yaz okuluna kaldınız. Bu yaz yine okuldasınız! Notunuz : ",
"Not değerlemeniz bir üst sınıfa geçmek için yeterli bulunmamıştır. Notunuz : ", );
if($_POST)
{
if($sonuc >=65)
{
echo ceil($sonuc);
$yazdir = "$durum[0] echo ceil $sonuc";
}
}
echo '
































1. Vize Notunuz 

'.$vize1.'

2. Vize Notunuz 

'.$vize2.'

Final Notunuz 

'.$final.'


>>>>>>>>'.$yazdir.' <<<<<<<<<<





'; ?>






Ben yerinde olsam round kodu kullanırdım bu şekilde 64,33 alan birisinin notunu 64 yada 64,75 olan bir notuda 65 olarak yansıtır hatta 64,50 nutoda 65 olarak yansıtır bu şekilde daha verimli sonuçlar alıcasın yanlış bir yazımım varsa özür dilerim.
Aristocrat

kişi bu mesajı beğendi.

brkrtp brkrtp Mobile App Developer Kullanıcı
  • Üyelik 24.08.2013
  • Yaş/Cinsiyet 31 / E
  • Meslek Mobile App Developer
  • Konum İstanbul Anadolu
  • Ad Soyad B** K**
  • Mesajlar 964
  • Beğeniler 269 / 251
  • Ticaret 31, (%97)
Fonksyonların başında $ işareti kullanılmaz $ceil yalnış.
$virgullusayi=69.555555555555555555555;
$yuvarla=ceil($virgullusayi);
echo $yuvarla; ///////// 70
Aristocrat

kişi bu mesajı beğendi.

Aristocrat Aristocrat Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 29.11.2015
  • Yaş/Cinsiyet 35 / E
  • Meslek Turizm
  • Konum İzmir
  • Ad Soyad A** C**
  • Mesajlar 27
  • Beğeniler 21 / 2
  • Ticaret 0, (%0)
Çok teşekkürler herşey için, ama ondan ziyade ben şurada hata alıyorum ;



define('gecme_notu', 60);
$vize1 = htmlspecialchars(trim($_POST['vize1']));
$vize2 = htmlspecialchars(trim($_POST['vize2']));
$final = htmlspecialchars(trim($_POST['final']));
$sonuc = ($vize1 + $vize2 + $final) / 3;
$durum = array("Tebrikler! Okulu geçtiniz. Notunuz : ",
"Yaz okuluna kaldınız. Bu yaz yine okuldasınız! Notunuz : ",
"Not değerlemeniz bir üst sınıfa geçmek için yeterli bulunmamıştır. Notunuz : ", );
if($_POST)
{
if($sonuc >=65)
{
ceil($sonuc);
$yazdir = "$durum[0] $sonuc";
}
}

>>>>>>>>'.$yazdir.' <<<<<<<<<<



yukarıda $yazdir degiskenine atama yapmıs olmama ragmen, paragraf arasında $yazdir dediğim zaman, bu sayi yine sallıyorum 6,66666 gibi cıkmaktadır.
OZone

kişi bu mesajı beğendi.

wmaraci
wmaraci

OZone OZone www.webscriptim.com Kullanıcı
  • Üyelik 21.02.2014
  • Yaş/Cinsiyet 38 / E
  • Meslek Bilgi İşlem Danışmanlığı
  • Konum Adana
  • Ad Soyad V** K**
  • Mesajlar 89
  • Beğeniler 44 / 34
  • Ticaret 7, (%100)
ceil kodunun önüne echo komutunu yaz bu şekilde yalın kullanılmaz.
Aristocrat

kişi bu mesajı beğendi.

brkrtp brkrtp Mobile App Developer Kullanıcı
  • Üyelik 24.08.2013
  • Yaş/Cinsiyet 31 / E
  • Meslek Mobile App Developer
  • Konum İstanbul Anadolu
  • Ad Soyad B** K**
  • Mesajlar 964
  • Beğeniler 269 / 251
  • Ticaret 31, (%97)


Kodlarınızın çoğu neredeyse yalnış eğer bu halle çalışıyorsa error almadan şöyle değiştirin;
$sonuc = ceil(($vize1 + $vize2 + $final) / 3);
Aristocrat

kişi bu mesajı beğendi.

Aristocrat Aristocrat Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 29.11.2015
  • Yaş/Cinsiyet 35 / E
  • Meslek Turizm
  • Konum İzmir
  • Ad Soyad A** C**
  • Mesajlar 27
  • Beğeniler 21 / 2
  • Ticaret 0, (%0)
Herkese ayrı ayrı çok ama çok teşekkür ederim.

Artık doğru bir şekilde evet çalışıyor


$sonuc = ceil(($vize1 + $vize2 + $final) / 3);

Ama bir arkadaşımız da güzel bişey söyledi üst satırlarda, ceil yerine round :)

Çok teşekkürler ilginiz için Allah razı olsun hepinizden:)
 

 

wmaraci
wmaraci
Konuyu toplam 8 kişi okuyor. (0 kullanıcı ve 8 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al