Menu
CoddyTech

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

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

challenge icon

التحدي

سهل

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

  1. يطلب من المستخدم إدخال جملة قصيرة بطباعة: Enter a sentence: متبوعة بسطر جديد، كما في الدروس السابقة
  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: \n");
    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 عبر الإنترنت