C# Switch-case ile sesli ve sessiz harfi ekrana yazdırma

  • Konuyu başlatan DarL
  • Başlangıç Tarihi
  • Mesaj 11
  • Görüntüleme 2.273

DarL

Femtopat
Katılım
28 Haziran 2023
Mesajlar
96
Daha fazla  
Cinsiyet
Erkek
Bilişim okuyorum ve ödev verildi.



Çok kolay olmasına rağmen yapamıyorum.
Nereyse 1 saattir kafa patlatıyorum ama ne sitelerde ne de kendim bulamadım. Tabii konuyla alakalı tek bulduğum bu fakat buradaki for/if/else ile yapmış benim Switch-case kullanarak yapmam isteniliyor.



Benim de son yaptığım olarak en son böyle bir şey ortaya çıktı.





İlk olarak gidişat yolunda nerede yanlış yapmışım ve nasıl yapabilirim?
 
Basit olsun dersen bunu kullan.
C#:
char karakter = 'a'; // Harf belirle.

if ((karakter >= 'A' && karakter <= 'Z') || (karakter >= 'a' && karakter <= 'z'))
{
    switch (char.ToUpper(karakter))
    {
        case 'A':
        case 'E':
        case 'I':
        case 'İ':
        case 'O':
        case 'Ö':
        case 'U':
        case 'Ü':
            Console.WriteLine("Girilen karakter bir sesli harftir.");
            break;
        default:
            Console.WriteLine("Girilen karakter bir sessiz harftir.");
            break;
    }
}
else
{
    Console.WriteLine("Girilen karakter geçersizdir.");
}

Daha dinamik olsun diyorsan bunu.
C#:
public enum HarfTuru
{
    Sesli,
    Sessiz,
    Gecersiz
}

public static HarfTuru HarfTurunuBelirle(char karakter)
{
    char buyukHarf = char.ToUpper(karakter);
  
    if (buyukHarf >= 'A' && buyukHarf <= 'Z')
    {
        if ("AEIOUÜİÖ".Contains(buyukHarf))
        {
            return HarfTuru.Sesli;
        }
        else
        {
            return HarfTuru.Sessiz;
        }
    }
    else
    {
        return HarfTuru.Gecersiz;
    }
}

public static void Main(string[] args)
{
    char karakter = 'a'; // Harfi belirle.

    HarfTuru harfTuru = HarfTurunuBelirle(karakter);

    switch (harfTuru)
    {
        case HarfTuru.Sesli:
            Console.WriteLine("Girilen karakter bir sesli harftir.");
            break;
        case HarfTuru.Sessiz:
            Console.WriteLine("Girilen karakter bir sessiz harftir.");
            break;
        case HarfTuru.Gecersiz:
            Console.WriteLine("Girilen karakter geçersizdir.");
            break;
    }
}
 
Son düzenleme:
Hocam ben arkadaş kodlamaya yeni başlamış o yüzden başlangıç seviyesinde kod yazdım daha iyisi derseniz buyrun aşağıda;


C#:
char karakter = 'A'; // karakterin A olduğunu varsayıp

var sonuc = karakter switch
{
    < 'A' or > 'Z' => "Geçersiz karakter.",
    'A' or 'E' or 'I' or 'İ' or 'O' or 'Ö' or 'U' or 'Ü' => "Sesli harf",
    _ => "Sessiz harf"
};

Console.WriteLine(sonuc);
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…