البرمجة

تحقق من تكرار الرقم الوظيفي في لغة C

لقد قمت بتطوير برنامج يستخدم اللغة C لإدخال معلومات عن العمال إلى ملف نصي والتحقق من تكرار الرقم الوظيفي (ID) الخاص بهم. فيما يلي شرح لكيفية عمل البرنامج:

  1. يتم تعريف هيكل struktura الذي يحتوي على البيانات الأساسية للموظفين، مثل ID والاسم والراتب وسنة البدء في العمل.
  2. تتوفر وظيفة clear_input_buffer لتنظيف البيانات المتبقية في الذاكرة بعد استخدام دالة scanf.
  3. تتوفر وظيفة provjera للتحقق مما إذا كان هناك ID مكرر في ملف النص.
  4. في الدالة الرئيسية main، يتم فتح ملف النص “datoteka.txt” للكتابة.
  5. يُطلب من المستخدم إدخال عدد العمال M.
  6. يتم استخدام حلقتين متداخلتين لإدخال ID فريد لكل عامل.
  7. يتم استخدام دالة provjera للتحقق من عدم تكرار ال ID.
  8. تُطلب من المستخدم إدخال اسم وراتب وسنة البدء في العمل لكل عامل.
  9. تُكتب بيانات كل عامل إلى ملف النص “datoteka.txt”.
  10. يتم إغلاق ملف النص بعد الانتهاء من الكتابة.

تأكد من أن ملف “datoteka.txt” موجود في نفس المجلد الذي يحتوي على برنامجك. استمر في تعديل البرنامج وتحسينه حسب احتياجاتك، ولا تتردد في طرح أسئلتك إذا كنت بحاجة إلى مساعدة إضافية.

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

بالطبع، إليك المزيد من المعلومات حول البرنامج الذي قمت بتطويره:

  1. تم استخدام وظيفة gets لقراءة سلسلة الأحرف (الاسم واللقب)، ولكن يُفضل استخدام fgets بدلاً من gets لتجنب مشاكل الأمان. يُمكن استخدام fgets على النحو التالي:

    c
    fgets(radnik.imeprezime, sizeof(radnik.imeprezime), stdin);
  2. قد يكون من الأفضل استخدام fprintf لكتابة رسائل الخطأ إلى stderr بدلاً من printf، حيث أن stderr يستخدم لرسائل الخطأ والتنبيهات. على سبيل المثال:

    c
    fprintf(stderr, "Nema datoteke!\n");
  3. يمكنك تحسين كفاءة البرنامج عن طريق استخدام الحلقات المناسبة للتحقق من صحة الإدخالات وتكرار العمليات. على سبيل المثال، يمكنك استخدام حلقة do-while للتحقق من أن ال ID يتكون من 3 أرقام:

    c
    do { printf("Unesi ID\n"); scanf("%d", &radnik.ID); clear_input_buffer(); } while (radnik.ID < 100 || radnik.ID > 999);
  4. يمكنك أيضًا إضافة دالة لطباعة محتويات الملف “datoteka.txt” للتحقق من البيانات المخزنة.

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

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