Menu
Coddy logo textTech

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

Coddy'nin C Journey'sinin Mantık & Akış bölümünün bir parçası. Ders 23 / 63.

challenge icon

Görev

Kolay

Üst harfe dönüştürme işlevi eklemek için önceki dersteki metin yardımcı programınızı genişletin. Programınız şunları yapmalıdır:

  1. Enter a sentence: yazdırarak kullanıcıdan kısa bir cümle girmesini isteyin (sonunda yeni satır olmadan)
  2. Girdiyi saklamak için 200 öğeli, sentence adlı bir karakter dizisi tanımlayın
  3. Kullanıcıdan tek bir kelime okumak için %s biçim belirteciyle birlikte scanf kullanın
  4. Saklanan kelimeyi şu biçimde 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 biçimde yazdırın: Character count: [count]
  7. strlen() kullanarak uzunluğu şu biçimde yazdırın: Length: [length]
  8. Sesli harfleri saymak için bir döngü kullanarak kelimedeki her karakter üzerinde yineleme yapın
  9. Her karakter için, karakterin hem küçük hem de büyük harf biçimlerinde bir sesli harf (a, e, i, o, u) olup olmadığını kontrol edin
  10. Bulunan sesli harflerin toplam sayısını tutun
  11. Sesli harf sayısını şu biçimde yazdırın: Vowel count: [count]
  12. Uppercase: yazdırın ve ardından kelimedeki her karakteri toupper() işlevini kullanarak büyük harfe dönüştürüp yazdırmak için bir döngü kullanın

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

toupper() hakkında:
<ctype.h> içindeki toupper() işlevi, tek bir karakteri büyük harf eşdeğerine 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' döndürür ve toupper('Z'), 'Z' döndürür.
Her karakteri tek tek dönüştürmek için bunu bir döngü içinde kullanabilirsiniz: printf("%c", toupper(sentence[i]));

Önemli: Enter a sentence: isteminin ardından yeni satır gelmemelidir. \n olmadan printf("Enter a sentence: "); kullanın.

Çıktınız sonuçları aşağıdaki biçimde göstermelidir:

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

Örneğin girdi şuysa:

Programming

Çıktınız şu 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() işlevini kullanarak üst harfe dönüştürme işlevi ekleyerek önceki dersin üzerine inşa edilir. string içindeki her karakter üzerinde yineleme yapmak ve onu 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;
}

Mantık & Akış bölümündeki tüm dersler

Kendi başına pratik yap: Online C derleyicisi