Menu
Coddy logo textTech

Büyük Harfe Dönüştürme

Coddy'nin C Journey'sinin Logic & Flow bölümünün bir parçası — ders 23 / 63.

challenge icon

Görev

Kolay

Önceki dersteki metin yardımcı programınızı büyük harf dönüştürme işlevi ekleyerek genişletin. Programınız şunları yapmalıdır:

  1. Kullanıcıdan kısa bir cümle girmesini istemek için şunu yazdırın: Enter a sentence: (sonunda yeni satır karakteri olmadan)
  2. Girdiyi saklamak için 200 elemanlı sentence adında bir karakter dizisi (character array) tanımlayın
  3. Kullanıcıdan tek bir kelime okumak için %s format belirleyicisi ile scanf kullanın
  4. Saklanan kelimeyi şu formatta yazdırın: You entered: [word]
  5. Kelimedeki toplam karakter sayısını hesaplamak için strlen() kullanın
  6. Karakter sayısını şu formatta yazdırın: Character count: [count]
  7. Uzunluğu strlen() kullanarak şu formatta yazdırın: Length: [length]
  8. Sesli harfleri saymak için bir döngü kullanarak kelimedeki her karakteri inceleyin
  9. Her karakter için, hem küçük hem de büyük harf olarak sesli harf (a, e, i, o, u) olup olmadığını kontrol edin
  10. Bulunan sesli harflerin sayısını tutun
  11. Sesli harf sayısını şu formatta yazdırın: Vowel count: [count]
  12. Uppercase: yazdırın ve ardından kelimedeki her karakteri toupper() fonksiyonunu kullanarak büyük harfe dönüştürüp yazdırmak için bir döngü kullanın

strlen() fonksiyonunu kullanmak için <string.h> başlık dosyasını ve toupper() fonksiyonunu kullanmak için <ctype.h> başlık dosyasını dahil etmeyi unutmayın.

toupper() Hakkında:
<ctype.h> kütüphanesindeki toupper() fonksiyonu, tek bir karakteri büyük harf karşılığına dönüştürür. Karakter zaten büyük harfse veya bir harf değilse, değiştirilmeden döndürülür.
Örnek: toupper('a'), 'A' değerini döndürür ve toupper('Z'), 'Z' değerini döndürür.
Her seferinde bir karakteri dönüştürmek için bunu bir döngü içinde kullanabilirsiniz: printf("%c", toupper(sentence[i]));

Önemli: Enter a sentence: isteminden sonra yeni bir satır gelmemelidir. \n olmadan printf("Enter a sentence: "); kullanın.

Çıktınız sonuçları aşağıdaki formatta görüntülemelidir:

Enter a sentence: You entered: [word]
Character count: [count]
Length: [length]
Vowel count: [count]
Uppercase: [WORD]

Örneğin, girdi şu ise:

Programming

Çıktınız şöyle olmalıdır:

Enter a sentence: You entered: Programming
Character count: 11
Length: 11
Vowel count: 3
Uppercase: PROGRAMMING

Bu meydan okuma, <ctype.h> kütüphanesindeki toupper() fonksiyonunu kullanarak büyük harf dönüştürme işlevi ekleyerek önceki dersin üzerine inşa edilmiştir. Dizedeki her karakteri incelemek ve büyük harfe dönüştürmek için bir döngü kullanmanız, ardından dönüştürülmüş sonucu yazdırmanız gerekecektir.

Kendin dene

#include <stdio.h>
#include <string.h>

int main() {
    printf("Enter a sentence: \n");
    
    char sentence[200];
    scanf("%s", sentence);
    
    printf("You entered: %s\n", sentence);
    
    int char_count = strlen(sentence);
    printf("Character count: %d\n", char_count);
    
    int length = strlen(sentence);
    printf("Length: %d\n", length);
    
    int vowel_count = 0;
    for (int i = 0; i < strlen(sentence); i++) {
        char c = sentence[i];
        if (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u' ||
            c == 'A' || c == 'E' || c == 'I' || c == 'O' || c == 'U') {
            vowel_count++;
        }
    }
    
    printf("Vowel count: %d\n", vowel_count);
    
    return 0;
}

Logic & Flow bölümündeki tüm dersler