Ben konsol uygulaması olarak yaptım sen form uygulamasına göre uyarlarsın. Burada yaparkan ilk K'yı yaparkan karşısındakini de yapman gerekir.
Daha iyi ve kısa bir yöntemi olabilir şimdilik benim aklıma gelen bu. |
çok teşekkür ederim....consloda tam istediğim gibi....forma çevireyim hemen... |
Hatan yok, sonuna programi durduracak bir fonksiyon eklememissin program calisiyor ama senin goremeyecegin bir hizda kapaniyodur. cstdlib kutuphanesini include edip system("pause") fonksiyonunu cagir, sen entere basana kadar uygulama bekler. Veya conio.h kutuphanesini ekleyip getch() fonksiyonunu cagir program sen herhangibir tusa basana kadar beklesin |
@serkat çok teşekkür ederim. bir de genel bi şey sormak istiyorum, arkadaşlar bizim bi hesap makinesi ödevi vardı program istenilen şekilde çalışıyor fakat ödevde istenilen class oluşturma, prototip, kaynak kodu gibi ifadeler var ve ben bilmiyorum. ben bu class mantığını en iyi şekilde nasıl öğrenebilirim ve class eklerken programda ciddi değişiklikler yapmam gerekecek mi? |
arkadaşlar bazı merak ettiğim şeyler var daha yeni sayılırım C'de. Birincisi return ile değişkeni döndürmenin tam olarak manası ne? Döndürme derken nasıl döndürüyor yani? Bir de Pointerlarla ilgili aklıma bir şey takıldı. int *ptr şeklinde pointerı tanımlıyoruz örneğin daha sonra ptr = &x diyoruz x'in adresini tutması için bunun yerine direk &x i kullansak programda ne farkı var? |
Zorunluluk mu var 11'e bölünebilme kuralını uygulama ile :D
|
return geri dönüş değeri olarak tanımlanır. Örneğin siz bir fonksiyon tanımladığınızda, misal: x sayısının faktöriyelini belirleyen bir fonksiyon olsun. Fonksiyon x değerini parametre olarak alır, içerisinde işlemler yapar, ve x! değerini geri döndürür. main fonksiyonu içerisinde bu fonksiyonu çağırdığımızda gerekli işlemi yaptıktan sonra istediğimiz değeri bize yollar. C#'ta referans ve değer tipleri için konuşuyorum. Değer tipleri belleğin stack bölgesi dediğimiz alanda tutulurlar, değeri taşır. Hızlıca erişmek mümkündür. Referans türleri ise veri yerine adresi bellekte tutar ve o adresin gösterildiği yerde de veri tutulur. |
class'lar sınıflardır. Bunlar programı daha kolay kılmak için programı parçacıklara ayırmaktır. Aksine işi daha da kolaylaştırır. Belirli işlemleri yapacak classlar tanımlarsınız, programı dallandırırsınız yani. Karmaşık programları bir bütün olarak yapmak yerine, parçalar halinde yaparak birleştirirsiniz. |
Arkadaşım sana desem bilmiyorum. Sence öyle bir zorunluluk olsa neden kuralı uygulamayalım? |
aslinda burda oop 'un boyle ogretilemeyecegi ile ilgili gonderme yapmistim ama neyse bosver. |
Amaç algoritma mantığını geliştirmek olabilir. Bence güzel bir soru. Bir sonuca varılabilir, fakat çözüm mantığı bilinmeden benzer bir soru çözülemeyebilir. Olabildiğince zoru her zaman iyidir. |
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.
|
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"; } |
@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 :) |
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. |
Merhabalar benim de kücük bir sorunum var
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. |
Ö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.
|
Ama boyle bir sekilde olmuyor mu bu is ?
< Bu mesaj bu kişi tarafından değiştirildi garui -- 16 Ocak 2013; 16:30:04 >