مراجعة: آلة حاسبة تركيبية
جزء من قسم Object Oriented Programming في رحلة C على Coddy — الدرس 5 من 61.
التحدي
سهللنقم ببناء آلة حاسبة نمطية تقوم بعمليات حسابية أساسية، منظمة عبر ثلاثة ملفات لممارسة كل ما تعلمته حول البرمجة النمطية في لغة C.
ستقوم بإنشاء ثلاثة ملفات:
calc.h: ملف الترويسة الخاص بك والذي يعلن عن ثلاث دوال للحاسبة:add، وsubtract، وmultiply. تأخذ كل دالة عددين صحيحين وتعيد عدداً صحيحاً. قم بحماية ملف الترويسة باستخدام حراس التضمين (include guards) باستخدام الرمزCALC_H.calc.c: ملف المصدر الخاص بك الذي يحتوي على تنفيذات العمليات الثلاث جميعها. تذكر تضمين ملف الترويسة الخاص بك لضمان بقاء التصريحات والتعريفات متزامنة.main.c: ملفك الرئيسي الذي يتضمن ملف الترويسة ويستخدم دوال الحاسبة لإجراء العمليات بناءً على المدخلات.
ستتلقى ثلاثة مدخلات صحيحة: a، و b، و c.
في الدالة الرئيسية، قم بإجراء الحسابات التالية واطبع كل نتيجة في سطر منفصل:
- مجموع
aوb - نتيجة طرح
cمنa - حاصل ضرب
bوc
اطبع النتائج بهذا التنسيق:
Sum: {result}
Difference: {result}
Product: {result}على سبيل المثال، مع المدخلات 10، و 5، و 3، سيكون الناتج:
Sum: 15
Difference: 7
Product: 15جرّب بنفسك
#include <stdio.h>
#include "calc.h"
int main() {
int a, b, c;
scanf("%d", &a);
scanf("%d", &b);
scanf("%d", &c);
// TODO: احسب مجموع a و b باستخدام دالة add
// TODO: احسب الفرق بين a و c باستخدام دالة subtract
// TODO: احسب حاصل ضرب b و c باستخدام دالة multiply
// TODO: اطبع النتائج بالتنسيق المطلوب:
// المجموع: {result}
// الفرق: {result}
// حاصل الضرب: {result}
return 0;
}
جميع دروس Object Oriented Programming
1أساسيات البرمجة التركيبية
ملفات الترويسةحواجز التضمينملفات المصدرالدوال الساكنةمراجعة: آلة حاسبة تركيبية4التغليف (Encapsulation)
مفهوم الـ Opaque Pointersتعريف الـ Opaque Structsالـ Getters والـ Settersالتحقق من البيانات في الـ Settersملخص: الصندوق السري2الكائنات والأساليب
الـ Structs ككائناتمؤشر 'Self'صحة استخدام Constالمؤشر مقابل القيمةالأساليب المساعدةملخص: Point Manager5مشروع: حساب بنكي بسيط
إعداد المشروعتنفيذ الحساب3دورة حياة الكائن
نمط المنشئ (Constructor Pattern)نمط الهادم (Destructor Pattern)تهيئة الـ Stackالنسخ العميق (Deep Copy)مراجعة: String Wrapper6الوراثة عبر التركيب
تضمين الـ Structقاعدة العضو الأولالوصول إلى أعضاء الأبعملية الـ Upcastingمراجعة: هرمية الأشكال9مشروع: رسّام الأشكال
نظرة عامة على المشروعتنفيذ الدائرة