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

Etiketlenen Kullanıcılar

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





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


Bu programda switch yapısını, while döngüsü ve fonksiyonları kullandık. Menü seçenekleriyle toplama, çarpma, ebob, ekok ve yer değiştirme işlemlerinden biri seçilip işlem sonuçları fonksiyonlar kullanılarak ekrana yazdırılıyor.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
#include<stdio.h> #include<conio.h> int topla(int,int,int); // bu satırda fonksiyonun prototipi verilmiştir // eger fonksiyonların prototipi main fonksiyonundan önce verilmezse fonsiyonun cagırıldıgı satıra gelindiginde // derleyici fonksiyonu tanıyamaz. // main den önce fonksiyonun prototipi verilmek yerine direk te tanımlanabilir. int carp(int,int,int); int ekok(int,int,int); int ebob(int,int,int); void yer_deg(int*,int*,int*); int main() { int sayi1,sayi2,sayi3; char tur; do { do{ printf("\t\tİSLEM SECENEKLERİ\n\n\n\n"); printf(" a)toplama islemi\n"); printf(" b)carpma islemi\n"); printf(" c)sayilarin ebobu\n"); printf(" d)sayilarin ekoku\n"); printf(" e)sayilarin yer degistirmesi\n"); printf(" f)cikis\n\t\t\t"); fflush(stdin); scanf("%c",&tur); if(tur=='f') return 0; // kullanıcı f tusladıgında program return yazısını görür ve sonlanır }while(tur!='a'&&tur!='b'&&tur!='c'&&tur!='d'&&tur!='e'); printf(" uc sayi girmeniz gerekmektedir.\n"); printf(" birinci sayi :"); scanf("%d",&sayi1); printf("\n"); printf(" ikinci sayi :"); scanf("%d",&sayi2); printf("\n"); printf(" ucuncu sayi :"); scanf("%d",&sayi3); printf("\n\t\t\tcevap:"); switch(tur) { case 'a': case 'A': { printf("%d",topla(sayi1,sayi2,sayi3)); // fonksiyon cagırılır islem yapıldıktan sonra sonuc yazdırılır break; } case 'b': case 'B': { printf("%d",carp(sayi1,sayi2,sayi3)); // fonksiyon cagırılır islem yapıldıktan sonra sonuc yazdırılır break; } case 'c': case 'C': { printf("%d",ebob(sayi1,sayi2,sayi3)); // fonksiyon cagırılır islem yapıldıktan sonra sonuc yazdırılır break; } case 'd': case 'D': { printf("%d",ekok(sayi1,sayi2,sayi3)); // fonksiyon cagırılır islem yapıldıktan sonra sonuc yazdırılır break; } case 'e': case'E': { yer_deg(&sayi1,&sayi2,&sayi3); // fonksiyon cagırılır islem yapıldıktan sonra sonuc yazdırılır printf("\n birinci sayi :%d\n\n",sayi1); // sayıların bırer kaydırılmıs halı yazılır printf(" ikinci sayi :%d\n\n",sayi2); printf(" ucuncu sayi :%d\n\n",sayi3); break; } } printf("\n\n"); } while(1); // sonsuz döngü içinde sonlandırmak için if yapısı kullanıldı } int topla(int a,int b,int c) { return a+b+c; // yukarıda fonksiyon ismi ve parametreleri okundugunda buraya gönderilir ve islem yapılır } // aynısı diger fonksiyonlar içnde gecerlidir int carp(int a,int b,int c) { return a*b*c; } int ebob(int a,int b,int c) { int bolunen,bolum,kalan,x,ebob1; if(a<b) { x=a; a=b; b=x; } bolunen=a;// ilk önce ilk iki sayinin ebobu alınır sonra bulunan ebobla ücüncü sayının ebobu alınır bolum=b; kalan=bolunen%bolum; while(kalan!=0) { bolunen=bolum; bolum=kalan; kalan=bolunen%bolum; } ebob1=bolum; if(ebob1<c) { x=ebob1; ebob1=c; c=x; } bolunen=ebob1; bolum=c; kalan=bolunen%bolum; while(kalan!=0) { bolunen=bolum; bolum=kalan; kalan=bolunen%bolum; } return bolum; } int ekok(int a,int b,int c) { return a*b*c/ebob( a, b, c); } void yer_deg(int *a,int *b,int *c) // yer degistirme işlemlerinde degerlerin adresleriyle islem yapılır // islemler degerlerin adresleri tutularak gerceklesir ki // sonradan bulunan sonuclar eski degerlerin üzerine yazdırılsın. // aksi taktirde yapılan islemler sonucunda bulunan degerler fonksiyon kapandıgında sona erer //diger islemlerde yeni sonuc elde edildigi için ve main fonksiyonu içindeki ana tabiri degiştirmeye gerek //duyulmadıgı için degişkenlerin önüne * konulması gerekmez.(referansla cagırmaya gerek duyulmaz.) { int x; x=*a; // bir değişkenin yerine diğerini atamadan önce o değişken baska bir yerde saklanır ki kaybolmasın. // x yerel değişkendir main fonksiyonunda kullanılmadığı için önüne * konulması gerekmez *a=*b; *b=*c; *c=x; }


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

IRCForumlari.NET Reklamlar
sohbet odaları eglen sohbet sohbet
Cevapla

Etiketler
fonksiyonla, işlem, matematiksel, menü, ve, İşlem


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 Mucizeler Zen İslamiyet 0 11 Aralık 2012 14:45
SQL Matematiksel İşlemler.. Zen vBulletin 0 03 Aralık 2012 13:11
Matematiksel Birleşme Liaaa Matematik 0 29 Mayıs 2012 19:11
Kaynak Kod:Faktöriyel hesaplama Geri dönüşümlü fonksiyonla MorfiN C ve C++ 0 28 Nisan 2012 10:29
Matematiksel Gösterim Liaaa Ödev ve Tezler 0 23 Mart 2012 17:37