Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
4171
Cevap
169659
Tıklama
3
Öne Çıkarma
Cevap: C/C++/C# Sorularınız Buraya. . .(GÜNCEL) (57. sayfa)
-
12 yıl
Yüzbaşı

quote:

Orijinalden alıntı: Seviyeli Yarbay

arkadaşlar c++ ödevim var hesap makinesi yapma.
ödevi aslında yaptım fakat class oluşturmam gerekiyormuş, en az 30 puan kırılacak ve ben nasıl oluşturulduğunu bilmiyorum. 2-3 saattir çalışıyorum fakat mantığını oturtamadım bi türlü uygulamaya koyamıyorum.

pazartesiye teslim etmem lazım, gerekirse internetten kopyala yapıştır yapacağım 0 almaktan iyidir.

tavsiye verebilecek, yardımcı olabilecek varsa çok memnun olurum.
aslında şu şekilde yazdım ama çeviremiyorum class'lı şekline.

 
#include <iostream>
using namespace std;
int main() {
float x,y,z;
cout<<"1. Sayi Degerini Giriniz : ";
cin>>x;
cout<<"2. Sayi Degerini Giriniz : ";
cin>>y;
cout<< "1-Toplama" << endl;
cout<< "2-Cikarma" << endl;
cout<< "3-Carpma" << endl;
cout<< "4-Bolme" << endl;
cout<<"Islem Turunu Giriniz : ";
cin>>z;
if (z<1 || z>4){
cout<<"Hata : 1-4 Arasi Bir Deger Giriniz";
}
if (z==1){
cout<<x+y;
}
if (z==2){
cout<<x-y;
}
if (z==3){
cout<<x*y;
}
if (z==4){
if(y==0){
cout<<"Tanimsiz";
}
else{
cout<<x/y;}
}
system( "PAUSE");
return 0;
}


Sınıf oluşturmak kolay aslında 2-3 saat neye, nereye baktın da anlamadın şaşırdım.

class HesapMakinesi
{
public:
int topla(int ilkDeger, int ikinciDeger) { return (ilkDeger + ikinciDeger);}
int cikart(int ilkDeger, int ikinciDeger) { return (ilkDeger - ikinciDeger);}
int carp(int ilkDeger, int ikinciDeger) { return (ilkDeger * ikinciDeger);}
int bol(int ilkDeger, int ikinciDeger) { return ikiciDeger == 0 ? -1 : (ilkDeger / ikinciDeger);} // ikinciDeger 0 ise -1 dönderir.
};

Bunu main'in üstüne yazacan. Sonra aşağıda ki kodu main içine senin if li yeri benim yazdığımla değiştir.

int secim = 0;
cout<<"Islem Turunu Giriniz : ";
cin>>secim;

HesapMakinesi *hMakinesi = new HesapMakinesi; // Sınıftan yeni nesne oluşturuyorum.

switch(secim)
{
case 1:
cout << hMakinesi->topla(x,y) << endl;
break;
case 2:
cout << hMakinesi->cikart(x,y) << endl;
break;
case 3:
cout << hMakinesi->carp(x,y) << endl;
break;
case 4:
cout << hMakinesi->bol(x,y) << endl;
break;
default:
cout << "Yanlis bir deger girdiniz!\n";
}


Bu mesaja 1 cevap geldi.
S
12 yıl
Yarbay

@source şimdi şöyle karışık bi durum var, bize direk c++ anlattılar ve sınıfta java görmeyenler olarak çok az bi bölümüz sürekli java üzerinden anlatılıyor neredeyse biz de arap gibi bakıyoruz. daha önce hiç alakadar da olmadım bu programlama işiyle o yüzden zorluk çekiyorum.

çok çok teşekkür ederim, ne desem az :)


Bu mesaja 1 cevap geldi.
-
12 yıl
Yüzbaşı

Rica ederim işine yaradıysa ne mutlu bana. C++ zaten OOP bir dildir. Ben daha hiç java görmedim bunun java ile alakası yok zaten.



S
12 yıl
Teğmen

Merhabalar benim de kücük bir sorunum var
 
int yil;

double miktar, anapara = 1000.0, oran = .05;

printf("%4s%21s\n", yil, depozito miktari);

for (yil = 1; yil <= 10; yil++){

miktar = anapara * pow(1.0 + oran, yil);

printf("%3d%21.2fn", yil, miktar);


sorularıma gelelim burada kullanılan %4s %21s falan bunlar ne işe yarıyor mesela %.2f şeklinde yazımların floatta virgülden sonra iki basamak göster şeklinde oldugunu biliyorum da s ve başında sayı olan d lerin ne işe yaradığını bilmiyorum şunları bi acıklayabilecek var mı ?


Bu mesaja 1 cevap geldi.
M
12 yıl
Yüzbaşı

quote:

Orijinalden alıntı: SaRpKaN

Merhabalar benim de kücük bir sorunum var
 
int yil;

double miktar, anapara = 1000.0, oran = .05;

printf("%4s%21s\n", yil, depozito miktari);

for (yil = 1; yil <= 10; yil++){

miktar = anapara * pow(1.0 + oran, yil);

printf("%3d%21.2fn", yil, miktar);


sorularıma gelelim burada kullanılan %4s %21s falan bunlar ne işe yarıyor mesela %.2f şeklinde yazımların floatta virgülden sonra iki basamak göster şeklinde oldugunu biliyorum da s ve başında sayı olan d lerin ne işe yaradığını bilmiyorum şunları bi acıklayabilecek var mı ?

Boşluk bırakmayı sağlar, iki değişkenin yazımı arasına boşluk bırakıp tablo oluşturmanızı sağlar. Yazılan karakter kadar boşluk bırakır.


Bu mesaja 1 cevap geldi.
Y
12 yıl
Yarbay

Örneğin d[10]={1,2,3,4,5,6,6,7,8,9,0} gibi bir dizimiz olsa program her başladığında dizideki elemanların sıralarının değişmesini nasıl sağlarız (yani rastgele dağılacak dizi kend içinde) ?

d={0,6,6,3,9,1,2,8,4,5} gibi başlayacak mesela her açılışta random atanıcak elemanların yerleri .

Biraz araştırdım shuffle fonksiyonu olacakmış fakat benim istediğimde dizideki elemanlar belli ve random oluşturulmayacaklar sadece yerleri değişecek .





< Bu mesaj bu kişi tarafından değiştirildi Yarr -- 20 Ocak 2013; 21:16:00 >
Bu mesaja 1 cevap geldi.
-
12 yıl
Yüzbaşı

quote:

Orijinalden alıntı: Yarr

Örneğin d[10]={1,2,3,4,5,6,6,7,8,9,0} gibi bir dizimiz olsa program her başladığında dizideki elemanların sıralarının değişmesini nasıl sağlarız (yani rastgele dağılacak dizi kend içinde) ?

d={0,6,6,3,9,1,2,8,4,5} gibi başlayacak mesela her açılışta random atanıcak elemanların yerleri .

Biraz araştırdım shuffle fonksiyonu olacakmış fakat benim istediğimde dizideki elemanlar belli ve random oluşturulmayacaklar sadece yerleri değişecek .

İlk yeni bir dizi oluştur. Sonra rastgele bir sayı üret ve o sayıyı yeni olusturduğun dizinin indexi olarak tut. Sonra o indexin olduğu yere dizinin ilk elemanını at. Ayrıca bu rastgele çıkan indexleri de ayrı bir dizide çıkıp çıkmadığını tut.

 
int d[10]={1,2,3,4,5,6,6,7,8,9};

int sayi = 0;
int yeniDizi[10] = {0};
bool flag[10] = {false};

for(int i = 0; i < 10; i++)
{
do{
sayi = rand() % 10;
}while(flag[sayi] == true); // Eğer ratgele üretilen sayı önceden çıkmışsa tekrar üretecek.

// Eğer rastgele çıkan sayı önceden çıkmamışsa dizinin elemanını ata
yeniDizi[sayi] = d[i];
flag[sayi] = true;
}

for each (int sayi in yeniDizi)
{
cout << sayi << endl;
}



N
12 yıl
Er

Klavyeden girilen bir N sayısına gore, 1’den başlayıp N sayısına kadar olan sayıların karesini ve karekökünü bulan bir MATLAB programı yazınız?
x karesi karekoku
_______________________
1 1 1.0000
bu programın çıktısını bu sekilde yanyana naıl alabilirim


Bu mesaja 1 cevap geldi.
M
12 yıl
Yüzbaşı

quote:

Orijinalden alıntı: no doubt

Klavyeden girilen bir N sayısına gore, 1’den başlayıp N sayısına kadar olan sayıların karesini ve karekökünü bulan bir MATLAB programı yazınız?
x karesi karekoku
_______________________
1 1 1.0000
bu programın çıktısını bu sekilde yanyana naıl alabilirim

Yukarıdaki gibi dönüşüm belirteçlerinde noktadan önce bırakılacak boşluk miktarı kadar rakam girin. %13.4f gibi.


Bu mesaja 1 cevap geldi.
M
12 yıl
Er

arkadaslar bir sorum var. c de ;
bir şirkette calısanlara 3 tip hediye dagıtılacaktır,her calısan 3 tip urundende istedigi kadar alabilmektedir.
1.tip 2tl
2.tip3tl
3.tip 4tl
adet bası maliyetlidir.
komut satırından sırası ile calısanların ; isim soyisim, hediye tipi(1 2 3) ,aldıkları mıktarlar giriliyor.
a)buna gore her tipten dagıtılan hediye maliyetlerini
b)2. türden en cok hediye alan calısanın ismini ve kac adet hediye aldıgını,
c)toplam dagıtılan hediye sayısını
main fonksiyonuna parametre aktarımı ile bulduran c programı yazınız....not(alınan hediyenin turu 1 2 3 olarak komut satırında veriliyor)
sınav sorumdu, argsay argvek ile yapılıyor soru.sıkıntı orda yok.
sıkıntı surda arkadaslar,
argsay[1] de 1. kişinin ismi soy ismi
argsay[2] aldıgı hediyenin turu, 1 mi 2 mi 3 mü veriliyor
argsay[3] te kac adet aldıgı veriliyor
diye dusundum.ancak sunu atladıgımı sonra farkettim,argsay 3 te tip bilgisi 1,2veya3, ama her tipten alabiliyor calısan,diyelim argsay3 te (2) olsun,bu durumda 1. ve 3. tipten kacar hediye aldıgını bulduramıyorum.yani mantıgı bir turlu kuramadım.
direk argvek3 te 1.tpten kac tane aldıgı
argvek4 te 2. tipten kac tane aldıgı
argvek5 te de 3. tipten kac tane aldıdıgı ni kabul edip cozsem istenenden farklı cozmus oluyorum.
elimden geldigince anlatmaya calsıtım ama baya karısık oldu sanırım,yardımcı olabilecek varsa cok sevinirim.anlamadıgınız yeri sorarsanız yine tekrar anlatırım,isteyen ozelden mesaj atabilir,gerekirse arıyım telde anlatıyım :D o kadar sinir bozdu bende :D


Bu mesaja 2 cevap geldi.
T
12 yıl
Yarbay

quote:

Orijinalden alıntı: matematikege

arkadaslar bir sorum var. c de ;
bir şirkette calısanlara 3 tip hediye dagıtılacaktır,her calısan 3 tip urundende istedigi kadar alabilmektedir.
1.tip 2tl
2.tip3tl
3.tip 4tl
adet bası maliyetlidir.
komut satırından sırası ile calısanların ; isim soyisim, hediye tipi(1 2 3) ,aldıkları mıktarlar giriliyor.
a)buna gore her tipten dagıtılan hediye maliyetlerini
b)2. türden en cok hediye alan calısanın ismini ve kac adet hediye aldıgını,
c)toplam dagıtılan hediye sayısını
main fonksiyonuna parametre aktarımı ile bulduran c programı yazınız....not(alınan hediyenin turu 1 2 3 olarak komut satırında veriliyor)
sınav sorumdu, argsay argvek ile yapılıyor soru.sıkıntı orda yok.
sıkıntı surda arkadaslar,
argsay[1] de 1. kişinin ismi soy ismi
argsay[2] aldıgı hediyenin turu, 1 mi 2 mi 3 mü veriliyor
argsay[3] te kac adet aldıgı veriliyor
diye dusundum.ancak sunu atladıgımı sonra farkettim,argsay 3 te tip bilgisi 1,2veya3, ama her tipten alabiliyor calısan,diyelim argsay3 te (2) olsun,bu durumda 1. ve 3. tipten kacar hediye aldıgını bulduramıyorum.yani mantıgı bir turlu kuramadım.
direk argvek3 te 1.tpten kac tane aldıgı
argvek4 te 2. tipten kac tane aldıgı
argvek5 te de 3. tipten kac tane aldıdıgı ni kabul edip cozsem istenenden farklı cozmus oluyorum.
elimden geldigince anlatmaya calsıtım ama baya karısık oldu sanırım,yardımcı olabilecek varsa cok sevinirim.anlamadıgınız yeri sorarsanız yine tekrar anlatırım,isteyen ozelden mesaj atabilir,gerekirse arıyım telde anlatıyım :D o kadar sinir bozdu bende :D

inputu anlamadim
isim soyisim, hediye tipi(1 2 3) ,aldıkları mıktarlar seklinde mi yani ornek

mehmet yilmaz,1, 5


Bir kac tane input ornegi yazarsan daha acik olur anlatmaya calistigin.


Bu mesaja 1 cevap geldi.
-
12 yıl
Yüzbaşı

quote:

Orijinalden alıntı: matematikege

komut satırından sırası ile calısanların ; isim soyisim, hediye tipi(1 2 3) ,aldıkları mıktarlar giriliyor.
a)buna gore her tipten dagıtılan hediye maliyetlerini
b)2. türden en cok hediye alan calısanın ismini ve kac adet hediye aldıgını,
c)toplam dagıtılan hediye sayısını
main fonksiyonuna parametre aktarımı ile bulduran c programı yazınız....not(alınan hediyenin turu 1 2 3 olarak komut satırında veriliyor)



Benim bu sorudan anladığım program çalışırken çalışanların isim soyisim, hediye tipi ve aldıkları miktarları girmen gerektiği. Ve bunları bir dosyaya kaydetmen gerektiği.
Sonra programa parametre vererek a,b ve c şıklarını hesaplaman gerektiğini düşünüyorum.

Program açıkken scanf ile normal bir şekilde kullanıcı ismini hediye tipini felan alıcaksın bunu da bir dosyaya kaydedeceksin. Dosyaya kaydetme sebebin ise sen programı kapatacaksın ve tekrar parametre vererek çalıştıracaksın. Program kapatınca aldığın veriler silinecek bu yüzden dosyaya kaydediyoruz.
a,b ve c şıklarındaki işlemleri yapman için programı şu şekilde çalıştırman lazım.
 
program.exe a
program exe b
program.exe c


ve ya hepsini tek seferde de alabilirsin.
 
program.exe a b c

Bunun içinde argc' yi kontrol edersin. Ona göre işlemleri alırsın.


Bu şekilde çağırıp sonra dosyadan tekrar o verileri alırsın sonra gerekli işlemi yaparsın.



M
12 yıl
Er

quote:

Orijinalden alıntı: ThisisaNightmare

quote:

Orijinalden alıntı: matematikege

arkadaslar bir sorum var. c de ;
bir şirkette calısanlara 3 tip hediye dagıtılacaktır,her calısan 3 tip urundende istedigi kadar alabilmektedir.
1.tip 2tl
2.tip3tl
3.tip 4tl
adet bası maliyetlidir.
komut satırından sırası ile calısanların ; isim soyisim, hediye tipi(1 2 3) ,aldıkları mıktarlar giriliyor.
a)buna gore her tipten dagıtılan hediye maliyetlerini
b)2. türden en cok hediye alan calısanın ismini ve kac adet hediye aldıgını,
c)toplam dagıtılan hediye sayısını
main fonksiyonuna parametre aktarımı ile bulduran c programı yazınız....not(alınan hediyenin turu 1 2 3 olarak komut satırında veriliyor)
sınav sorumdu, argsay argvek ile yapılıyor soru.sıkıntı orda yok.
sıkıntı surda arkadaslar,
argsay[1] de 1. kişinin ismi soy ismi
argsay[2] aldıgı hediyenin turu, 1 mi 2 mi 3 mü veriliyor
argsay[3] te kac adet aldıgı veriliyor
diye dusundum.ancak sunu atladıgımı sonra farkettim,argsay 3 te tip bilgisi 1,2veya3, ama her tipten alabiliyor calısan,diyelim argsay3 te (2) olsun,bu durumda 1. ve 3. tipten kacar hediye aldıgını bulduramıyorum.yani mantıgı bir turlu kuramadım.
direk argvek3 te 1.tpten kac tane aldıgı
argvek4 te 2. tipten kac tane aldıgı
argvek5 te de 3. tipten kac tane aldıdıgı ni kabul edip cozsem istenenden farklı cozmus oluyorum.
elimden geldigince anlatmaya calsıtım ama baya karısık oldu sanırım,yardımcı olabilecek varsa cok sevinirim.anlamadıgınız yeri sorarsanız yine tekrar anlatırım,isteyen ozelden mesaj atabilir,gerekirse arıyım telde anlatıyım :D o kadar sinir bozdu bende :D

inputu anlamadim
isim soyisim, hediye tipi(1 2 3) ,aldıkları mıktarlar seklinde mi yani ornek

mehmet yilmaz,1, 5


Bir kac tane input ornegi yazarsan daha acik olur anlatmaya calistigin.

hocam sunun gibi;
/*SORU 2 : Bir benzin istasyonunda satılan akaryakıt ürünlerinin fiyatları
aşağıdaki gibidir:
Süper benzin: 2.5 TL/Lt
Normal benzin: 2.4 TL/Lt
Motorin :1.3 TL/Lt
Benzin istasyonuna gelen her bir aracın sahibinin adı, aldığı akaryakıt tü
ve ödediği ücret (TL olarak) girildiğine göre,
a) Her bir akaryakıt türünden kaç litre satıldığını ve her bir akaryakıt
türünden elde edilen toplam geliri,
b) En çok satılan akaryakıt türünü,
c) En çok akaryakıtı ( ucret olarak ) alan müşterinin kaçıncı müşteri
olduğu, adı soyadı ve ödediği miktarı, bulup yazdıran bir programı main fonksiyonuna parametre aktarım
yazınız */

// super = 1 , normal = 2 , motorin = 3 girerek belirtilsin..
çözümü de şu şekilde;
#include <stdio.h>
#include <stdlib.h>
void main (int argc, char *argv[]){
float super_satilan=0;
float normal_satilan=0;
float motorin_satilan=0;
float enb;
int tur;
int super_gelir=0;
int normal_gelir=0;
int motorin_gelir=0;
int enb_yakit_mik=0;
int kim = 0;

int kacinci = 0;
for (int i=3; i<argc; i=i+4) {
kacinci = kacinci + 1;
if ((atoi(argv)) == 1){
// (odenen para /birim fiyat) = kac lt
super_satilan+=atoi(argv[i+1])/((float
super_gelir+=atoi(argv[i+1]);
} // (odenen para /birim fiyat) = kac lt satildigini verir.
if ((atoi(argv)) == 2){
normal_satilan+=atoi(argv[i+1])/((float)2.4);
normal_gelir+=atoi(argv[i+1]);
}
// (odenen para /birim fiyat) = kac lt satildigini verir.
if ((atoi(argv)) == 3){
motorin_satilan+=atoi(argv[i+1])/((float)1.3);
motorin_gelir+=atoi(argv[i+1]);
}
if ((atoi(argv[i+1])) > enb_yakit_mik){
enb_yakit_mik = (atoi(argv[i+1]));
kim = kacinci;
}
}
printf ("Super benzinden satilan miktar : %f \n", super_satilan);
printf ("Normal benzinden satilan miktar : %f \n", normal_satilan);
printf ("Motorinden satilan miktar : %f \n", motorin_satilan);

printf ("Super benzinden elde edilen gelir : %d \n", super_gelir);
printf ("Normal benzinden elde edilen gelir : %d \n", normal_gelir);
printf ("Motorinden elde edilen gelir : %d \n", motorin_gelir);

// en cok satilan tur hangisidir bulunur ve ekrana yazilir..
enb = super_satilan;
tur = 1;
if (normal_satilan > enb){
enb = normal_satilan;
tur = 2;

}
if (motorin_satilan > enb){
enb = motorin_satilan;
tur = 3;
}
switch (tur){
case 1 : printf ("en cok super benzin satildi\n");
break;
case 2 : printf ("en cok normal benzin satildi\n");
break;
case 3 : printf ("en cok motorin satildi\n");
break;
}
printf("En cok yakiti alan müsteri : %d. musteridir. \nAdi - Soyadi : %s
%s \nOdedigi Ucret : %d ' dir.", kim, argv[(kim-1)*4+1],argv[(kim-1)*4+2],
atoi(argv[kim*4]) );
}


Bu mesaja 2 cevap geldi.
N
12 yıl
Yüzbaşı

C dilini çok iyi bir şekilde öğrenmek istiyorum diğer güncel dilleri de tabi ki.Şimdi C'den başladım.Elimde eski bir kitap vardı Murat Taşbaşı'nın.Onunla az çok bir temel oluşturduğumu düşünüyorum.Ama bana biraz yetersiz kaldığını hissediyorum.Kitap önerebilir misiniz acaba ?


Bu mesaja 1 cevap geldi.
M
12 yıl
Er

burada sıkıntı şu hocam;
verdigim ornekte 1 kişi geliyor,bir benzin tipinden alıyor,ve ucretini oduyor gidiyor.
cozumundede ;

if ((atoi(argv)) == 1){
// (odenen para /birim fiyat) = kac lt satildigini verir
super_satilan+=atoi(argv[i+1])/((float)2.5);
super_gelir+=atoi(argv[i+1]);
}
// (odenen para /birim fiyat) = kac lt satildigini verir.
if ((atoi(argv)) == 2){
normal_satilan+=atoi(argv[i+1])/((float)2.4);
normal_gelir+=atoi(argv[i+1]);
}
// (odenen para /birim fiyat) = kac lt satildigini verir.
if ((atoi(argv)) == 3){
motorin_satilan+=atoi(argv[i+1])/((float)1.3);
motorin_gelir+=atoi(argv[i+1]);
}
if ((atoi(argv[i+1])) > enb_yakit_mik){
enb_yakit_mik = (atoi(argv[i+1]));
kim = kacinci;
}
İF YAPISI İLE HANGİ TURDEN ALDI İSE COZUM YAPILIYOR....BURADA SORUN YOK.
ANCAK SİZE SORMAK İSTEDİGİM ,İLK VERDİGİM SORUDA 1 KİŞİ GELİYOR,3 TİP HEDİYE VAR,VE HER TİPTEN HEDİYE ALABİLİYOR.
YANİ BİR MANTIK HATASI VAR GİBİ,ALDIGI HEDİYE TİPİ 1 2 3 OLARAK VERİLSİN DEMİŞ SORUDA,AMA 3 TİPTENDE ALABİLİYOR,COK İNCE BİR FARKLILIK VAR,BENZİN SORUSUNDA SADECE 1 TİP BENZİN SECEBİLİRKEN,HEDİYE SORUSUNDA HEM ALDGİ TİP 1 2 3 OLARAK VERİLECEK DİYOR,HEMDE HER TİPTEN İSTEDİGİ KADAR ALABİLİR DİYOR.
BEN SU SEKİLDE YAPMISTIM;
ARGVEK[1] İSİM SOYİSİM
ARGVEK[2] 1. TİPTEN ALDIGI HEDİYE SAYISI
ARGVEK[3] 2.TPTEN
ARGVEK[4] 3. TİPTEN ALDIGI HEDİYE SAYISINI VERSİN DİYEREK OLUSTURDUM PROGRAMI.
EKSİGİM SU, TİPİ BENZİN SORUSUNDAKİ GİBİ İF YAPISI İLE SORGULATMADIM...
ANLATABİLDİYSEM NE MUTLU,HİKAYE YAZDIM RESMEN AMA KUSURA BAKMAYIN,İLGİNİZ İÇİNDE TEŞEKKÜR EDERİM :)



K
12 yıl
Yüzbaşı

quote:

Orijinalden alıntı: £XE

Arkadaşlar buraya böyle bir konu açma ihtiyacı duydum. C/C++/C# da takıldığınız yerler olursa bu konu altında paylaşın. Ben ve diğer arkadaşlar elimizden geldikçe yardımcı olalım.


merhaba
C'ye yeni başladım.Turbo c++ ile derliyorum
 

#include<stdio.h>
#include<windows.h>
int main()
{
float a;
a=123456789.0;
printf("sayi %f",a);
Sleep(10000);
return 0;
}



kayan noktalı sayı ancak şöyle bir sorunum var.12345678 yazarsam sorunsuz gösteriyor.123456789 yazıp yani birde 9 eklersem sapıtıyor. Son basamaklarda başka sayılar çıkıyor bunun nedeni nedir ?


Bu mesaja 2 cevap geldi.
K
12 yıl
Yüzbaşı

quote:

Orijinalden alıntı: sarman29

C dilini çok iyi bir şekilde öğrenmek istiyorum diğer güncel dilleri de tabi ki.Şimdi C'den başladım.Elimde eski bir kitap vardı Murat Taşbaşı'nın.Onunla az çok bir temel oluşturduğumu düşünüyorum.Ama bana biraz yetersiz kaldığını hissediyorum.Kitap önerebilir misiniz acaba ?

Bende yeni başladım aşağıdaki kaynakları kullanıyorum.
http://www.cagataycebi.com/programming/index.html
Kitap olarak şerafettin arıkan-c programlama dili



K
12 yıl
Teğmen

quote:

Orijinalden alıntı: swearer

quote:

Orijinalden alıntı: £XE

Arkadaşlar buraya böyle bir konu açma ihtiyacı duydum. C/C++/C# da takıldığınız yerler olursa bu konu altında paylaşın. Ben ve diğer arkadaşlar elimizden geldikçe yardımcı olalım.


merhaba
C'ye yeni başladım.Turbo c++ ile derliyorum
 

#include<stdio.h>
#include<windows.h>
int main()
{
float a;
a=123456789.0;
printf("sayi %f",a);
Sleep(10000);
return 0;
}



kayan noktalı sayı ancak şöyle bir sorunum var.12345678 yazarsam sorunsuz gösteriyor.123456789 yazıp yani birde 9 eklersem sapıtıyor. Son basamaklarda başka sayılar çıkıyor bunun nedeni nedir ?

float tip yanlış bilmiyorsam belirli sayıda rakam gösteriyordu. esasında 16bit(yani 2byte) yazılımlarda 6 rakam gösterir diye hatırlıyorum, 32 bit olanlarda ise 10 rakam olması gerekir(yanlış olabilir). ama float bir tip +-(3.4e38) gibi bir sayıyı hafızada tutmanıza yarar. tipi double yaptığınızda daha 9 da görülecektir diye düşünüyorum.



-
12 yıl
Yüzbaşı

quote:

Orijinalden alıntı: swearer

quote:

Orijinalden alıntı: £XE

Arkadaşlar buraya böyle bir konu açma ihtiyacı duydum. C/C++/C# da takıldığınız yerler olursa bu konu altında paylaşın. Ben ve diğer arkadaşlar elimizden geldikçe yardımcı olalım.


merhaba
C'ye yeni başladım.Turbo c++ ile derliyorum
 

#include<stdio.h>
#include<windows.h>
int main()
{
float a;
a=123456789.0;
printf("sayi %f",a);
Sleep(10000);
return 0;
}



kayan noktalı sayı ancak şöyle bir sorunum var.12345678 yazarsam sorunsuz gösteriyor.123456789 yazıp yani birde 9 eklersem sapıtıyor. Son basamaklarda başka sayılar çıkıyor bunun nedeni nedir ?

http://www.learncpp.com/cpp-tutorial/25-floating-point-numbers/
Bu sayfa yardımcı olacaktır.



E
12 yıl
Yüzbaşı

quote:

Orijinalden alıntı: MrOwl

quote:

Orijinalden alıntı: Haxenkoff

quote:

Orijinalden alıntı: erkin0007

quote:

Orijinalden alıntı: Haxenkoff

quote:

Orijinalden alıntı: erkin0007

quote:

Orijinalden alıntı: Haxenkoff

quote:

Orijinalden alıntı: erkin0007

dögüler,diziler,fonksyonlar,if else,swich case kullanılmıyıcak.operatörler kullanılcak,bool vs
1.kullanıcıdan 2 sayı girmesini isteyin.busayıların tek mi çift mi olduğunu bulun.eğer tek ise ekrana "ikiside tek",eğer ikiside cift ise ekrana"ikiside çift" eğer birisi çift birisi çift ise "farklı sonuç"ifadeleri yazılsın


2. 3 sayı isteyin .sayılardan küçük olanlardan2 tanesini toplayın.ve sonucu en büyü sayı ile karşılaştırın.eğer 2 sayının toplamı,en büyük sayıdan büyük ise ekrana"tebrikler" değilse "malesef "yazdırın

Muhammed Mastar'ın eğitim seti mi var sende?

evet hocam

Sorduğun soruların cevabı zaten var dvd içeriğinde.

pc de dvd yok.


Bu soru if else kullanılmadan yapılır mı ki?

Zamanı geçmiş tekrarda sorulmadığı için tam cevaplamayacağım fakat yapılabilir. Boolean bize iki değer döndürüyor. if yapısı da doğru olup olmaması veya koşullu seçenekleri.

bool cevap=(sayi>=0 && sayi<=10)

olması durumunda sayi 0 ile 10 arasında ise true sonucu dönecektir. Bu da bir çeşit karşılaştırma mekanizmasıdır.

teşekkürler soru beni cevabımı aldım
diğer arkadaş
fazla takılmıyorum zaten bazı sorulara neyle yapabiliyosam yapıyorum