ASP – Hesap Makinesi

12
133
ASP
ASP (Active Server Pages)

ASP’de basit bir şekilde, form yardımıyla 4 temel işlemi (toplama,çıkarma,çarpma,bölme) yapalım. Bu şekilde hesap makinelerini javascript,java,jquery gibi dillerde de yapabilirsiniz. Burdaki amaç basit şekilde ASP ile öğrenelim.

Hesap Makinesi
Hesap Makinesi

Öncelikle sadece HTML olarak formu yerleştireceğimiz bir giriş sayfası yapalım. Adı “HesapMakinesi.asp” olsun. Başına standart kodları koyarsınız. Direkt form kısmına gelelim.

<form action="Hesapla.asp" method="post">
<b>İlk Sayı:</b> <input type="text" name="ilksayi" /><br />
<b>İkinci Sayı:</b> <input type="text" name="ikincisayi" /><br />
<b>İşlem:</b> <select name="islem"><option value="toplama">Toplama</option><option value="cikarma">Çıkarma</option><option value="carpma">Çarpma</option><option value="bolme">Bölme</option></select><br />
<input type="submit" value="Hesapla" />
</form>

Bu şekilde formumuzu hazırladık. Burda birinci sayıyı giricek, altına ikinci sayı ve onun altından işlemi seçip hesaplaya bastığında sonucu versin. Şimdide formun gideceği “Hesapla.asp” dosyamızı yapalım.

<%
' Once formları tanimlayalim
Birinci = Cint(Request.Form("ilksayi"))  'ilksayi degerini aldik
Sonuncu = Cint(Request.Form("ikincisayi")) 'ikincisayi degerini aldik
islem = Request.Form("islem") 'hangi islemi yapacagini cektik
' Simdi kutucukları doldurmus mu kontrol edelim

If Birinci="" Then ' Eger Birinci Sayi Girilmediyse
Response.Write "<script>javascript:alert('Birinci Sayıyı Girmediğinde Vericek Hata Mesajı')</script>"
Response.Write "<br />" ' alt satira gecsin
Response.Write "<script>location='HesapMakinesi.asp'</script>" ' HesapMakinesi.asp ye gitsin
Response.End ' Sayfanın devamını gostermiyelim Cunku birinci sayi yok
End If ' Girildiyse birsey yapma

If Sonuncu="" Then ' Eger ikinci sayi girilmediyse
Response.Write "<script>javascript:alert('İkinci Sayıyı Girmediğinde Vericek Hata Mesajı')</script>"
Response.Write "<script>location='HesapMakinesi.asp'</script>" ' HesapMakinesi.asp ye gitsin
Response.End ' Sayfanın devamını gostermiyelim Cunku ikinci sayi yok
End If ' Girildiyse birsey yapma

If islem="toplama" Then 'toplama istiyorsa
Response.Write "Buraya sonuç tarzı yazmak istediğiniz yazı: "& Birinci + Sonuncu 'sayilari topla ve ekrana yaz
Response.End ' toplama istediyse gerisine bakmasin
End If ' islem toplama ise bu kismi gosterdik

If islem="cikarma" Then 'cikarma istiyorsa
Response.Write "Sonuç: "& Birinci – Sonuncu ' birinciden ikinciyi cikar ve ekrana yazdir
Response.End
End If

If islem="carpma" Then 'carpma istiyorsa
Response.Write "Sonuç: "& Birinci * Sonuncu ' sayilari carp ve ekrana yazdir
Response.End
End If

If islem="bolme" Then 'bolme istiyorsa
Response.Write "Sonuç: "& Birinci / Sonuncu ' birinciyi ikinciye bol ve ekrana yazdir
Response.End
End If
%>

Yukarıda formdan gelen verileri tanımlarken Cint diye bir dönüştürücü kullandık, bu olmadan toplama işleminde sayıları yan yana yazar ve toplamaz (Mesela: Birinci Sayı 1, ikinci sayı 2 olsun, Cint kullanmadan önce toplama işleminde sonuç 12dir. Cint’i kullandığımızda sonuç 3 olucaktır).

12 YORUMLAR

  1. peki mesala ben işlemi devam ettirmek istiyorum yani 2*5=10 sonucunu verdi ve ben üstüne 5 daha eklemek istiyorum işlemi devam eetirmek istiyorum onu yasıl yapabiilirim ??

    • İşlem sayınız sınırlı olacaksa yani örnekteki gibi bir işlemden sonra 1 tane daha işlem olacaksa çıkan sonucu bir input alanına yazdırıp işlemi tekrarlatabilirsiniz.
      Veya işlemler sürekli devam etsin isterseniz işlem sonucunu ilksayi input alanına yazıp kullanıcının tekrar işlemi ve işlem yapılacak sayıyı girmesini sağlıyabilirsiniz.

  2. Anladım İlginize Çok Teşekkür ederim ancak sizden küçük bir istirhamım olacak sadece input kodunu yazabilirmisiniz acaba ?? Çünkü yarın ödevi teslim etmem lazım yazdığınız kod çok işime yaradı size minnettarım tekrar tekrar teşekkür ederim ..

    • Response.Write "Sonuç" yazan yerler yerine aşağıdaki şekilde asp sonucunda
      tekrar form yazırabilirsiniz. Daha kolay olması için öncelikle işlem sonucunu
      ekrana yazmak yerine değişkene atayalım. Örnek olarak toplama işlemi için
      yapıyorum:

      <% TOPLAMA ISLEMINE KADAR OLAN KISIMLARDA DEGISIKLIK YAPMAYA GEREK YOK

      If Napim=”toplama” Then ‘toplama istiyorsa
      IslemSonucu = Birinci + Sonuncu ‘sayilari topla ve IslemSonucu değişkenine ata
      End If ‘ islem toplama ise bu kismi gosterdik
      %>

      * Hesapla.asp sayfasına ilksayi input alanına value=”< %=IslemSonucu%>” ekleyerek gelen değeri otomatik birinci alana yazdırabilirsiniz.

      * işlem sonuçlarında response.end ile devamını gösterme demiştik eğer response.end kaldırmazsak formu aşağıda yazmaz. Her işlem If – End If şeklinde tek tek belirtilmişti daha kolay gösterebilmek için, onun yerine If – ElseIf – End If şeklinde kullanırsanız daha sağlıklı olacaktır.

CEVAP VER

Lütfen yorumunuzu yazın
Lütfen adınızı ve soyadınızı yazın.