CodeBlanks Logo Icon CodeBlanks

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.

Başlangıç kodu

main.cpp
#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;
    }
};

int main() {
    std::cout << "Hazır" << std::endl;
    std::cout << Helpers::capitalize("merhaba");
    // clamp metodunu ekle ve çağır
    return 0;
}

Örnek çözüm

main.cpp
#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;
}

Beklenen çıktı

Hazır
Merhaba
10

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 clamp gövdesini tamamla

Soru
if (value < min) return min; if (value > ____) return max; return value;
Cevap
if (value < min) return min; if (value > max) return max; return value;

Açıklama: Değer üst sınırdan büyükse max döndürülür.

2 Helpers::clamp(15, 0, 10) sonucu nedir?

main.cpp
Helpers::clamp(15, 0, 10)
  • 15
  • 0
  • 10 Doğru cevap
  • 5

Açıklama: 15, 10'dan büyük olduğu için 10 döndürülür.

3 Çağrıyı sonucuna eşle

Kavram Anlamı
clamp(15, 0, 10) 10 döner
clamp(-3, 0, 10) 0 döner
clamp(5, 0, 10) 5 döner

Orta seviye bölümündeki tüm dersler