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

المخرج النهائي

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

challenge icon

التحدي

سهل

أكمل برنامج أدوات النصوص الخاص بك من خلال دمج جميع الميزات التي أنشأتها في الدروس السابقة في مخرجات واحدة شاملة. يجب أن يقوم برنامجك بما يلي:

  1. مطالبة المستخدم بإدخال جملة قصيرة من خلال طباعة: Enter a sentence: (من دون سطر جديد في النهاية: استخدم printf("Enter a sentence: ") وليس printf("Enter a sentence: \n"))
  2. تعريف مصفوفة محارف باسم sentence تحتوي على 200 عنصر لتخزين الإدخال
  3. استخدام scanf مع محدد التنسيق %s لقراءة كلمة واحدة من المستخدم
  4. تخزين الكلمة الأصلية في مصفوفة محارف منفصلة لأغراض العرض
  5. حساب العدد الإجمالي للمحارف باستخدام strlen()
  6. عدّ حروف العلة من خلال التكرار عبر كل محرف والتحقق مما إذا كان يطابق أي حرف من حروف العلة (a, e, i, o, u) بأحرف صغيرة أو كبيرة
  7. تحويل الكلمة إلى أحرف كبيرة باستخدام الدالة toupper() داخل حلقة
  8. عرض جميع النتائج بتنسيق واضح ومنظم، بحيث تظهر كل معلومة في سطر منفصل

تذكّر تضمين الترويسة <string.h> لدوال السلاسل النصية والترويسة <ctype.h> لدوال تحويل المحارف.

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

Enter a sentence: Original: [word]
Characters: [count]
Vowels: [count]
Uppercase: [WORD]

مهم: يجب ألا يتبع المطالبة Enter a sentence: سطر جديد. تظهر الكلمة Original: في السطر نفسه مباشرة بعد قراءة الإدخال.

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

Hello

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

Enter a sentence: Original: Hello
Characters: 5
Vowels: 2
Uppercase: HELLO

يجمع هذا التحدي النهائي كل ميزات معالجة النصوص التي طوّرتها طوال المشروع: معالجة الإدخال، وعدّ المحارف باستخدام strlen()، وعدّ حروف العلة باستخدام الحلقات والعبارات الشرطية، والتحويل إلى أحرف كبيرة باستخدام toupper(). يجب أن يعرض البرنامج ملخصًا واضحًا ومنظمًا لنتائج تحليل النص.

جرّب بنفسك

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

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

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