IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası
  sohbet

 Kayıt ol  Topluluk
Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 27 Şubat 2012, 18:23   #1
Çevrimdışı
aSi
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Butonlu İşlemler





Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


Kod:   Kodu kopyalamak için üzerine çift tıklayın!
#include<stdio.h> #include<conio.h> #include<stdlib.h> #include<windows.h> void git(int x,int y)//istediğimiz koordinata gitmemizi sağlayan fonksiyon. { COORD koord; koord.X = x; koord.Y = y; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), koord); } void normal()//butonların ilk halini çizdiren fonksiyon { int i,j,k,a=4,b=1;//ilk çizimi a ve 5 (4,1) koordinatıyla başlatır. int tek=1; for(k=1;k<=5;k++)//5 tane buton çizmeye yarar. { tek=1; //3 satir ucgenin her satirindaki yıldız sayısı.(asagida 2 şer artıracağız.) xxxxxxxxxxx b=1; for(i=1;i<=3;i++)//ücgenin satır sayısı { for(j=1;j<=tek;j++)//üçgeni çiz { if(j==1)//j döngüne girince j=1 iken.. git(a,b);//.. ucgenın cizimin baslangıc noktasına git if(tek==1)//geçenki programda üstte kalan tek yıldızı sildim daha güzel bir görüntü ortaya çıktı. printf(" "); else printf("*");//tek sayısı kadar yıldızı yazdır. } a--;//burada a'yı azaltıp b'yi artırdıkça ucgen cızıminin baslanngıc noktası .. b++;//..değişip (4,1) (3,2) (2,3)... şeklinde olacaktır. tek+=2;//teki artıracagımızı yukarıdaki xxxx le işaretli satırda söylemiştim. } a++; git(a,b); printf("* *");//butonun alt kısmını çizdirdik. b++; git(a,b); for(i=1;i<=5;i++)//butonun tabanını çizdirdik. printf("*"); a+=11;//programın diğer butonlara geçiş mantığı burada a sayısını kaç artırdığımıza bağlıdır.. } //su an degeri 2 iken en son degerine 11 ekledık.. //sonuc olarak diğer butonları geçişte kullanacağımız sayı 11-2 sonucundan 9 olur.. //bunu anti fonksıyonunda daha net göreceğiz. } void anti(int,float,float);//anti fonksiyonunu aşağıda inceleyelim. main() { int sayi,x,y,kontrol=0; while(1)//Sonsuz döngü { if(kontrol==0) { git(0,20);//rastgele aşağıda bir satıra.. printf("1.sayi : ");//..bunu yazdır. scanf("%d",&x); printf("2.sayi : ");//..bunu yazdır. scanf("%d",&y); printf("\n1 2 3 4 5 tuslariyla islemleri seciniz."); kontrol++; } normal();//butonların ilk halini çiz.. printf("\n\n + - * / %%"); anti(sayi,x,y);//kaç numaralı butona basacağımızı belirler. Sleep(150);//bu komut programı bekleterek butona basıp çekme efekti sağlar. } } void anti(int deger,float c,float d)//anti fonksiyonu ekrandaki butonu siler,yerine basılmış haldeki butonu çizer. { int i,j,k,a,b; deger=getch();//tuşa bastığımız anda o tuşun ascii kodunu alarak entera basmadan işlem yapar. if(deger==49)//1'in ascii kodu { a=2; b=1; git(a,b); for(i=2;i<=6;i++) //(2,1),(3,1),(4,1),(5,1),(6,1) { //(2,2),(3,2),(4,2),(5,2),(6,2) for(j=1;j<=5;j++) //(2,3),(3,3),(4,3),(5,3),(6,3) { //(2,4),(3,4),(4,4),(5,4),(6,4) git(i,j); //(2,5),(3,5),(4,5),(5,5),(6,5) printf(" "); } //koordinatlarına bosluk degeri atıp yok ediyoruz. } for(i=3;i<=5;i++) { git(2,i); for(j=1;j<=5;j++) printf("*"); } for(i=0;i<=79;i++)//tüm satirin degerlerini silmemizi saglar.yoksa tüm değerler beraber gösterilir. { git(i,9); printf(" "); } git(3,9); printf("%.f",c+d); } if(deger==50) //Hatırlarsanız normal fonksiyonunun içinde 9 sayısından bahsetmiştim.. { //deger==49 un içindeki koordinat değerlerini artırmak diğer butonlara.. a=11; //geçişi sağlar.Aynı şeyler asağıdaki butonlar için de geçerlidir. b=1; git(a,b); for(i=11;i<=15;i++)//az önce 2 olan değer şimdi 11,tıpkı 6'nın 15 olması gibi. { for(j=1;j<=5;j++) { git(i,j); printf(" "); } } for(i=3;i<=5;i++) { git(11,i);//burada da arttığını görüyoruz. for(j=1;j<=5;j++) printf("*"); } for(i=0;i<=79;i++) { git(i,9); printf(" "); } git(13,9); printf("%.f",c-d); } if(deger==51) { a=20; b=1; git(a,b); for(i=20;i<=24;i++) { for(j=1;j<=5;j++) { git(i,j); printf(" "); } } for(i=3;i<=5;i++) { git(20,i); for(j=1;j<=5;j++) printf("*"); } for(i=0;i<=79;i++) { git(i,9); printf(" "); } git(21,9); printf("%.f",c*d); } if(deger==52) { a=29; b=1; git(a,b); for(i=29;i<=33;i++) { for(j=1;j<=5;j++) { git(i,j); printf(" "); } } for(i=3;i<=5;i++) { git(29,i); for(j=1;j<=5;j++) printf("*"); } for(i=0;i<=79;i++) { git(i,9); printf(" "); } git(31,9); printf("%.2f",c/d); } if(deger==53) { a=38; b=1; git(a,b); for(i=38;i<=42;i++) { for(j=1;j<=5;j++) { git(i,j); printf(" "); } } for(i=3;i<=5;i++) { git(38,i); for(j=1;j<=5;j++) printf("*"); } for(i=0;i<=79;i++) { git(i,9); printf(" "); } int s,r; s=c; //int değerine çevirip modunu alalım yoksa mod float değerinde hata verir. r=d; git(40,9); printf("%d",s%r); } }


__________________
Doğruları biliyorsan, yalanları dinlemek eğlencelidir.
 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları reklam ver Benimmekan Mobil Sohbet
Cevapla

Etiketler
butonlu, işlemler, İşlemler


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Açık
Refbacks are Açık


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
Matematiksel İşlemler ve Foyalar (Bakınız! :P) bLackStar Komik Loglar 2 18 Mart 2005 17:48