Amaliy qism: Tasodifiy belgilarni hosil qilish
Download 1.86 Mb.
|
S-D1-ma\'ruza-4
7.6. Amaliy qism: Lotoreya dasturini satrlarni qo`llagan holda qayta ko`rib chiqish
Key Point. Muammo turli yo`llar bilan hal qilinishi mumkin. Bu qismda lotoreya dasturi satrlardan foydalangan holda qayta ko`rib chiqilgan. Satrlardan foydalanilganda bu dasturni tuzish osonlashadi. 5.4-kodli ro`yxatda berilgan dastur ikki tasodifiy sonni generatsiya qiladi, foydalanuvchini ikkita sonni kiritishga undaydi va foydalanuvchining yutuqli sonlarini quyidagi qoidalar asosida aniqlaydi: Agar foydalanuvchi kiritgan sonlar aynan lotoreya raqamlari bo`lsa, u 10000$ yutuq sohibi bo`ladi; Agar kiritilgan barcha sonlar lotoreya sonlarida mavjud bo`lsa, u 3000$ yutuq sohibi bo`ladi; Agar kiritilgan sonlardan bittasi lotoreya sonlari tarkibida mavjud bo`lsa, u 1000$ yutuq sohibi bo`ladi; 5.4-kodli ro`yxatda sonni yozish uchun butun turdan foydalanilgan. 7.2-kodli ro`yxatda esa, ikkita tasodifiy sonni satr ko`rinishida generatsiya qiluvchi, foydalanuvchidan satr turida ikkita sonni qabul qiluvchi dastur keltirilgan. 7.2-kodli ro`yxat. SatrIshlatilganLotoreya.cpp 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 7 int main() 8 { 9 string lotoreya; 10 srand(time(0)); 11 int son = rand() % 10; // Birinchi son generatsiyasi 12 lotoreya += static_cast 13 son = rand() % 10; // Ikkinchi son generatsiyasi 14 lotoreya += static_cast 15 16 // Foydalanuvchini o`ylangan sonni kiritishga undash 17 cout << "Lotoreya raqamingizni kiriting (ikkita son): "; 18 string lotSon; 19 cin >> lotSon; 20 21 cout << "Lotoreya soni: " << lotoreya << endl; 22 23 // Lotoreya soni 24 if (lotSon == lotoreya) 25 cout << "Yutuqli o`yin: siz 10000$ yutdingiz" << endl; 26 else if (lotSon[1] == lotoreya[0] && lotSon[0] == lotoreya[1]) 27 cout << "Barcha sonlar topildi: siz 3000$ yutdingiz << endl; 28 else if (lotSon[0] == lotoreya[0]||lotSon[0] == lotoreya[1] 29 || lotSon[1] == lotoreya[0] || lotSon[1] == lotoreya[1]) 30 cout << "Bitta son topildi: siz 1000$ yutdingiz" << endl; 31 else 32 cout << "Kechirasiz, siz yutqazdingiz!" << endl; 33 34 return 0; 35 }
Dastur avval tasodifiy raqamni generatsiya qiladi (11-satr), keyin uni belgili turga o`tkazadi va belgini lotoreya satriga qo`shib ta’minlaydi (12-satr). Keyin dastur ikkinchi tasodifiy raqamni generatsiya qiladi (13-satr), uni belgili turga o`tkazadi va lotoreya satriga qo`shib ta’minlaydi. Shundan so`ng lotoreya ikkita tasodifiy raqamdan tashkil topadi. Dastur foydalanuvchini ikkita raqamdan iborat satrli ma’lumotni kiritishga undaydi (19-satr) va kiritilgan lotoreya sonini quyidagi qoidalar asosida tekshiradi: Dastlab, o`ylangan son lotoreya soni bilan aynan bir xilligi tekshiriladi; Unday bo`lmasa, o`ylangan sondagi raqamlarning har ikkalasi ham lotoreya soni tarkibida mavjudligi tekshiriladi; Unday bo`lmasa, o`ylangan sondagi bitta raqamning lotoreya soni tarkibida mavjudligi tekshiriladi; Unday bo`lmasa, ekranga “Kechirasiz, siz yutqazdingiz!” degan jumla chiqariladi. Download 1.86 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling