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 |
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 :) |
hocam accesse baktımda onu pek anlayamadım ben görünüm+kod kısmını derleyicide halledip sadece bilgilerin akydolcağı bir veri tabanı istiyorum basit birşeyde olsa olur :) bir belgeye kaydetme şansı yokmu mesela |
programın içeriği nasıl olacak onu bi yazın ne eklenecek düşüm nasıl olacak vb |
hocam şimdi bizim hırdavat dükkanı var benim her hafta eksik avrmı die kontrol etmekten ciğerim sodlu :d bende hazır c# öğrenirken gelen malı kaydeden ve günlük sattığım malı yazınca kalan malı gösteren ve mesela o maldan 5 tane kalınca uyaran bir program yapmayı düşünüyorum :) yani para amacı fln yk kendim kullanacağım o yüzden ben yptığım programı çalıştırınca bu dediklerimi görebileyim veri tabanı olarak ne kullanırsa kullansın program :) |
merhaba benim sorum string yapısına benzeyen ve girilen bir sayıyı bir dizi üzerine basamaklarına ayırıp nasıl yerleştire biliriz? örneğin sayı=4567 dizi[]={4,5,6,7} bunu basamaklarına ayıran bir fonksiyon dışında yapma imkanımız var mı? çünkü girilen sayı bilgisayar tarafından atanıp 1 den 10 üstü 100 e kadar gidecek şimdiden teşekkürler |
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.
Bu mesajda bahsedilenler: @muvensa