C++
Sayı yardımcıları
Sayı dönüşüm ve hesaplama fonksiyonlarını eklersin.
Sayı yardımcıları
Şimdi Helpers sınıfına bir sayı yardımcısı ekleyeceğiz: clamp. Bu metod bir değeri belirli bir aralıkta tutar. Değer alt sınırdan küçükse alt sınırı, üst sınırdan büyükse üst sınırı döndürür; aksi halde değerin kendisini verir.
Örnek: static int clamp(int value, int min, int max) { if (value < min) return min; if (value > max) return max; return value; }. Helpers::clamp(15, 0, 10) çağrısı 10 döndürür; çünkü 15, 10'dan büyüktür. clamp(-3, 0, 10) ise 0 döndürür. Bu metod oyun skorlarını, ekran koordinatlarını veya yüzde değerlerini sınırlamak için kullanışlıdır.
clamp kullanımı
clamp metodunu çağırmak da tıpkı capitalize gibidir: Helpers::clamp(15, 0, 10). Önceki derslerin çıktısının ardından yeni satırda sonucu yazdırırız. Böylece çıktı birikerek büyümeye devam eder.
Çıktı sırası: Hazır, Merhaba, 10. Her ders bir öncekinin çıktısını korur ve yenisini ekler. Bu, yardımcı kütüphanenin aşama aşama büyüdüğünü gösterir. clamp'in döndürdüğü int değeri std::cout ile doğrudan yazdırabilirsin; ek bir dönüşüme gerek yoktur.
Uygulama clamp metodunu ekle ve çağır
Önceki dersin çözümünü al (Helpers sınıfında capitalize metodu var). public: altına static int clamp(int value, int min, int max) metodunu ekle: gövdesi if (value < min) return min; if (value > max) return max; return value;. main içinde capitalize çağrısından sonra std::cout << std::endl << Helpers::clamp(15, 0, 10); ekle.
Örnek çözümü göster
#include <iostream>
#include <string>
#include <cctype>
class Helpers {
public:
static std::string capitalize(std::string text) {
if (text.empty()) return text;
text[0] = std::toupper(text[0]);
return text;
}
static int clamp(int value, int min, int max) {
if (value < min) return min;
if (value > max) return max;
return value;
}
};
int main() {
std::cout << "Hazır" << std::endl;
std::cout << Helpers::capitalize("merhaba") << std::endl;
std::cout << Helpers::clamp(15, 0, 10);
return 0;
}
Kendini test et
-
clamp gövdesini tamamla
if (value < min) return min; if (value > ____) return max; return value;
Cevabı göster
if (value < min) return min; if (value > max) return max; return value;
-
Helpers::clamp(15, 0, 10) sonucu nedir?
Helpers::clamp(15, 0, 10)
Cevabı göster
10 — 15, 10'dan büyük olduğu için 10 döndürülür.
-
Çağrıyı sonucuna eşle
- clamp(15, 0, 10)
- 10 döner
- clamp(-3, 0, 10)
- 0 döner
- clamp(5, 0, 10)
- 5 döner
Sıradaki ders: Tarih yardımcıları