Merhaba, hoş geldiniz.
Başka bir meydan okumaya hazır mısınız?
Öyle olduğumu biliyorum.
Artık konuşmamız bittiğine göre Döngüler hakkında, hadi onları uygulayalım.
Hadi anlamaya çalışalım bir sorunun nasıl çözüleceği.
Bu yarışmada şunları yapacaksınız bir sayı tahmin c programı oluşturun.
Çok güzel olacak.
Küçük bir oyun olacak.
Olacak olan şey senin program 0'dan 20'ye
kadar rastgele bir sayı üretecek.
Bunu oluşturduktan sonra rastgele sayı, kullanıcıdan bunun
ne olduğunu tahmin etmesini isteyeceksiniz.
Bu yüzden kullanıcı sadece 0'dan 20'ye kadar sayı girmek için.
Eğer onlar gibi tahmin etmeye çalışırlarsa 50 numara, bir hata görüntüleyecek
ve diyeceksiniz ki, hey, şunları yapabilirsiniz sadece 0 ila 20 arasındaki sayıları girin.
Yani bu bir şart.
Ancak kullanıcı bir kez gerçekten tahmin ederseniz ve bu geçerli bir tahmindir,
daha sonra kullanıcıya ya da çok yüksek ya da çok alçak olup olmadıkları.
Ya da onlar haklıysa, sen haklı olduklarını ve oyunu kazanacaklarını
gösteriyorlar.
Şimdi sadece belirli bir Doğru sayıyı tahmin edebilecekleri
sayı.
Sadece tahmin edebilirler 5 kere.
Beş kereden sonra oyunu kaybederler.
Yani bu oyun tamamen doğru sayıyı tahmin etmek.
0'dan 20'ye kadar herhangi bir sayı, istediğiniz 20'den 0'a girdiklerinden emin olmak için kullanıcıdan
gelen girdiyi doğrulayın.
Ve eğer bir şeye girerlerse ve 5'ten az denemeniz varsa, onlara diyeceksiniz
ki, hey, bu çok yüksekti ya da, hey, bu tahmin etmeleri gereken sayıdan
çok düşüktü.
Ve bunlar temel Programın gereksinimleri, temel
bir sayı tahmin oyunu.
Şimdi çıktı neye benziyor.
Nasıl yaptığım hakkında bir fikir vermek için tasarladı, takip etmek isteyebilirsiniz.
Bu. İlk başladığımda programında küçük bir mesaj görüntüledim.
Bunun bir tahmin oyunu olduğunu söyledim, Sadece neler olduğunu bilsinler diye.
Ben de onlara tahmin etmeniz gereken 0 ile 20 arasında
bir sayı seçti.
Tahmin etmek için beş denemeniz kaldı.
Sonra bir tahmin girin dedim.
Onlar sözde tahminlerini girmek için.
12'ye girdiler ve ben de Dışarı, üzgünüm 12 yanlış benim sayım
bundan daha az.
Ve sonra seni gösterdim dört deneme kaldı.
Sonra bir tahminde bulundular. 8, ve ben de dedim ki, 8 de yanlış,
benim sayım bundan daha az.
Ve sonra 3'e girdiler, dedim ki 3 denemeleri kalmıştı, 4'e girdiler.
4'ün yanlış olduğunu söyledim.
Ve sonra 2 deneme yaptılar ve sonunda
2 olan numaramı tahmin ettiler.
Doğru sayıyı tahmin ettiklerinde, Onlara tebrikler dedim,
tahmin ettiniz, böylece oyunu kazandılar. çünkü hala 2 denemeleri vardı.
Basit bir oyun türüdür if deyimlerini kullanmanız gereken
yerlerde while döngülerini kullanmanız gerekir.
Bu yüzden bir döngüsüne kadar girdi istemeye
devam etmeniz gerektiğinden kullanıcı doğru tahmin edene veya deneme sayısı
5'in üzerine çıkana kadar.
Yani en iyi yollardan biri Böyle bir programa başlamak için nasıl yapacağınızı yazmanız
gerekir. programı kağıt üzerinde oluşturmak için.
Ve bunu yapmanızı öneririm çünkü soruna nasıl saldıracağınızı kağıda
yazarsanız, çözmesi daha kolay olacaktır.
Ve bunu yazabilirsin sözde kod, yani sadece İngilizce
dili, ancak tanımlamak istiyorsunuz döngülere sahip olacağınız
ve if koşulları kontrol etmek için deyimler.
Çünkü şuna bakarsan çıktı, kontrol etmeniz gereken
birçok koşul vardır.
while döngüsü şunları kontrol edecek for koşulları veya for döngüsü
için kontrol edeceğinden emin olmak için Doğru tahmin ettiyseniz veya denemeler için 5'ten
yüksekseniz döngüden çıkar.
Koşullarınız olacak girdiklerini de doğrulamalıdır.
Bu yüzden bir if deyimi, hey, az önce bir
sayı girdin demek için.
Ve eğer 0 ile 20 arasında değilse ve bu durum için iç içe geçmiş bir döngüye
sahip olmak isteyebilirsiniz.
Çünkü sormaya devam etmek istiyorsun Geçerli bir numara
girene kadar başka bir numara girmeleri için, Tahmin ettiğiniz doğru sayı
değil ama geçerli bir sayı.
Yani bunun için görebiliyordum bir dış döngü programlayın.
Dış döngü şu döngüyü içerir kullanıcıdan başarılı bir şekilde tahmin edene kadar sayı
girmesini ister. doğru sayıya ulaşana veya deneme sayılarını
tamamlayana kadar.
Bir iç döngü görebiliyorum sayının 0 ile 20 arasında geçerli olup olmadığını sorar, sormaya
devam ederler kullanıcının geçerli bir numara girmesini sağlar.
Ve sonra şu ifadeleri görebilirim Temel olarak sayının çok düşük,
çok yüksek veya eşit olup olmadığını kontrol edin.
Çünkü birden fazla çıkışınız var tahmin etmiş olsanız
da olmasanız da dış döngünüz için koşullar doğru olup olmadığı ya da sayıların
eşit olup olmadığı iyi bir break deyimi kullanmak için durum.
Çünkü unutmayın, siz Birden fazla çıkışınız olduğunda break
deyimini kullanın.
Ve böylece bir şeye sahip olabilirsin Dış döngünün içinde, doğru tahmin
ederlerse dışarı atlayacaklarını söylüyor.
Ve sonra dıştaki koşul while döngüsünde veya for döngüsünün kendisinde,
koşul x deneme sayısının 5'ten büyük olup olmadığı
olacaktır.
Yani bu bir tasarım yaklaşımı.
Birçok şeyden bahsettim.
Geriye kalan tek şey her şey elinizin altında.
Eğer bahsettiğim her şeyi öğrendiysen Bu rastgele sayı üreteci hariç.
Bu yeni bir şey.
If deyimlerinin nasıl yapıldığını biliyorsunuz, Döngüleri nasıl yapacağınızı,
değişkenleri nasıl bildireceğinizi biliyorsunuz, Bütün bu güzel şeyleri biliyorsun.
Çıktıyı şu adrese nasıl yazdıracağınızı biliyorsunuz ama rastgele sayı üretecini nasıl
yapacağınızı bilmiyorsunuz.
Bu yüzden ben de Sana bunun kodunu vereyim.
Rastgele bir sayı oluşturmanız gerekir.
Çünkü her çalıştırdığınızda programında, tahmin edebilecekleri yeni
bir numara olmasını istersiniz.
Yani rastgele bir sayı üretmek için 0'dan 20'ye kadar izlemeniz gereken
adımlar bunlardır.
İlk olarak 2 ek bilgi eklemeniz gerekir kütüphaneler, stdlib. h, zaman. h.
Yani şunları eklemek istiyorsunuz yönergelerini dosyanızın en üstüne yerleştirin.
Sdtlib. h kullanmanıza izin verecektir srand işlevi, rastgele sayılar
oluşturmanıza olanak tanır.
Zaman. h, aşağıdakileri sağlamanıza olanak tanır zamanı kullanarak rastgele sayı
için tohum oluşturur ve geçerli zamanı alır.
Yani ek olarak programımızın dışında kütüphaneler, sadece gerçekleştirmek istediğimiz
anlamına gelir bazı ek işlevler.
Bütün bunlardan bahsetmedik. c ile birlikte gelen standart
kütüphaneler, ancak 2 güzel geçerli saati almak ve ayrıca rastgele bir saat
oluşturmak için kullanacağımız sayı.
Bu yüzden önce bunları dahil ediyoruz Üstte 2 direktif.
Daha sonra bir ana fonksiyonumuzun içinde
time_t adında bir değişken ve sadece t adını verebilirsiniz, bunu eklersiniz.
Zaman değişkeninizi ekledikten sonra srand fonksiyonunu kullanarak rastgele
sayı üretecinizi başlatabilirsiniz.
Yani yapacağın şey srand demek.
Bu, aşağıdakiler için bir tohum sağlar rastgele oluşturucu, sadece onu
başlatmak için kullanılır.
Ve burada sadece şu satırı kopyalıyorsunuz kodu srand ((unsigned) ve sonra time ve sonra bir ampersand
t geçirirsiniz.
Anlamak zorunda bile değilsin. Bu kodun ne yaptığını öğrenmek için
kopyalayıp yapıştırmanız yeterli.
Ama bu bir random, rastgele sayı üretecini
başlatıyor.
İlklendirdikten sonra rastgele sayı üreteci,
sayıyı üretmeniz gerekir.
Ve tek yapmanız gereken rand dersiniz, rand adında
bir fonksiyon çağırırsınız ve 0 arasında olmasını istediğiniz için %21'in bir modül olduğunu söyleyin
ve 21 ise, sabit kodlanmış 21 kullanırsınız.
Bu rastgele sayıyı saklayabilirsiniz ve karşılaştıracağınız sayı bu olacaktır.
doğru tahmin edip etmediklerine bakılmaksızın döngüden çıkmaya
karşı.
Bu aynı zamanda olup olmadığını belirlemek için uh ile karşılaştırdığınız
çok düşük veya çok yüksek yazdırırsınız.
Yani bu çok eğlenceli olacak.
Yine, birçok kavrama if ifadeleri, döngü
yapıları, break deyimi, iç ve dış döngüler, iç içe döngüler,
pek çok güzel şey.
İyi şanslar, iyi eğlenceler, ve bir sonraki derste bir çözüm
sunacağım. Teşekkür ederim.