Arkadaslar ben C++ icin bi uygulama gelistiriyorum uygulamamda aynen suna benzer olacak;elimizde 100e yakin soru olucak ve bu sorulari yanitlayan yarismaci olucak kim 500 milyar gibi,ama benim maksat amacim yarismaci programa her defa girdiginde sorular farkli farkli ciksin yani elimizde bulunan 100 soruyu random olarak secip sorulara yerlestirsin.Sizden yardim bekliyorum.
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
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
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. Birde dusundum de char diziyle cok karisir olay sorun cikarabilir. Biraz uzun olucak ama switch~case ile ayri bir fonksiyon icinde halledilebilir. Birde vector diye bir konu vardi. Ben size programi yazana kadar bir incelemenizi tavsiye ederim. Biraz ileri duzey oluyor o konu.
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 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.)
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.
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.
#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
Bu mesaja 1 cevap geldi. Cevapları Gizle
Aynısını yazmak için girdim
Bu mesaja 1 cevap geldi. Cevapları Gizle
Bu mesaja 1 cevap geldi. Cevapları Gizle
Bu mesaja 1 cevap geldi. Cevapları Gizle
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.
< Bu ileti mobil sürüm kullanılarak atıldı > Bu mesaja 1 cevap geldi. Cevapları Gizle
Bu mesaja 1 cevap geldi. Cevapları Gizle
Kardesim ben en iyisi evde kisaca programi yazip atarim.
< Bu ileti mobil sürüm kullanılarak atıldı >
< Bu ileti mobil sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi. Cevapları Gizle
Bu mesajda bahsedilenler: @furkant1
Bu mesaja 1 cevap geldi. Cevapları Gizle
ş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
< Bu ileti mobil sürüm kullanılarak atıldı >
Bu mesajda bahsedilenler: @sertaclincoln
Karşılaştırma bu şekilde olacak. (#include string.h kütüphaneyi eklemeyi unutmayın.)
Bu mesaja 1 cevap geldi. Cevapları Gizle
Bu mesajda bahsedilenler: @Seviyeli Yarbay
hocam mantığı anladım, biliyordum da düşünememişim gereksiz zorladım sanırım
çok teşekkürler
Bu mesaja 1 cevap geldi. Cevapları Gizle
Bu mesajda bahsedilenler: @Seviyeli Yarbay
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.
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++;
< Bu ileti mobil sürüm kullanılarak atıldı >
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.
< Bu ileti mobil sürüm kullanılarak atıldı >