مدخل المستخدم

  • قراءة القيم من سطر الأوامر في لغة C

    في البداية، في لغة C، لا توجد نوع معين يسمى “string” كما في لغات برمجة أخرى مثل C++ أو Java. بدلاً من ذلك، يتم تمثيل السلاسل النصية باستخدام مصفوفة من الأحرف (مع نهاية السلسلة تحتوي على القيمة \0 للإشارة إلى نهاية السلسلة). عند قراءة سلسلة نصية من مدخل المستخدم باستخدام scanf، يمكنك استخدام %s ولكن يجب أن تتيح مساحة كافية للمدخل النصي لتخزينها دون تجاوز حدود المصفوفة.

    المشكلة في السطر الذي ذكرته:

    c
    scanf("%[^\n]", sbuf.mtext);

    هي أنه يقرأ سلسلة نصية حتى يصل إلى السطر الجديد (\n)، ولكنه لا يقوم بتضمين السطر الجديد في السلسلة. يمكن حل هذه المشكلة عن طريق إضافة \n في نمط القراءة لـ scanf:

    c
    scanf("%[^\n]%*c", sbuf.mtext);

    هنا %[^\n] يقوم بقراءة أي حرف غير سطر جديد، و %*c يقوم بقراءة السطر الجديد نفسه وتجاهله.

    إذا أردت الحصول على المدخل من سطر الأوامر (command line) بدلاً من مدخل المستخدم، يمكنك استخدام وسيطات الدالة main:

    c
    int main(int argc, char *argv[]) { // تأكد من أن واحد على الأقل من وسيط السطر الأمر مع البرنامج if (argc < 2) { printf("Usage: %s \n", argv[0]); return 1; } // استخدم الوسيط الثاني (argv[1]) كرسالة printf("Message: %s\n", argv[1]); return 0; }

    في هذا المثال، argc هو عدد وسيطات السطر الأمر، و argv هو مصفوفة من السلاسل النصية تحتوي على وسيطات السطر الأمر. argv[0] هو اسم البرنامج نفسه، و argv[1] هو الوسيط الأول بعد اسم البرنامج وهو الرسالة التي تم تمريرها من سطر الأوامر.

    المزيد من المعلومات

    بالطبع! في لغة C، عندما تحتاج إلى الحصول على القيم من سطر الأوامر (command line)، يمكنك استخدام وسيطات الدالة main كما ذكرت سابقًا. هذه الوسيطات تمثل عدد الوسائط وقيمها كمصفوفة من السلاسل النصية.

    علاوة على ذلك، في C، عندما تقوم بتعريف متغير وتريد تعيين قيمة له، يمكنك القيام بذلك عن طريق استخدام عامل التعيين =. على سبيل المثال:

    c
    int x; // تعريف متغير من نوع integer x = 10; // تعيين قيمة 10 للمتغير x

    فيما يتعلق بـ scanf، فهو يستخدم للقراءة من مدخل المستخدم (مثل وظيفة cin في C++)، وتحديدًا يقوم بقراءة الإدخال حتى يتم العثور على محرف معين. على سبيل المثال، إذا كنت تريد قراءة عدد من النصوص من المستخدم:

    c
    char name[50]; // تعريف مصفوفة لتخزين الاسم printf("Enter your name: "); scanf("%s", name); // قراءة الاسم من المستخدم

    يجب عليك أن تكون حذرًا عند استخدام scanf لقراءة السلاسل النصية، حيث إنها قد تتسبب في مشاكل إذا تم إدخال نص طويل جدًا، لذا من الأفضل استخدام fgets للقراءة بدلاً من ذلك.

  • امثلة على برامج سي بلس بلس c++


    أمثلة على برامج سي بلس بلس C++

    أمثلة على برامج سي بلس بلس C++

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

    مثال 1: برنامج مرحباً بالعالم

    هذا المثال يعتبر مثالًا بسيطًا يقوم بطباعة رسالة “مرحباً بالعالم” على شاشة الكمبيوتر. قم بإنشاء ملف جديد بامتداد .cpp وأدخل الكود التالي:

    
    #include 
    using namespace std;
    
    int main() {
    cout << "مرحباً بالعالم" << endl;
    return 0;
    }
    

    شرح المثال:

    يبدأ البرنامج بتضمين المكتبة iostream التي تتضمن وظائف إدخال وإخراج البيانات في C++. ثم يستخدم تعليمة using namespace std لاستخدام الأوامر القياسية في الفضاء الاسمي std.

    داخل الدالة main، يتم استخدام cout (باختصار لـ "character output") لطباعة رسالة "مرحباً بالعالم" على الشاشة. ويتم استخدام endl لإضافة سطر جديد بعد طباعة الرسالة.

    في النهاية، يتم إرجاع قيمة صفر (0) للدلالة على انتهاء البرنامج بنجاح.

    مثال 2: حساب متوسط الأعداد

    هذا المثال يستخدم دورة تكرارية لحساب متوسط مجموعة من الأعداد المدخلة من المستخدم. قم بإنشاء ملف جديد بامتداد .cpp وأدخل الكود التالي:

    
    #include 
    using namespace std;
    
    int main() {
    int n;
    float sum = 0;
    float average;
    
    cout << "أدخل عدد الأعداد: ";
    cin >> n;
    
    cout << "أدخل الأعداد: " << endl;
    
    for (int i = 0; i < n; i++) {
    float num;
    cin >> num;
    sum += num;
    }
    
    average = sum / n;
    
    cout << "متوسط الأعداد = " << average << endl;
    
    return 0;
    }
    

    شرح المثال:

    يبدأ البرنامج بتعريف متغيرات العدد الكلي n والمجموع sum والمتوسط average. ثم يطلب من المستخدم إدخال عدد الأعداد التي يرغب في حساب متوسطها.

    بعد ذلك، يتم طلب المستخدم إدخال الأعداد وحساب مجموعها باستخدام دورة تكرارية for. يتم تخزين الأعداد في متغير مؤقت num ثم يتم إضافتها إلى المجموع sum.

    في النهاية، يتم حساب المتوسط بقسمة المجموع على عدد الأعداد ويتم طباعة النتيجة.

    استكشاف المزيد

    تلك كانت أمثلة بسيطة على برامج C++، ولكن هناك الكثير من الأمثلة والتطبيقات المعقدة التي يمكنك استكشافها. يمكنك تطوير برامج لألعاب الكمبيوتر، ونظم إدارة المخزون، وتطبيقات الويب، وأكثر من ذلك بكثير باستخدام C++.

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر