#include <stdio.h> #include <stdlib.h> void main() { char x; printf("Press P or p for Prime Numbers\n"); printf("Press L or l for Leibniz Series\n"); printf("Press C or c for combinations\n"); printf("Press E or e for Exit\n"); printf("Enter your choice : "); x=getchar(); switch(x) { case 'p': case'P': printf("mk"); break; case'l': case'L': printf("mk"); break; case'c': case'C': break; case'e': case'E': ;break; } } ***BEYLER BÖYLE BİR TASLAK KOD YAZIYORUMDA E VE e OLAN YERE EXİT KOYMAM LAZIM NASIL OLACAĞINA KAFAM BASMADI LÜTFEN BİR YARDIM EDERMİSİNİZ NOT:E VEYA e YAZINCA PROGRAMDAN ÇIKACAK ŞİMDİDEN TEŞEKKÜRLER |
return koyabilirsin |
Aynen kopyalarsan sadece sana kötülük olur. En önemli derslerinden biri. soru 1: #include <stdio.h> soru 2: #include <stdio.h> soru 3: #include <stdio.h> soru 4: #include <stdio.h> soru 5: #include <stdio.h> soru 6: #include <stdio.h> soru 7: #include <stdio.h> soru 8: #include <stdio.h> soru 9: #include <stdio.h> soru 10: #include <stdio.h> |
Eğer hiçbirşey anlatmadıysa zaten yapamazsın bunları. Temel algoritma gerekli birazda.. Neyi nasıl yapacağını bilmen gerek. Şekil çizdirme soruları için for-while döngüleri ve dizileri iyi öğrenmen gerek. Üs alma programını hocan kabul ederse hazır bir fonksiyon ile yapabilirsin. |
case'E'; den sonra Exit(); yaparak programı kapatabilirsin. veya return ile başa alabilirsin.. |
hocam aynen yazım undefined reference to 'exit' yazısı çıkıyor exitin içine 1,0,101,140, denedim hiç biri çkıkmadı |
Yukarıda da söylenmiş. return 0; return 5; gibi kullan o zaman. switch main() içinde olduğundan program kapatılacaktır. Normalde exit(0); çalışması lazım; zira gerekli libraryler include. Ama undefined reference headerların içinde exit bulunmadı gibi yazmış. O kısma sonra bak bence. Kullandığın compiler için arayabilirsin exit neden böyle diyor diye. |
+1 |
Ben exit ile yaptığımda 'e' veya 'E' karakteri girdiğinde çıkış yapıyor. Acaba bir yanlışlık mı var, yoksa ben mi yanlış anladım. Kodu ekliyorum.
|
Exit yazarsan tabi undefined olur. 'e' küçük olacak. Ayrıca bu exit sadece süs olmuş. P, L, C haricinde ne yazarsan yaz zaten kapanır. Bunu engellemek için switch i döngü içine almalısın. |
Değişken belirtilirken özelliklerin sırasının değişik verilmesi bir şeyi etkiler mi ? Yani int short unsigned a; ile unsigned short int a tam olarak aynımıdır ? Ayrıca float ve double ın usigned alamamasının nedeni ne ? |
Naçizane Ekleme yapmak istedim Bir default: tanımlaması da yapılabilir. |
C de piramit yapmanin mantigi nedir for dongusuyle? Mesela dik ucgen seklinde piramit. Tanimladigimiz i ve j jin satir sutun olup olmadigini nasil anlicam iyicene kafam karisti.. ![]() |
Nasıl kullandığına bağlı hangisi satır hangisi sütun ? Kodun nerede ? Dik üçgen çizdirmek içinde her zaman i,j gerekmiyor. Hele iç-içe for döngüsü de gerekmiyebilir. Burada düşünce mantığın önemli "Nasıl ekrana dik üçgen bastırırım ?" Aşağıda 4 dik üçgen var. Ne iç-içe for döngüsü ne j var. pyramid_floor değerini değiştirdikçe dik üçgenleri büyütüp küçültebilirsin. pyramid_floordan büyük olmamak kaydıyla, pyramid_top büyütürsen dik yamuk elde edersin. Mantık senin mantığın ve düşünce tarzın. Ben bir şeyi sadece bir yolla yaparım diye bir şey çoğu zaman yok. Aşağıdaki kod i ve j ile yine tek for üzerinde de dönebilir ama daha kompleks olur. Kodunu göster ona göre nere satır nere sütün söyliyelim. (Evet direk kullanma diye C++ ![]() /* DH GaRUi */
Ekleme: Nasıl normal piramit yapmışlar diye baktığımda 3 for iç-içe görmüştüm. Kodun kompleks yapısı iyice artıyor. Aşağıda 3 for ve 3 normal piramit var. Birinde j bile yok.
|
Birinci sorunun cevabı evet tam olarak aynı. Diziliş sadece const işaretçilerde fark eder. float ve double ın unsigned olmasının bir mantığı yok. Tamsayılarda sayıya 1 bit ilave etmek 2 kat büyütürken kayar noktalı sayılarda neredeyse hiç etki etmez. C' ye yeni başlayanlar özellikle double ı büyük sayıları tutmak için kullanırlar. Bu külliyen yanlış. Kayar noktalı sayılarda bit artışı özellikle sayının hassasiyetini arttırmak için yapılır. Diyelim ki double ı parametre olarak alan bir fonksiyonumuz var ve bu parametrenin mümkün olan en yüksek genişlikle değer almasını istiyoruz. Böylece işlem daha doğru ve hassas şekilde gerçekleşecek. Bunu yapmanın en basit ve etkili yolu parametreye 0 ile 1 arasında bir değer vermektir. Kullanım amacını doğru anlayınca floating türlerin signed veya unsigned olmasının bir farkı olmadığı anlaşılıyor. |
Esasında çok basit. Arkadaşımız yardımcı olacak çok güzel bir örnek vermiş. Ben de pratik bir yöntem söyleyeyim. Kareli bir defterin varsa, eğer yoksa kendin çizebilirsin, çizmek istediğin üçgeni çiz. Sonra köşe noktalarını(köşeden kastım üçgenin kenarlarının karelerin kesişim noktasından geçtiği yerler) belirle. Orijini sol üst olarak belirleyerek(çünkü çıktı bu noktadan başlıyor) noktaların koordinatlarını yaz fakat pozitif değerlerle yaz. Noktaları belirledikten sonra aralarında matematiksel bir bağlantı olduğunu göreceksin. Bu sana kullanmak gereken algoritmanın en basit şekilde mantığını verir. Kolay gelsin. |
Merhaba abiler. Bugün programlamadan sınavımız varda takıldığımız bir kaç problem var. Onların kodlarını öğrenebilirsek süper olur. Sınav saat 3te, o zamana kadar birde deneme şansımız olsa süper olacak. Şimdi bize 1-4 işlemin kodu(if'li olacak falan) 2-ax^2+bx+c denkleminin köklerini veren kod. delta>0 ise iki kökü vardır kökler -(kök içinde delta -b/2a) ve -(kök içinde delta+b/2a) delta<0 ise kökü yoktur, delta=0 ise bir kökü vardır. 3-notları girilip ortalaması hesaplandıktan sonra ortalaması 0<x<25 ise f, 25<x<50 ise d, 50<x<75 ise c, 75<x<85 ise b 85<x<100 ise a olan kod Bunları yazabilirseniz çok sevineceğim. Sorular belki vardır ama acelem olduğundan bakacak vakit yoktu kusura bakmayın. Kolay gelsin. :) |
Ben bilgisayar mühendisliği okumadım, ama kendi başıma kitabını alıp okuduğumda kitabın sonundaki bu tarz soruları kolaylıkla çözebiliyordum. Şimdi, 1) Vakit vardı, vaktini değerlendirememiş son zamana sıkıştırmışsın 2) Kodlar okuyarak değil, yazarak öğrenilir(diğer türlü ezberlersin ve unutursun) 3) Doğru bölüm tercihi yapıp yapmadığınızı bir daha düşünün. 4) Sorunlarına odaklanmaya çalış, yaptırır gibi değil, belirtir gibi isteyin. Ben şahsen bundan çok rahatsız oluyorum. Cevap verenler de pratik yapmak için veriyor biliyorum. Ama siz yarın bir gün diploma sahibi olacaksınız. Allah aşkına şu basit kodları çıkarmaya bile üşendiniz mi, gidin çalışın. Nedir bu olay? Nasılsa yazan var. Şu kodları yazmam inan daha kısa sürerdi bu mesajı yazmaktan. Düşüne düşüne yazmaya gayret gösterdim. 5) Bunları bir google'da aratsan ne kadar standart sorular olduğunu görecektin fakat ona dahi üşenmişsin. Fakat ne mantıksa yazıp cevabını beklemek daha kolay geliyor. Çünkü armut pişecek ağıza düşecek illa ki. Bu kadar yazdıktan sonra üzüldüm de yazayım dedim. Yazmaya başladıktan sonra yine vazgeçtim kodları görünce. Çalışın, öğrenci değil misiniz. Yardım almak tamam da kodu istemek nedir? Şu noktada kitlendik deyin, hemen yardımcı olayım. |
Gördüğün gibi zor değil. Diğer sorularında zor değil. Sen yine biraz uğraşıp yapmayı dene kodunu yaz biz sana hatalarını söyleyelim böylece sende ödevini bitirirsin. Direk kodları isteme.
Sen burada x'i tanımladan sayac değişkenine atmaya çlaışmassın. Ayrıca x değişkenini kullanıcıdan aldıktan sonra ataman lazım.