Arama butonu
Bu konudaki kullanıcılar: 1 misafir
37
Cevap
1721
Tıklama
0
Öne Çıkarma
C++ ta Random Kodu
S
12 yıl
Onbaşı
Konu Sahibi

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.

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

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

Üye Ol Şimdi Değil



G
12 yıl
Yarbay

Arkadaşım tamam. Al işte sana örnek bir txt.http://www.dosya.tc/server6/NJoJ4l/sorular.txt.html

Bu da kodun sadeleştirilmiş hali. Bunu kullan. Daha da olmazsa yapabileceğim birşey yok. Bende takır takır çalışıyor.

 
#include <iostream>
#include <fstream>
#include <string>
#include <algorithm>
#include <ctime>
#include <cstdlib>
#include <cassert>

#define SIK_ADET 4
#define MAX_SORU 100
using namespace std;

struct SoruCevap {
string soru;
string cevap;
string siklar[SIK_ADET];
};

int sorulariYukle(SoruCevap *sc)
{
ifstream dosya("sorular.txt");
assert(dosya);
srand(time(0));

int i = 0;
for(; true; ++i) {

getline(dosya, sc[i].soru);
if(sc[i].soru.empty())
break;
getline(dosya, sc[i].cevap);
sc[i].siklar[0] = sc[i].cevap;

for(int j = 1; j < SIK_ADET; ++j)
getline(dosya, sc[i].siklar[j]);
random_shuffle(sc[i].siklar, sc[i].siklar + SIK_ADET);
}
dosya.close();
random_shuffle(sc, sc + i);

return i;
}

int main()
{
SoruCevap sc[MAX_SORU];
int adet = sorulariYukle(sc);

int dogru_sayisi = 0, yanlis_sayisi = 0;
char harf[] = {'a', ')', ' ', '\0'};
string cevap;

for(int i = 0; i < adet; ++i) {
cout << sc[i].soru << endl;

for(int s = 0; s < SIK_ADET; ++s) {
cout << harf << sc[i].siklar[s] << endl;
++harf[0];
}
harf[0] = 'a';

cout << "\nCevabınız: ";
getline(cin, cevap);

if(sc[i].cevap == cevap) {
cout << "Bildiniz!\n\n";
++dogru_sayisi;
}
else {
cout << "Bilemediniz!\n\n";
++yanlis_sayisi;
}
}
cout << "Doğru cevap sayısı: " << dogru_sayisi << endl;
cout << "Yanlış cevap sayısı: " << yanlis_sayisi << endl;

return 0;
}



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.