Şimdi Ara

C++ ta Random Kodu

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir (1 Mobil) - 1 Masaüstü1 Mobil
5 sn
38
Cevap
0
Favori
1.694
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 12
Sayfaya Git
Git
sonraki
Giriş
Mesaj
  • 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.



  • Ş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
  • quote:

    Orijinalden alıntı: Umutttttttt

    Ş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
  • quote:

    Orijinalden alıntı: sertaclincoln

    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.

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • 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
  • Yapay Zeka’dan İlgili Konular
    C# ile html kodu yazmak
    11 yıl önce açıldı
    Daha Fazla Göster
  • quote:

    Orijinalden alıntı: sertaclincoln

    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.

    < Bu ileti mobil sürüm kullanılarak atıldı >




  • Aaa tamam kardes aklima guzel bi fikir geldi kolay yoldan halledecegiz

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • 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

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • 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.

     
    #include <iostream>
    #include <string>
    #include <ctime>
    #include <cstdlib>
    #define SORU_SAY 5

    using namespace std;

    int main ()
    {
    string sorular[] = {"Turkiyenin baskenti ?", "Ben kimim ?", "2012 Sampiyonu kimdir ?","Soru adas ?","Neden asdwed?"};
    int secilenSoru=0;

    srand(time(0));

    secilenSoru = rand() % SORU_SAY;

    cout << sorular[secilenSoru];

    return 0;
    }
  • 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.)
     
    for(int i=0; i < soruSayisi; i++)
    {
    if(strcmp(cevapAnahtari[i], kullaniciCevaplari[i]))
    dogruSayisi++;
    else
    yanlisSayisi++;
    }




  • quote:

    Orijinalden alıntı: furkant1

    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.)
     
    for(int i=0; i < soruSayisi; i++)
    {
    if(strcmp(cevapAnahtari[i], kullaniciCevaplari[i]))
    dogruSayisi++;
    else
    yanlisSayisi++;
    }


    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++;

    < Bu ileti mobil sürüm kullanılarak atıldı >




  • 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.

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • 
Sayfa: 12
Sayfaya Git
Git
sonraki
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.