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

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

جزء من قسم Logic & Flow في رحلة C على Coddy — الدرس 24 من 63.

challenge icon

التحدي

سهل

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

  1. مطالبة المستخدم بإدخال جملة قصيرة عن طريق طباعة: Enter a sentence: (بدون سطر جديد في النهاية — استخدم printf("Enter a sentence: ")، وليس printf("Enter a sentence: \n"))
  2. الإعلان عن مصفوفة أحرف (character array) باسم sentence تحتوي على 200 عنصر لتخزين المدخلات
  3. استخدام scanf مع محدد التنسيق %s لقراءة كلمة واحدة من المستخدم
  4. تخزين الكلمة الأصلية في مصفوفة أحرف منفصلة لأغراض العرض
  5. حساب العدد الإجمالي للأحرف باستخدام strlen()
  6. عد الحروف المتحركة (vowels) من خلال المرور على كل حرف والتحقق مما إذا كان يطابق أي حرف متحرك (a, e, i, o, u) في كل من الحالتين الصغيرة والكبيرة
  7. تحويل الكلمة إلى أحرف كبيرة باستخدام دالة toupper() داخل حلقة تكرارية (loop)
  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;
}

جميع دروس Logic & Flow