Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

التحويل إلى أحرف كبيرة

جزء من قسم المنطق وتدفق التنفيذ في رحلة C على Coddy. الدرس 23 من 63.

challenge icon

التحدي

سهل

مدِّد برنامج أدوات النصوص الخاص بك من الدرس السابق لإضافة وظيفة التحويل إلى أحرف كبيرة. يجب أن يقوم برنامجك بما يلي:

  1. مطالبة المستخدم بإدخال جملة قصيرة عن طريق طباعة: Enter a sentence: (من دون سطر جديد في النهاية)
  2. التصريح عن مصفوفة محارف باسم sentence تحتوي على 200 عنصر لتخزين الإدخال
  3. استخدام scanf مع محدِّد التنسيق %s لقراءة كلمة واحدة من المستخدم
  4. طباعة الكلمة المخزنة بالتنسيق: You entered: [word]
  5. استخدام strlen() لحساب العدد الإجمالي للمحارف في الكلمة
  6. طباعة عدد المحارف بالتنسيق: Character count: [count]
  7. طباعة الطول باستخدام strlen() بالتنسيق: Length: [length]
  8. التكرار عبر كل محرف في الكلمة باستخدام حلقة لعدِّ حروف العلة
  9. لكل محرف، التحقق مما إذا كان حرف علة (a, e, i, o, u) سواءً بالأحرف الصغيرة أو الكبيرة
  10. الحفاظ على عدّاد مستمر لحروف العلة التي تم العثور عليها
  11. طباعة عدد حروف العلة بالتنسيق: Vowel count: [count]
  12. طباعة Uppercase: ثم استخدام حلقة لتحويل كل محرف في الكلمة إلى حرف كبير وطباعته باستخدام الدالة toupper()

تذكّر تضمين الترويسة <string.h> لاستخدام الدالة strlen() والترويسة <ctype.h> لاستخدام الدالة toupper().

حول toupper():
تُحوِّل الدالة toupper() من <ctype.h> محرفًا واحدًا إلى مكافئه بالحرف الكبير. إذا كان المحرف كبيرًا بالفعل أو لم يكن حرفًا، فسيُعاد دون تغيير.
مثال: تُعيد toupper('a') القيمة 'A'، وتُعيد toupper('Z') القيمة 'Z'.
يمكنك استخدامها داخل حلقة لتحويل كل محرف على حدة: printf("%c", toupper(sentence[i]));

مهم: يجب ألا يتبع المطالبة Enter a sentence: سطر جديد. استخدم printf("Enter a sentence: "); من دون \n.

يجب أن يعرض إخراجك النتائج بالتنسيق التالي:

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

على سبيل المثال، إذا كان الإدخال هو:

Programming

فيجب أن يكون إخراجك:

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

يتابع هذا التحدي الدرس السابق بإضافة وظيفة التحويل إلى أحرف كبيرة باستخدام الدالة toupper() من المكتبة <ctype.h>. ستحتاج إلى استخدام حلقة للتكرار عبر كل محرف في السلسلة وتحويله إلى حرف كبير، ثم طباعة النتيجة المحوَّلة.

جرّب بنفسك

#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;
}

جميع دروس المنطق وتدفق التنفيذ

تدرّب بنفسك: مترجم C عبر الإنترنت