Son Çıktı
Coddy'nin C Journey'sinin Mantık & Akış bölümünün bir parçası. Ders 24 / 63.
Görev
KolayÖnceki derslerde oluşturduğun tüm özellikleri tek ve kapsamlı bir çıktıda birleştirerek metin yardımcı programını tamamla. Programın şunları yapmalıdır:
Enter a sentence:yazdırarak kullanıcıdan kısa bir cümle girmesini istemelidir (sonunda yeni satır olmamalıdır:printf("Enter a sentence: ")kullanılmalı,printf("Enter a sentence: \n")kullanılmamalıdır)- Girdiyi depolamak için 200 öğeli
sentenceadlı bir karakter dizisi bildirmelidir - Kullanıcıdan tek bir kelime okumak için
%sbiçim belirteciyle birliktescanfkullanmalıdır - Görüntüleme amacıyla özgün kelimeyi ayrı bir karakter dizisinde depolamalıdır
strlen()kullanarak toplam karakter sayısını hesaplamalıdır- Her karakterin üzerinden geçerek hem küçük hem de büyük harfli sesli harflerden (a, e, i, o, u) herhangi biriyle eşleşip eşleşmediğini kontrol ederek sesli harfleri saymalıdır
- Bir döngüde
toupper()işlevini kullanarak kelimeyi büyük harfe dönüştürmelidir - Her bilgi parçasını ayrı bir satırda göstererek tüm sonuçları temiz ve düzenli bir biçimde görüntülemelidir
Dizge işlevleri için <string.h> başlığını ve karakter dönüştürme işlevleri için <ctype.h> başlığını eklemeyi unutma.
Çıktın tüm sonuçları aşağıdaki tam biçimde görüntülemelidir:
Enter a sentence: Original: [word]
Characters: [count]
Vowels: [count]
Uppercase: [WORD]Önemli: Enter a sentence: isteminin ardından yeni satır gelmemelidir. Original: kelimesi, girdi okunduktan hemen sonra aynı satırda görünür.
Örneğin girdi şu şekildeyse:
HelloÇıktın şu şekilde olmalıdır:
Enter a sentence: Original: Hello
Characters: 5
Vowels: 2
Uppercase: HELLOBu son görev, proje boyunca geliştirdiğin tüm metin işleme özelliklerini bir araya getirir: girdi işleme, strlen() ile karakter sayma, döngüler ve koşullu ifadelerle sesli harf sayma ve toupper() ile büyük harfe dönüştürme. Program, metin analizi sonuçlarının temiz ve düzenli bir özetini sunmalıdır.
Kendin dene
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main() {
char sentence[200];
printf("Enter a sentence: ");
scanf("%s", sentence);
printf("You entered: %s\n", sentence);
int length = strlen(sentence);
printf("Character count: %d\n", length);
printf("Length: %d\n", length);
int vowel_count = 0;
for (int i = 0; i < length; 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);
printf("Uppercase: ");
for (int i = 0; i < length; i++) {
printf("%c", toupper(sentence[i]));
}
printf("\n");
return 0;
}Mantık & Akış bölümündeki tüm dersler
1Pointer Temelleri
Pointer Nedir?Pointer TanımlamaAdres Operatörü (&)Dereference Operatörü (*)NULL Pointer'larÖzet: Pointer Temelleri4Proje: Basit Metin Aracı
Projeye Genel BakışKarakter Sayma2İşaretçiler ve Diziler
İşaretçi Olarak Dizi İsimleriDizi Elemanları - İşaretçilerİşaretçi Aritmetiğiİşaretçilerin KarşılaştırılmasıÖzet: İşaretçi ile Dizi Gezinme5İşaretçiler ve Fonksiyonlar
Değer ile GeçmeFonksiyonlara İşaretçi Göndermeİşaretçiler ile Değişkenleri DeğiştirmeKlasik Bir Örnek: SwapFonksiyonlara Dizi GöndermeÖzet: Fonksiyon İşaretçi Argümanları8Yapılar ve İşaretçiler
Yapılara İşaretçilerOk Operatörü (->)Yapıları Değer ile AktarmaYapı İşaretçilerini AktarmaYapıların Dinamik TahsisiÖzet: Yapıyı Değiştirme - Ptr11Son Tekrar Görevleri
Tekrar: Dinamik String BirleştirmeTekrar: Struct DizisiTekrar: Kelime Frekans Sayacı3Karakter Dizileri ve Stringler
char Dizisi Olarak StringlerNull Sonlandırıcıscanf ile String Girişistrlen() Kullanımıstrcpy() Kullanımıstrcat() Kullanımıstrcmp() KullanımıÖzet: Temel String FonksiyonlarıKendi başına pratik yap: Online C derleyicisi