c#' da oledb kütüphanesi ile excelle bağlantı kuruyorum veri çekebiliyorum veri ekleyebiliyorum veri güncelleyebiliyorum ama silme işlemini bir türlü yapamadım , bir sitede gördüğüm bilgiye göre oledb ile silme işlemi yapılmıyormuş , doğruluğu nedir ? |
#include<stdio.h> int main( void ) { float ilk_sayi; float ikinci_sayi; float carpim; printf("ilk sayıyı giriniz>"); scanf("%f",&ilk_sayi); printf("ikinci sayıyı giriniz>"); scanf("%f",&ikinci_sayi); carpim = ilk_sayi*ikinci_sayi; printf("çarpımın sonucu= %f\n", carpim); return 0; } Şöyle bir kod yazdım. Daha yeni öğreniyorum. Sorum şu: Scan fonksiyonunun işlevini tam anlayamadım. Neden sayı giriniz dediğim yere girebiliyoruz sayıyı. Yani "sayı giriniz" yazsam ve sayı ile giriniz arasına sayı girilmesi için ne yapmam lazım? |
(int x için) printf("sayi\n"); scanf("%d",&x); printf("giriniz"); ---------------------- 5 değeri girildiği farz edilir.ÇIKTI: sayi 5giriniz Dipçe:Scanf fonksiyonunun detayını pointers konusunda bulabilirsiniz. |
Hocam rica ediyorum aşağıdaki soruları yanıtlar mısınız ? #include <stdio.h> Programın açıklaması şöyle: -Yukarıdaki örnekte, program komut satırında adını verdiğiniz dosyada, yine komut satırından girdiğiniz bir harfin mevcut olup olmadığını araştırır. Aradığınız karakter dosyada yoksa herhangi bir işlem yapmaz. Eğer varsa söz konusu karakteri her bulmasında ve son olarak ta karakterin kaç kez tekrarlandığını ekrana yazar. |
Konsolda bir program çalıştırırken programın isminin yanında başka şeyler de yazıldığını görmüşsündür. Mesela "cp a.txt B" komutu a.txt dosyasını B klasörüne kopyalar. İşte buradaki bütün yazdıkların char* argümanı olarak main'e geçirilir. argc kaç adet argüman geçirildiğini tutar, yazdığımız örnekte argc 3 tür (uygulamanın kendi ismi dahil). argv ise char* dizisi, yazdığın stringleri tutar. Bu örnekte argv[0] == "cp", argv[1] == "a.txt", argv[2] == "B" dir. Senin örneğinde de argv[1] aranacak dosyanın ismi, argv[2] ise aranacak karakter. argc != 3 kontrolü aynen buradaki gibi belli sayıda argüman girişinin şart olduğu durumlarda hata kontrolü için kullanılır. Mesela sadece "cp a.txt" yazıp çalıştırsaydık argc 2 olacaktı ve hatalı giriş olduğu anlaşılacaktı. |
merbaha c++ la kısa bir zamandır uğraşıyorum ve öğrenirken her adımı sindirerek öğrenmeye çalışıyorum. Sorum yapılarla ilgili çok küçük bir detay. #include <iostream> using namespace std; struct id{ char *ad,*soyad; int dogumyili; }; int main(){ id id1,id2; id1.ad="ilker"; id1.soyad="polat"; id1.dogumyili=1990; cout<<id1.ad<<id1.soyad<<id1.dogumyili; return 0; } burada kırmızı ile gösterdiğim yerde neden * kullanmak zorundayım.(ne işe yaradığını biliyorum). şimdiden teşekkürler |
|
sayende string yapısını öğrenmiş oldum teşekkür ederim ama istediğim cevap bu değildi malesef |
"char* ad;" ifadesi herhangi bir karakter dizisinin başlangıç adresinin değerini tutar. Bunun sayesinde ad[0], ad[1], ad[2]...ad[karaktersayisi - 1] şeklinde karakter dizisindeki her bir karaktere matematiksel tamsayı değer kullanarak ulaşılabilinir. Yani: char* p = "ILKER"; örneğinde 5 adet harf var: p[0] ---> I p[1] ---> L p[2] ---> K p[3] ---> E p[4] ---> R şeklinde ayrı ayrı harflere ulaşılabilinir. Halbuki "char ad;" ifadesi tek başına sadece tek bir karakterlik bilgi tutar. Fakat "char* dizi;" şeklinde kelimeleri işlemlemek C'de yapılan eski ve ilkel bir yöntem. Bunun için aynı zamanda hususi hafıza ayırma ve yoketme işlemleri külfetini de beraberinde getiriyor bu yaklaşım. Onun yerine kelimeler, yazılar için C++ da "string" kütüphanesini kullanmak lazım. O otomatikman hafıza yönetimi işini de tabıyatıyle üstlenecektir. Dinamik hafızayla ilgili; yeni yer ayırma ve geri verme/yok etme işlemlerini yaparken de karakter dizileri için değil de başka objeler için bunu yapın. Onu yaparken de daha öğrenmediyseniz "new" ve "delete" ve "delete []" keywordlerini kullanmak gerekir özellikle C++ da. |
Merhabalar, çok acemiyim başlangıç seviyesindeyim C öğrenmeye başladım da ufak bir sorum var, aslında konu C bile değil matematik. double log(x) ile double log10(x) arasında ne fark var? Aslında ikisi de ln(x) olmuyor mu? Birincisi lnx diye geçiyor diğeri logaritma 10 tabanında x diye geçiyor, ee zaten matematiksel söyleyiş anlamında aynı şey değil mi? 1 milyon (1 000 000) sayısını iki komut için de hesaplattırdım farklı sonuçlar çıkıyor. 5 çıkması gerekmiyor mu?
Sonuçlar sırayla; 13,81 ve 6 |
matematiksel olarak "lnx" ifadesi "e" sayısı TABANında logaritmayı ifade eder. C kütüphanesindeki tanımlı olan "logx" ve "lnx" fonksiyonları ise aynı şeyin 2 farklı şekilde yazılışı. Bir nevi başka şekilde ifade etmek gerekirse "LogE"dir yani. "e" sayısının değeri de yaklaşık olarak 2.718 dir. Fakat Log10 ise "10" TABANında logaritmayı temsil eder. Sonuçların farklı çıkması normal. |
@Buzz Lightyear Ah tabi ya hocam benim hatam lnx'in ne olduğunu unutmuşum logx ile aynı sandım, dikkatsizlik işte. |
Aşağıdaki ifadeleri anlamadım.Özetleyebilir misiniz ? 1)Rastgele erişim genellikle ikili sistem dosyalarında kullanılır. Metin dosyalarında bu özelliğin kullanılmamasının nedeni, bu dosyalarda karakter değişimlerinin yer almasıdır. fseek() fonksiyonunu metin dosyaları ile kullanmak için daha önce ftell() fonksiyonu ile dosyanın aktif konumunu belirlemeniz ve fseek() fonksiyonunu SEEK_SET ile birlikte tanımlamanız gerekir. 2)Rasgele erişimli dosyalarda her kayıt aynı uzunluğa sahiptir ve direk olarak erişilebilir. |
Arkadaşlar ben C'de konsolda basit bir yılan oyunu yapmaya çalışıyorum bana biraz ana hatlarıyla ilgili fikir lazım yani ne tür bir giriş yapmam lazım. Şu an sadece oyunun alanını yani duvarların kapladığı alanı doğru düzgün yapabildim. Mesela yılana şekil verip nasıl boyunu ayarlayacağım? Şu anki yarım yamalak kodum bu; (sadece "alan" fonksiyonu sağlam)
|
Birincisi hangi dilde yazmak istiyorsun Ikincisi bunu beb yapmistim bulabilirswm resmini atarim |
C# icinse kodlar boyle ben tersten yaptim sen duzeltirsin. Istenilene kadar yildiz yapmak icinde kullanicidan bir deger alir herhangi bir degiskene atar 5 yerine o degiskeni yazarsin.
Ilk donguyu i degiskeni 5 olana kadar arttiriyorum sonra alttaki dongudede a(5) degiskenini i'ye kadar azalriyorum.en icte ekrana yildiz yazdirdim.Forda 3 yer var for(1;2;3) seklinde ilkine sadece ilk calistiginda ugrar sonra dongu her bittiginde 1.yi atlar 2.ye gelir orda kosul var saglarsa 3.yere gecer, saglamazsa donguden cikar. Yildizi yazdim. Sonra dongu bitiminde fordaki 2.yere yani kosula geldim sagladi ayi bir azalttim(4) girdim donguye tekrar yildiz yazdim dongu bitiminde geldim kosula a degiskenim i degiskeninden halen buyuk mu? Evetse gec 3. Yere ayı bir azalt(3) gir içeri tekrar yildiz yazdim.i(1) degiskenine esit olana dek boyle ekrana yildizi bastim. Sonra a degiskeni azala azala i ye esitlendiginde ciktim donguden.sonra bir alt satira geçtim.ilk dongunun bitimine geldim. Sonra ilk dongunun koşuluna gittim i değişkeni 5 ten küçğk mü? Evetse i(1)yi bir arttır(2) gir donguye. Böyle çalışıyo sanırıö yanlışıö varsa düzeltin lütfen. Çıktı şu şekil: ***** **** *** ** * |
iyi günler ben acemi biri oalrak c#da stok takip sistemi yapmaya çalışıyorum yalnız bir sorunum var ben sql server kullanamıyorum pcm çok zayıf başka nasıl veri tabanı oluşturup derleyiciyle ilişkilendirebilirim :) |
A&1 + B&1 OLMAYACAK MI?
SWITCH DE YASAKSA 2D BİR ARRAY AÇARSIN
ARRAY[0] ="İKİ ÇİFT"
ARRAY[1] = "FARKLI"
ARRAY[2] = "İKİ TEK"
printf("%s", ARRAY[A&1 + B&1]);
YAPARSIN Kİ EN MAKULU BU GÖZÜKÜYOR TERNARY ZATEN IF ELSE İLE AYNI ŞEY KEZA SWITCH DE.
< Bu mesaj bu kişi tarafından değiştirildi affiliation -- 10 Ağustos 2015; 1:11:39 >
< Bu ileti mobil sürüm kullanılarak atıldı > Bu mesaja 1 cevap geldi. Cevapları Gizle