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

مشروع: تعريف Struct جهة الاتصال

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

challenge icon

التحدي

سهل

ستقوم ببناء أداة بسيطة لإدخال جهات الاتصال توضح كيف يمكن للهياكل (structs) تنظيم البيانات ذات الصلة في التطبيقات الواقعية.

قم بإنشاء برنامج بلغة C يحدد هيكل Contact لتخزين معلومات الاتصال. يجب أن يقوم برنامجك بما يلي:

  1. تعريف struct باسم Contact مع الأعضاء التاليين:
    • مصفوفة أحرف name بحجم 50 لتخزين اسم جهة الاتصال
    • مصفوفة أحرف phone بحجم 20 لتخزين رقم هاتف جهة الاتصال
    • مصفوفة أحرف email بحجم 40 لتخزين البريد الإلكتروني لجهة الاتصال
    • عدد صحيح age لتخزين عمر جهة الاتصال
  2. في الدالة الرئيسية (main function):
    • إنشاء متغير من نوع Contact باسم person
    • قراءة قيم المدخلات التالية وتعيينها لأعضاء الهيكل باستخدام عامل النقطة (dot operator):
      • قراءة سلسلة نصية للاسم وتعيينها لـ person.name
      • قراءة سلسلة نصية لرقم الهاتف وتعيينها لـ person.phone
      • قراءة سلسلة نصية للبريد الإلكتروني وتعيينها لـ person.email
      • قراءة عدد صحيح للعمر وتعيينه لـ person.age
    • بعد قراءة جميع القيم، قم بإجراء فحوصات التحقق التالية:
      • إذا كان العمر أقل من 0 أو أكبر من 120، اطبع Invalid age وأنهِ البرنامج
      • إذا كان طول رقم الهاتف أقل من 10 أحرف، اطبع Invalid phone number وأنهِ البرنامج
    • إذا نجحت جميع عمليات التحقق، اطبع معلومات الاتصال بهذا التنسيق الدقيق:
      • Contact Information:
      • Name: [name]
      • Phone: [phone]
      • Email: [email]
      • Age: [age]
    • حساب وطباعة معلومات إضافية:
      • اطبع طول الاسم باستخدام strlen() بالتنسيق: Name length: [length]
      • حدد فئة العمر واطبعها:
        • إذا كان العمر بين 0 و 17: Category: Minor
        • إذا كان العمر بين 18 و 64: Category: Adult
        • إذا كان العمر 65 أو أكثر: Category: Senior

يختبر هذا التحدي فهمك لتعريف الهياكل (struct)، والتصريح عن الأعضاء بأنواع بيانات وأحجام مناسبة، والوصول إلى أعضاء الهيكل باستخدام عامل النقطة، والتحقق من صحة المدخلات، واستخدام دوال السلاسل النصية مثل strlen() مع أعضاء الهيكل. ستتدرب على إنشاء هيكل بيانات عملي يمكن أن يكون بمثابة أساس لنظام إدارة جهات الاتصال.

جرّب بنفسك

#include <stdio.h>
#include <string.h>

// TODO: قم بتعريف هيكل (struct) باسم Contact هنا

int main() {
    // TODO: قم بإنشاء متغير من نوع Contact باسم person
    
    // قراءة قيم المدخلات
    scanf("%s", /* TODO: التعيين لـ person.name */);
    scanf("%s", /* TODO: التعيين لـ person.phone */);
    scanf("%s", /* TODO: التعيين لـ person.email */);
    scanf("%d", /* TODO: التعيين لـ person.age */);
    
    // TODO: اكتب كود التحقق والإخراج أدناه
    
    return 0;
}

جميع دروس Logic & Flow