البرمجة

تحسين برنامج C لقراءة وتخزين الأرقام

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

أولًا وقبل كل شيء، يجب التأكد من أن البرنامج يتم تنفيذه بشكل صحيح. يمكنك إصلاح هذا الجانب عن طريق إضافة return 0; في نهاية الدالة main لضمان أن البرنامج يعود بشكل صحيح.

ثانيًا، يجب على المستخدم إدخال ثلاثة أرقام، ولكن تم تعريف numEntered كمصفوفة من نوع int ولها حجم 2. يجب تغيير حجم المصفوفة ليكون 3 لتخزين الأرقام الثلاثة.

ثالثًا، تحتاج إلى استخدام دالة getchar ثلاث مرات لقراءة الأرقام الثلاثة. يمكنك استخدامها داخل حلقة for لتكرار عملية القراءة وتخزين القيم في المصفوفة numEntered. يمكنك أيضًا استخدام دالة scanf لتسهيل هذه العملية.

رابعًا، يجب أيضًا إصلاح الأخطاء النحوية في الشيفرة، مثل نقص الفاصلة المنقوطة في نهاية دالة printf وإضافة فاصلة منقوطة بعد الدالة getchar.

الشيفرة المعدلة قد تبدو كما يلي:

c
#include int main() { printf("Please enter three digit number 100 to 999: "); int numEntered[3]; // تم تعديل حجم المصفوفة for (int i = 0; i < 3; i++) { numEntered[i] = getchar(); // تم استخدام دالة getchar داخل حلقة for } for (int i = 0; i < 3; i++) { printf("%d ", numEntered[i]); // تم إصلاح نقص الفاصلة المنقوطة } return 0; // تمت إضافة عبارة return 0 }

بعد تحديث الشيفرة، يجب أن تعمل البرنامج بشكل صحيح ويقوم بقراءة الأرقام الثلاثة وعرضها. يُشجع المبتدئين دائمًا على استخدام تقنيات تصحيح الأخطاء لفهم كيفية تحسين الشيفرة وتعزيز مهارات البرمجة.

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

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

أولاً، يجب التنويه إلى أن استخدام getchar لقراءة الأرقام يعود بقيم ASCII للأحرف المدخلة. لذلك، إذا أردت تخزين الأرقام كقيم صحيحة، يجب تحويل القيم ASCII إلى أرقام صحيحة باستخدام دالة atoi أو بطرق أخرى.

ثانيًا، يمكن أن يساعد تحسين الرسائل التي تُطلب من المستخدم إدخال البيانات على توضيح الطلب وجعل البرنامج أكثر تفاعلًا. يمكنك تحسين رسالة الطلب لتشير إلى أن المستخدم يجب أن يدخل الأرقام بفراغ بينها، على سبيل المثال: “الرجاء إدخال ثلاثة أرقام مفصولة بفراغ، مثال: 123 456 789”.

هناك أيضًا إمكانية إضافة تحقق من صحة الإدخالات المستخدم باستخدام دوال مثل isdigit للتأكد من أن الحرف المدخل هو رقم.

الشيفرة المعدلة مع هذه التحسينات قد تكون كالتالي:

c
#include #include #include int main() { printf("Please enter three numbers separated by a space, e.g., 123 456 789: "); int numEntered[3]; for (int i = 0; i < 3; i++) { int currentChar = getchar(); while (!isdigit(currentChar)) { // تحقق من أن الحرف المدخل هو رقم printf("Invalid input. Please enter a number: "); currentChar = getchar(); } numEntered[i] = atoi(¤tChar); } for (int i = 0; i < 3; i++) { printf("%d ", numEntered[i]); } return 0; }

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

مقالات ذات صلة

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

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

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