Şu Kütüphaneleri Girmelisin #include <stdio.h> #include <stdlib.h> #include<time.h> ve Şu Kodları Yazmalısın srand(time(0)); b=rand()%100; %100 bölümü 100 e kadar bir sayi atilacağını gösterin b=rand bölümünde a sayısı atılsın istiyosan a=rand demelisin kolay gelsin |
Aynısını yazmak için girdim ![]() |
Verdiginiz cevaplar icin cok tesekkur ederim,ama ben sorulari yazip altinada sikklarini yazip sonrada en alta bu komutu mu giricem yani kisa bi bilgi verebilirseniz iyi olucak.Tesekkurler |
Kardesim sorulari database‘de tutuyorsan su sekilde yapabilirsin: Seviye 1 de 100fakli sorun var diyelim. Her sorunun da bir id‘si olsun. Bu idleri 1‘den baslat her soruda bir arttir. Sonra random deger almayi 1~100arasinda yap. Randomdan cikan sonucu database de id‘si ile esleseni ekranda goster. Database‘siz yapacaksaniz: Dizi olusturun. Sorulari burada saklayin. Random degeri alin. Cikan sonucu indis numarasiyla esleseni secin. Suan otobusteyim rahat yazamiyorum. Aklinizda soru var ise yazin. Eve gider gitmez daha verimli sekilde size yardim edebilirim. |
cevapladigin icin sagol kardesim.benim database ile isim yok yani dizileri nerde tanimlamam gerekiyor vede nasil tanimlamam gerekiyor,bide benim elimde 100tane soru olucak kullanici bu programa girdiginde 15 tane soru cevaplayip oyun biticek,yine oyuna girdiginde farkli farkli sorular sormasini istiyorum,(elimizdeki 100 sorudan)bu programi sizce en uygun sekilde nasil yapabilirim.Yardimin icin tesekkur ettim |
Kardesim ben en iyisi evde kisaca programi yazip atarim. ![]() |
Aaa tamam kardes aklima guzel bi fikir geldi kolay yoldan halledecegiz ![]() |
Az kaldı kardeş. Bitiyor senin işin. String fonksiyonlarını unutmuşum da bakmaya bakmaya ondan biraz gecikti. İyi oldu böyle hatırladım :) |
cok sagolasin furkant1 kardes senden guzel seyler bekliyorum.Saygilarla![]() |
Reis işi bitirmiş bi girdim bitmiş en başta yazcan kodları a=rand dersen başında ilerde cout << a dersen kafadan atılan sayıyı yazar 55 de yazabilir 1 de :WE:QWE:WQ |
arkadaşlar bu konuya benzer bir şey sormak istiyorum. şimdi soruları hazırlayacağız mesela ama her soru için if else yapısı kurmak istemiyorsak nasıl bir yol izleyebiliriz ? Yani 100 soru var ve şıkları var her seferinde tek tek if cevap şuysa doğru yanlış demek istemiyorum. umarım anlatabilmişimdir teşekkürler |
Hocam çok bilmediğim konulara girdiğim için C'de yapmayı bıraktım. C++'daki klasik basit kodu atıyorum. C++ bilmiyorsanız takıldığınız heryeri sorabilirsiniz.
|
Hocam 100indisli char tipinde bir dizi yapın. İçerisine teker teker cevapları girin. ( char cevapAnahtarı[soruSayısı] = {'a', 'b', 'c'}; ) Daha sonra kullanıcının cevaplarını saklamak için de bir char dizi oluşturun. Kullanıcıya soru sorulsun, a, b, c, d veya e girmesi istensin ve bu soru sayısına göre o diziye kaydedilsin. ( cevap anahtarındaki cevapların indisleriyle aynı olması lazım. Mesela cevapAnahrarında 55. soru (54. indis oluyor) C ise, kullanıcının verdiği cevabı da cevap dizimizdeki 54. indise kaydetmeliyiz) En sonunda dogru sayısı ve yanlış sayısı diye birer integer değişken oluşturursunuz. Elimizde olan bu iki diziyi for döngüsüyle sıra sıra karşılaştırırız. Doğru olan sorular için doğru değişkenimiz bir artar, yanlışlar için yanlış değişkenimiz. Karşılaştırma bu şekilde olacak. (#include string.h kütüphaneyi eklemeyi unutmayın.)
|
hocam mantığı anladım, biliyordum da düşünememişim gereksiz zorladım sanırım ![]() çok teşekkürler |
Önemli değil hocam ![]() |
furkant1 verdiğin cevaplar için çok teşekkür ederim hocam.çok yararlı oldu sayenizde.Peki şimdi benım elımde sorular ve altındada dogrudan şıkklar olucak örn: Türkiyenin başkenti? a)istanbul b)edirne c)ankara (elimde 100 soru olucak buna benzer şekilde) gıbı dogru cevap verırse dıger soruya gecsın random kodu ıle yanlışsa yeniden oynayın yani çıkış yazsın dıyıcez bu programı nasıl yazabılırız acaba en kısa yoldan.Saygılarla teşekkürler |
Kardesim onu da su sekilde yapalim. Char bir dizi olusturun. Icerisine cevap anahtarini teker teker girin. Simdi siz sorulari sormak icin donguye sokacaksiniz ya, mesela 5. soruyu soracaksiniz. Verilen cevap c diyelim. O dizideki indisi besinci soruya denk gelen dizi elemaniyla karsilastirin. Dogru ise ilerleyin, yanlis ise donguden cikin. Kardesim onu da su sekilde yapalim. Char bir dizi olusturun. Icerisine cevap anahtarini teker teker girin. Simdi siz sorulari sormak icin donguye sokacaksiniz ya, mesela 5. soruyu soracaksiniz. Verilen cevap c diyelim. O dizideki indisi besinci soruya denk gelen dizi elemaniyla karsilastirin. Dogru ise ilerleyin, yanlis ise donguden cikin. for(int i=0; i < soruSayisi; i++) { 2.dereceSorular[rastgeleDeger]; if(strcmp(kullaniciCevabi, cevapAnahtari)) cevapdogru; else Dongudencik; } for(int i=0; i < soruSayisi; i++) { if(strcmp(cevapAnahtari, kullaniciC evaplari)) dogruSayisi++; else yanlisSayisi++; |
Ama bu sekilde yaparsak 2. seviye tum sorularin cevabinin ayni olmasi lazim. Her sorunun farkli cevabi olsun isterseniz su sekilde yapin. Mesela soruyu diziye yazdiniz. sorular[] = {"Soru sjsjs ? A", "Soru jejeezj ? C", "Soru ierbjdxi ? E"}; Bu sekilse yapin hocam. Daha sonra bir fonksiyon yazin. Bu fonksiyona string bir deger yollayalim. Bu string degerin sonunda bulunan degeri ayirsin ve bize onu dondursun. O da cevabimiz olsun. Demin dedigin gibi if ile bu fonksiyondan dondurulen deger ile karsilastirin. Ama soruyu gosterirken de en son bosluktan sonraki cevabimizi silerek gosterin. Bu dediklerimi string fonksiyonlariyla yapabilirsiniz. |
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.