Merhaba arkadaşlar,
Bu dersimizde Java ile dolaylı bağlantısı olan C'nin bir özelliğine değineceğim.
Java kullanan herkez bilir ki, kullanıcıdan alınan bütün değerler Stringdir sonradan integer yada double dönüştürülür ve üstünde öyle işlem yapılır.
Örnek:
Kod:
Integer.parseInt(urunFiyatField.getText()));
Bu işlem sonucunda ürünFyatField'den alınan String değer integer'a dönüştürülür. Bu özelliği Java nereden almış bu dersimizde buna değineceğim.
Kod:
/*String değerler ile double değerleri ayrıştıran program*/
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>//strdot'u kullanmak için gerekli kütüphane.
int main(int argc, char *argv[]){
double d;//ondalıklı değişken.
char cumle[50];//karakter dizisi
char cumle2[50];//karakter dizisi
char *kuyrukPtr;//Pointer(gösterici) değişkeni
char *kuyrukPtr2;//Pointer(gösterici) değişkeni
int tus;
while(tus!=27){//tus ESC'ye basılmadığı sürece aşağı daki işlemleri yap.
printf("Double bir deger ile baslayan cumle giriniz : ");
gets(cumle);/*gets scanf fonksiyonu gibi kullanıcıdan sayı yada
karakter almasını sağlar.
Diziler aynı zamanda göstericidir o yüzden gets ile
&(adres operatörü) kullanmadan gösterilebilir.*/
printf("Double bir deger ile baslayan ikinci bir cumle giriniz : ");
gets(cumle2);
d=strtod(cumle,&kuyrukPtr);/*cumle dizisinin adresi
kuyrukPtr'ye kopyalanıyor.
Sonra strtod ile kuyrukPtr değişkenin içinde ki
double sayısı ayrıştırılyor */
d=strtod(cumle2,&kuyrukPtr2);/*cumle2 dizisinin adresi
*kuyrukPtr2'ye kopyalanıyor.
Sonra strtod ile kuyrukPtr değişkenin içinde ki double sayısı ayrıştırıluyor */
d=strtod(cumle,&kuyrukPtr)+strtod(cumle2,&kuyrukPtr2);/*Adresleri kopyalanıp
için de ki double sayıları tespit edilmiş gösterici
değişkenler toplanıyor. */
printf("Toplam TL %fn",d);//ardından toplanan double sayılar ekrana basılıyor.
printf("1. kuyruk = %sn",kuyrukPtr);//Ayrıştırılmış karakterler ekrana basılıyor
printf("2. kuyruk = %sn",kuyrukPtr2);
printf("Cikis icin ESC'ye basiniz .n");//Ayrıştırılmış karakterler ekrana basılıyor
tus=getch();//27'nin tuş olduğunu algılatma
}
system("PAUSE");//yapılan işlemin kullanıcı tarafından görünmesini sağladığı komut.
return 0;
}
Bu dersimizde Java ile dolaylı bağlantısı olan C'nin bir özelliğine değineceğim.
Java kullanan herkez bilir ki, kullanıcıdan alınan bütün değerler Stringdir sonradan integer yada double dönüştürülür ve üstünde öyle işlem yapılır.
Örnek:
Kod:
Integer.parseInt(urunFiyatField.getText()));
Bu işlem sonucunda ürünFyatField'den alınan String değer integer'a dönüştürülür. Bu özelliği Java nereden almış bu dersimizde buna değineceğim.
Kod:
/*String değerler ile double değerleri ayrıştıran program*/
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>//strdot'u kullanmak için gerekli kütüphane.
int main(int argc, char *argv[]){
double d;//ondalıklı değişken.
char cumle[50];//karakter dizisi
char cumle2[50];//karakter dizisi
char *kuyrukPtr;//Pointer(gösterici) değişkeni
char *kuyrukPtr2;//Pointer(gösterici) değişkeni
int tus;
while(tus!=27){//tus ESC'ye basılmadığı sürece aşağı daki işlemleri yap.
printf("Double bir deger ile baslayan cumle giriniz : ");
gets(cumle);/*gets scanf fonksiyonu gibi kullanıcıdan sayı yada
karakter almasını sağlar.
Diziler aynı zamanda göstericidir o yüzden gets ile
&(adres operatörü) kullanmadan gösterilebilir.*/
printf("Double bir deger ile baslayan ikinci bir cumle giriniz : ");
gets(cumle2);
d=strtod(cumle,&kuyrukPtr);/*cumle dizisinin adresi
kuyrukPtr'ye kopyalanıyor.
Sonra strtod ile kuyrukPtr değişkenin içinde ki
double sayısı ayrıştırılyor */
d=strtod(cumle2,&kuyrukPtr2);/*cumle2 dizisinin adresi
*kuyrukPtr2'ye kopyalanıyor.
Sonra strtod ile kuyrukPtr değişkenin içinde ki double sayısı ayrıştırıluyor */
d=strtod(cumle,&kuyrukPtr)+strtod(cumle2,&kuyrukPtr2);/*Adresleri kopyalanıp
için de ki double sayıları tespit edilmiş gösterici
değişkenler toplanıyor. */
printf("Toplam TL %fn",d);//ardından toplanan double sayılar ekrana basılıyor.
printf("1. kuyruk = %sn",kuyrukPtr);//Ayrıştırılmış karakterler ekrana basılıyor
printf("2. kuyruk = %sn",kuyrukPtr2);
printf("Cikis icin ESC'ye basiniz .n");//Ayrıştırılmış karakterler ekrana basılıyor
tus=getch();//27'nin tuş olduğunu algılatma
}
system("PAUSE");//yapılan işlemin kullanıcı tarafından görünmesini sağladığı komut.
return 0;
}