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

quote:

Orijinalden alıntı: GhilleintheMist

Şuan döngüler, array, pointerlar, classlar,operatorler(clsslardaki operatörler falan) hakkında biraz bilgim var, yani sınırlarını bilmediğim için biliyorum diyemiyorum :) bundan sonra nasıl devam etmeliyim? ilerisi için napcğaımla ilgili hiç bi fikrim yok.

ayrıca birde sorum var;
this pointerı ne işe yarıyor alamadım tam olarak? küçük bi örnek kod falan göstereiblirseniz çok sevinirim

Aslında ben de senin gibiyim biraz biliyorum ama daha fazlasını öğrenmek için yaptığım yöntemi söyleyeyim. C++ forumlarını takip ediyorum. Buralarda sorulan sorulara cevap vermeye çalışıyorum. Yanlış cevap vermemek için bildiğim bir şeyi tekrar araştırıyorum. Böylece onun hakkında daha fazla şey öğrenebiliyorum. Ayrıca bol bol alıştırma yapmak, kod yazmak lazım bildiklermizin iyice oturması için. Bunun için projecteuler.net gibi sitelere bakabilirsin. Analitik düşünme yeteneği kazandırır sana ilerde karşına çıkacak sorunlarla daha kolay başa çıkmanı sağlar. Ayrıca internette gezerken C++'da bildiğin bir konuda makale karşına çıktı diyelim. Ben bunu biliyorum diyerek okumamazlık etme, gördüğün her bir şeyi oku. Ayrıca bu kouların yanında STL'e bak. C++11'i incele kullanmayı dene. Ne gibi değişiklikler olduğunu kendin gör. Şimdilik aklıma gelenler bunlar.

Sorun için küçük bir örnek yazdım.
Burada setX fonksiyonundan gelen parametre ile sınıfın private üyesi olan x aynı isimli. Bununla herhangi bir çakışma, karmaşıklık olmaması için, sınıfında ki x'e ulaşmak için this->x diyoruz. Kısaca burada ki this senin o sınıfını ifade ediyor.
 
#include <iostream>
using namespace std;

class A
{
private:
int x;
public:
void setX(int x)
{
this->x = x;
}

int getX() { return x; }
};

int main()
{
A a;
a.setX(5);
cout << a.getX() << endl;
return 0;
}



Daha geniş bilgi için: MSDN, IBM





< Bu mesaj bu kişi tarafından değiştirildi -Source- -- 4 Şubat 2013; 17:25:53 >
Bu mesaja 2 cevap geldi.
L
12 yıl
Yarbay

quote:

Orijinalden alıntı: -Source-

quote:

Orijinalden alıntı: GhilleintheMist

Şuan döngüler, array, pointerlar, classlar,operatorler(clsslardaki operatörler falan) hakkında biraz bilgim var, yani sınırlarını bilmediğim için biliyorum diyemiyorum :) bundan sonra nasıl devam etmeliyim? ilerisi için napcğaımla ilgili hiç bi fikrim yok.

ayrıca birde sorum var;
this pointerı ne işe yarıyor alamadım tam olarak? küçük bi örnek kod falan göstereiblirseniz çok sevinirim

Aslında ben de senin gibiyim biraz biliyorum ama daha fazlasını öğrenmek için yaptığım yöntemi söyleyeyim. C++ forumlarını takip ediyorum. Buralarda sorulan sorulara cevap vermeye çalışıyorum. Yanlış cevap vermemek için bildiğim bir şeyi tekrar araştırıyorum. Böylece onun hakkında daha fazla şey öğrenebiliyorum. Ayrıca bol bol alıştırma yapmak, kod yazmak lazım bildiklermizin iyice oturması için. Bunun için projecteuler.net gibi sitelere bakabilirsin. Analitik düşünme yeteneği kazandırır sana ilerde karşına çıkacak sorunlarla daha kolay başa çıkmanı sağlar. Ayrıca internette gezerken C++'da bildiğin bir konuda makale karşına çıktı diyelim. Ben bunu biliyorum diyerek okumamazlık etme, gördüğün her bir şeyi oku. Ayrıca bu kouların yanında STL'e bak. C++11'i incele kullanmayı dene. Ne gibi değişiklikler olduğunu kendin gör. Şimdilik aklıma gelenler bunlar.

Sorun için küçük bir örnek yazdım.
Burada setX fonksiyonundan gelen parametre ile sınıfın private üyesi olan x aynı isimli. Bununla herhangi bir çakışma, karmaşıklık olmaması için, sınıfında ki x'e ulaşmak için this->x diyoruz. Kısaca burada ki this senin o sınıfını ifade ediyor.
 
#include <iostream>
using namespace std;

class A
{
private:
int x;
public:
void setX(int x)
{
this->x = x;
}

int getX() { return x; }
};

int main()
{
A a;
a.setX(5);
cout << a.getX() << endl;
return 0;
}



Daha geniş bilgi için: MSDN, IBM

Her iki sorumada sayenizde cevap buldum teşekkürler :)

O verdiğiniz kodu compile ettikten sonra bide this olmadan compile ettim. O zaman memoryde eski bir uygulamadan kalan bi değer geldi. Anladığım kadarıyla değişken isimlerini ayrı koyarsak sorun yok. yani


  #include <iostream> 
using namespace std;
class A
{
private:
int x;
public:
void setX(int y)
{
x = y;
}

int getX() { return x; }
};

int main()
{
A a;
a.setX(5);
cout << a.getX() << endl;
return 0;
}

yapsak. Açıkçası bu tip bi kullanım bana daha düzgün geldi. değişken ismi mi kalmadı da aynı ismi kullanıyoruz :P





< Bu mesaj bu kişi tarafından değiştirildi Lord Nibbler -- 4 Şubat 2013; 18:01:37 >
Bu mesaja 1 cevap geldi.
G
12 yıl
Yarbay

quote:

Orijinalden alıntı: -Source-

quote:

Orijinalden alıntı: Tolgá

getchar ve putchar ne işe yarıyor biri lütfen anlatsın.


http://en.cppreference.com/w/c/io/getchar
Standart giriş akımından(stdin) bir karakter okur.

http://en.cppreference.com/w/c/io/putchar
Standart çıkış akımına(stdout) bir karakter yazar. Aldığı parametre yazılacak karakter.

Küçük bir örnek. Eğer kelime girilirse sadece ilk harfini alır.
 
#include <stdio.h>
int main()
{
// Bir karakter oku
char giris = getchar();
// Okunan karakteri ekrana yazdir.
putchar(giris);
return 0;
}



Teşekkkürler.



< Bu ileti mobil sürüm kullanılarak atıldı >

S
12 yıl
Yüzbaşı

quote:

Orijinalden alıntı: altı ok

merhabalar benim bir otomasyon ödevim var.c sharp görünüm ve sql veri tabanını hallettim.şimdi ikisini birleştirmeye geldi.c shap da ekleme-silme-güncelleme-listeleme işlemlerini yapacağım.aynısını geçen sene access ile yapmıştım ama sql 2008 management stüdyo biraz karışık geldi.access ile kod yazmadan tool box ile bağlantı oluşturup, sadece butonların komutlarını yazıyordum.ama internetten araştırdığım kadarı ile sql de bağlantı kodu yazılıyormuş.bir tane kod buldum ama kendi bilgisayarıma ve veri tabanıma uyarlayamadım.kod aşağıda, şimdi benim ne yapmam lazım???

not:server name:kapadokya\slqexpress

bulduğum kod:

sql connection baglanti = new sqlconnection("server=127.0.0.1;database=kisilistesi;ıntegrated Security=true");

özellikle parantez içi tam olarak ne anlama geliyor?

Arkadaşım merhabalar. Bende sayfayı gördüm C# konusunda yardımcı olayım dedim.
Öncelikle şöyle başlayalım.
SqlConnection deyip üstündeyken Ctrl+"Nokta(.)" yaptığında (CodeSnippet özelliği) göreceksin ki namespace satıları üstünde şu yazı oluşacak : using System.Data.SqlClient;
Burdan artık MSSQL ile yapabileceğimiz her şeyi bu sınıf sayesinde yapabiliriz.
En önemli konu ise senin sorduğun yerlerden biri.
SqlConnection çok önemli bir konudur aslında. Aslında senin sorun "Parantez içi olan yer" connection satırıdır. Yani türkçe'siyle bağlantı cümlesidir. Diğer bağlantı cümlelerini bakmak için bu adresi ziyaret etmeni öneririm.http://www.connectionstrings.com/
Bir örnek vericek olursak şudur aslında bir nevi;

SqlConnection connect = new SqlConnection(@"server=.\SQLExpress;database=XxX;User ID = sa;Password=xxx");

Bu sayede XxX database'ime SQL Express Agent sayesinde "sa" User ID ve parolasıyla SQL Auth. şeklinde SQL Managent studio da object Exp. açtığın connection gibi connection açıyoruz.

Sorunun cevabı budur. Senin için hatta C# kullanan bir çok arkadaş için farklı bir yöntem önereyim. Çok çok çok daha güvenli bir yöntemdir. Bileni vardır bilmeyeni vardır çünkü.

Solution altında ki Provider kısmını diğer deyimle veri işlemleri yapacağımız proje kısmında , Proje sağ tıklayım -> New Item deyim App.config dosyası ekleyelim.
App.config dosyasını açtıktan sonra içine şu satırları ekleyip connection yapmamız benim çok daha tercihimdir.

<connectionStrings>
<add name="ConnectionaVerdiğimizAd" connectionString="server=.\SQLExpress;database=XxX;User ID = sa;Password=xxx"(Bu kısmı bu şekilde tanımlıyoruz) ve çoğu kişini çoğu zaman unuttuğu satır.
providerName="System.Data.SqlClient"/>
</connectionStrings> dedikten sonra projemize dönüyoruz ve yapmamız gereken sadece şu;

Yine Ctrl+. deyip yazıcağımız satırları yaparken using satırını ekleyebilirsiniz ama ben yine de böyle eklemenizi söyleyim.
System.Configuration referansını projemize dahil ediyoruz.
Ve sonra şunu yazıyoruz.
SqlConnection connect = new SqlConnection(ConfiguraitonManager.ConnectionStrings["ConnectionaVerdiğimizAd"].ConnectionString];

Şekilde kullanılmasını ben daha doğru buluyorum arkadaşlar.

Yardımcı olabildiysem ne mutlu bana :)



Z
12 yıl
Er

c programlama da basit sayı sıralama algorıtması ve kodlarınahttp://www.zeynelakcay.com/c-programlama-sayilari-siralama/ bu kaynaktan erişebilirsiniz...


Bu mesaja 1 cevap geldi.
[
12 yıl
Teğmen

quote:

Orijinalden alıntı: EdmondDantes

Soyle bir sorum var. C++ ogrenmek istiyorum universitede hazirliktayim dersler suan cok basit seneye ogrenecegiz simdiden bos vaktim varken giris yapayim diyorum. Fakat butun dersler videolu. Eskiden videolu arar bulamazdik heryer text olurdu simdi videosuz bulamadim. Videolu istemiyorum cunku daha onceden programlama biliyorum istedigim C++ ogrenmek yani hizli hizli syntax ogrenmek istiyorum goz gezdirme imkani acisindan videodan daha rahat oluyor. Videolar cok yavas.

Bilen arkadaslar onerirse memnun olurum.

Not: Kitap onerisine gerek yok evde yiginla yazilim kitabi var fakat yurtdisindayim onlari buraya aldiramiyorum. Kaynak internet sitesi olursa cok faydasi dokunur.

Simdiden tesekkurler...

C++ tutorial diye google araması yaptım ve ilk çıkan site:
http://www.cplusplus.com/doc/tutorial/

Kaynak güzeldir, herşeyi ayrıntısıyla anlatır.

http://www.cprogramming.com/tutorial/c++-tutorial.html

Burası da iyidir. Bu arada hızlı hızlı syntax öğrenicem diye dalma, bazı noktaları Java gibi dillerden farklıdır.


Bu mesaja 1 cevap geldi.
R
12 yıl
Çavuş

quote:

Orijinalden alıntı: [Tuor]

quote:

Orijinalden alıntı: EdmondDantes

Soyle bir sorum var. C++ ogrenmek istiyorum universitede hazirliktayim dersler suan cok basit seneye ogrenecegiz simdiden bos vaktim varken giris yapayim diyorum. Fakat butun dersler videolu. Eskiden videolu arar bulamazdik heryer text olurdu simdi videosuz bulamadim. Videolu istemiyorum cunku daha onceden programlama biliyorum istedigim C++ ogrenmek yani hizli hizli syntax ogrenmek istiyorum goz gezdirme imkani acisindan videodan daha rahat oluyor. Videolar cok yavas.

Bilen arkadaslar onerirse memnun olurum.

Not: Kitap onerisine gerek yok evde yiginla yazilim kitabi var fakat yurtdisindayim onlari buraya aldiramiyorum. Kaynak internet sitesi olursa cok faydasi dokunur.

Simdiden tesekkurler...

C++ tutorial diye google araması yaptım ve ilk çıkan site:
http://www.cplusplus.com/doc/tutorial/

Kaynak güzeldir, herşeyi ayrıntısıyla anlatır.

http://www.cprogramming.com/tutorial/c++-tutorial.html

Burası da iyidir. Bu arada hızlı hızlı syntax öğrenicem diye dalma, bazı noktaları Java gibi dillerden farklıdır.

Hocam Turkce sormustum ama ingilizce de anliyorum tesekkur ederim ben turkce yazmistim googlea.



< Bu ileti mobil sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
[
12 yıl
Teğmen

quote:

Orijinalden alıntı: EdmondDantes


quote:

Orijinalden alıntı: [Tuor]

quote:

Orijinalden alıntı: EdmondDantes

Soyle bir sorum var. C++ ogrenmek istiyorum universitede hazirliktayim dersler suan cok basit seneye ogrenecegiz simdiden bos vaktim varken giris yapayim diyorum. Fakat butun dersler videolu. Eskiden videolu arar bulamazdik heryer text olurdu simdi videosuz bulamadim. Videolu istemiyorum cunku daha onceden programlama biliyorum istedigim C++ ogrenmek yani hizli hizli syntax ogrenmek istiyorum goz gezdirme imkani acisindan videodan daha rahat oluyor. Videolar cok yavas.

Bilen arkadaslar onerirse memnun olurum.

Not: Kitap onerisine gerek yok evde yiginla yazilim kitabi var fakat yurtdisindayim onlari buraya aldiramiyorum. Kaynak internet sitesi olursa cok faydasi dokunur.

Simdiden tesekkurler...

C++ tutorial diye google araması yaptım ve ilk çıkan site:
http://www.cplusplus.com/doc/tutorial/

Kaynak güzeldir, herşeyi ayrıntısıyla anlatır.

http://www.cprogramming.com/tutorial/c++-tutorial.html

Burası da iyidir. Bu arada hızlı hızlı syntax öğrenicem diye dalma, bazı noktaları Java gibi dillerden farklıdır.

Hocam Turkce sormustum ama ingilizce de anliyorum tesekkur ederim ben turkce yazmistim googlea.

Yurtdışındayım deyince, otomatik olarak İngilizce kaynak verdim Türkçe kaynaklar yeterli değil. Kolay gelsin.



Z
12 yıl
Er

yeni başlayanllar için küçük program kodları ve kısa açıklammalar http://www.zeynelakcay.com


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

quote:

Orijinalden alıntı: zeynelak61

yeni başlayanllar için küçük program kodları ve kısa açıklammalar http://www.zeynelakcay.com

bence iyi olmuş, yeni mi burası ? daha da geliştirilebilirse çok iyi olur.


Bu mesaja 2 cevap geldi.
Z
12 yıl
Er

quote:

Orijinalden alıntı: Seviyeli Yarbay

quote:

Orijinalden alıntı: zeynelak61

yeni başlayanllar için küçük program kodları ve kısa açıklammalar http://www.zeynelakcay.com

bence iyi olmuş, yeni mi burası ? daha da geliştirilebilirse çok iyi olur.

öncelikle teşekkürler, evet yeni yaklaşık bir iki aya yakın oluyor siteyi düzenleyeli fırsat buldukça yeni kodalar ve açıklamalar ekleyecegim...



E
12 yıl
Çavuş

G
12 yıl
Yüzbaşı

quote:

Orijinalden alıntı: ebubekir.s

Yada bu link dede var resim
http://a1303.hizliresim.com/17/1/kmmvr.gif

Kelime secimi yanlis. not yerine baska bir degisken adi kullanmak ile basla. notArr gibi. Sonra diger hatalara bir daha bakarsin. Hata not in reserve olmasi.

Edit: Baska hata yokmus...

#define N 5 
#include<stdio.h>

int bul(int [N]);

int main()
{
int notArr[N] = { 25, 40, 80, 75, 96 };
int enk;
enk=bul(notArr);
printf("Hop : %d\n",enk);
return 0;
}
int bul(int notArr[N])
{
int i, ek;
ek=notArr[0];
for(i=1; i<=N; i++)
if(notArr[i]<ek)
ek=notArr[i];
return ek;
}





< Bu mesaj bu kişi tarafından değiştirildi garui -- 1 Mart 2013; 17:56:48 >
Bu mesaja 1 cevap geldi.
G
12 yıl
Yarbay

quote:

Orijinalden alıntı: vitex

Cevap için teşekkürler. Dizi gb'lara yaklaşabiliyor bazen, o yüzden mümkün değil. Normalde dosyadan satır satır okunuyor (ve öyle olması gerekiyor), onda sıkıntı yok. Asıl sorun kodların kararsız olması. Aynı işlem bazen 1 sn'de bazen 5 sn'de oluyor. Örnek olarak fprintf(ds,"\n\n%s\n\n",dizi); koduyla diziyi yazdırırsam (bu yazdırma kısmı hariç) 4-5 sn olurken o kodu iptal ettiğimde bazen 1 sn'de tamamlıyor. Yada aynı boyutta bellek ayrılmış 2. bir diziye *(dizi2+i)='C';*(dizi2+i+1)='G' şeklinde yaparsam veya oradaki *(dizi+i)='C';*(dizi+i+1)='G' kodunu tamamen iptal edersem yine 1 sn de tamamlıyor. Mantıklı bir açıklama getiremedim yani. Aynı işlem için 4-5 kat fark olması ? (Tabi bu sürelere dosyadan okuma, dosyaya yazma süreleri dahil değil, onlar ciddi bir zaman almıyorlar.) Sanki başka birşeyler programın çalışmasını etkiliyor gibime geliyor ya çözemedim işte!


Kodu küçük fonksiyonlara ayırıp -pg opsiyonu ile derlersen gprof aracı hangi fonksiyonun ne kadar oyalandığını gösterebilir. Tabi bunlar derleyici gcc ise geçerli.
Böylece programın tamamında iz sürmek yerine sadece şüpheli fonksiyonları takibe alabilirsin.
http://www.network-theory.co.uk/docs/gccintro/gccintro_80.html

Birde programın çalışma zamanını ölçmek için arka arkaya birkaç kez çalıştır ve ortalamasını al. Bir süre geçtikten sonra ilk çalıştırmayı buna dahil etme o yanıltıcı olur. Mesela işletim sistemi harddisk i uykuya aldıysa ilk erişim oldukça uzun sürer. Veya işlemciyi güç koruma moduna geçirdiyse normal frekansına geçene kadar yavaş çalışır.





< Bu mesaj bu kişi tarafından değiştirildi Guest-BF8E9B238 -- 1 Mart 2013; 22:13:15 >
Bu mesaja 1 cevap geldi.
V
12 yıl
Yüzbaşı

quote:

Orijinalden alıntı: elektro_gadget

Kodu küçük fonksiyonlara ayırıp -pg opsiyonu ile derlersen gprof aracı hangi fonksiyonun ne kadar oyalandığını gösterebilir. Tabi bunlar derleyici gcc ise geçerli.
Böylece programın tamamında iz sürmek yerine sadece şüpheli fonksiyonları takibe alabilirsin.
http://www.network-theory.co.uk/docs/gccintro/gccintro_80.html

Birde programın çalışma zamanını ölçmek için arka arkaya birkaç kez çalıştır ve ortalamasını al. Bir süre geçtikten sonra ilk çalıştırmayı buna dahil etme o yanıltıcı olur. Mesela işletim sistemi harddisk i uykuya aldıysa ilk erişim oldukça uzun sürer. Veya işlemciyi güç koruma moduna geçirdiyse normal frekansına geçene kadar yavaş çalışır.

Olmazsa bir de gcc ile denerim, normalde Visual Studio kullanıyorum. Zaten kodlarda zaman ölçümü yapıyorum ve asıl zamanı diziyi tarattığım o iki satır alıyor. Durmadan deneme yaptığım için de uyku modu söz konusu değil, saatlerce farklı şeyler deneyince uyumasına fırsat kalmıyor. Aklımda farklı derleyiciyle deneyip sonucu görmek vardı, en kolay gcc ile denerim herhalde.


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

G
12 yıl
Yüzbaşı

quote:

Orijinalden alıntı: ebubekir.s

C de önceden boyutu bilmeden(kullanııcı belirleyecek) nasıl boyutunu tanımlarız.
 
#include<stdio.h>
#include<conio.h>
void ortalama(int sayilar[][])
{
int i, j, toplam;
float ort;
for(i=0; i<n; i++){
for(j=0; j<m; j++){
toplam=toplam+sayilar[i][j];
}
}
ort=(float)toplam/(float)(m*n);
printf("Ortalama=%.2f", ort);
}
main()
{
int sayilar[][];
printf("Dizi boyutlari:");
scanf("%d%d", &n, &m);
ortalama(sayilar);
getch();
}




C dedigin icin malloc/free ama pek onerilmez. new/delete C++ kutuphanesinde bulunur ve daha cok tercih edilir.

malloc/free :http://www.cplusplus.com/reference/cstdlib/malloc/
new/delete :http://www.cplusplus.com/reference/new/operator%20new[]/



G
12 yıl
Yüzbaşı

quote:

Orijinalden alıntı: arayanbilge

Arkadaşlar ben daha yeniyim C dilinde randomize() kullandığımda tanımlanmamış hatası alıyorum acaba ayrı bir kütüphane eklememiz gerekiyormu ?
Yardımlarınız için teşekkürler

randomize() ???

http://www.cplusplus.com/reference/cstdlib/rand/?kw=rand


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

quote:

Orijinalden alıntı: garui

quote:

Orijinalden alıntı: arayanbilge

Arkadaşlar ben daha yeniyim C dilinde randomize() kullandığımda tanımlanmamış hatası alıyorum acaba ayrı bir kütüphane eklememiz gerekiyormu ?
Yardımlarınız için teşekkürler

randomize() ???

http://www.cplusplus.com/reference/cstdlib/rand/?kw=rand


Usta sağolasın da bunun iki türlü kullanımı var benim koddaki gibi geçerli olmamasının sebebini biliyomusun ?


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

quote:

Orijinalden alıntı: arayanbilge

quote:

Orijinalden alıntı: garui

quote:

Orijinalden alıntı: arayanbilge

Arkadaşlar ben daha yeniyim C dilinde randomize() kullandığımda tanımlanmamış hatası alıyorum acaba ayrı bir kütüphane eklememiz gerekiyormu ?
Yardımlarınız için teşekkürler

randomize() ???

http://www.cplusplus.com/reference/cstdlib/rand/?kw=rand


Usta sağolasın da bunun iki türlü kullanımı var benim koddaki gibi geçerli olmamasının sebebini biliyomusun ?


Randomize diye birsey gormedim ben.

Verdigim linkte time ile srand fonksiyonu var . Kodu ornek alarak rand fonksiyonunu kullanabilirsin.

#include<stdio.h>  
#include<conio.h>
#include<stdlib.h>
#include <time.h>
int main()
{
int n[10],i;
srand(time(NULL));
for(i=0;i<=9;i++){
n[i] =rand();
printf("%d\n"), n(i);

}
getch();
return 0;
}





< Bu mesaj bu kişi tarafından değiştirildi garui -- 6 Mart 2013; 18:03:22 >