الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشكلة في كود عملية الجمع

مغلق
بدأه الليل الصافي في 2 مارس 2006 · 2 رد · 502 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

عندي سؤال يا شباب مع الملاحطة إني مبتدئ
كتبت برنامج بسيط عبارة عن عميلة جمع

include <iostream>using std::cout;using std::cin;using std::endl;int main(){int N1 , N2 , sum;cout<<"Enter Number 1:";cin>>N1;[COLOR=red]sum = N1*N2;cout<< " Enter Number 2 :";cin>> N2;cout << " sum is:"<<sum<< endl;return 0;}


طبعاً واضح الغلط حطيت الضرب (sum) قبل ما أدخل العدد الثاني

المفروض عقلياً يعتبر العدد الثاني صفر
بس حطيت العدد الأول 4 والعدد الثاني 2 أعطاني النتيجة
16943064
يعني أنه ضرب في العدد 4235766

طريقة معرفة العدد المضروب هي
Sum\N1=N2
16943064\4=??????
إذا كانتsum قبل العدد الأول تكون النتيجة صفر


أرجوكم أعطوني ملاحظاتكم على البرمجه هذه وجواب تعجبي ليش ماضرب في صفر

مرفق صورة البرنامج

والسلام عليكم ورحمة الله وبركاته

6.bmp

تم تعديل هذه المشاركة بواسطة مصطفى 36a2 في 14 نوفمبر 2013 في 14:23 — السبب: تنسيق الكود

#2

بالنسبة للسؤال ده فالجواب بسيط

الGlobal Variables فقط هي التي يتم عمل initialize لها تلقائيا بالقيمة صفر أي المتغيرات العامة المكتوبة خارج أي إجراء التي لها file scope

أما الLocal Variables فيجب عليك أن تضع بنفسك قيمة بدائية لها و تقوم بعمل initialization لها

فبدلا من الكود التالي

int N1 , N2 , sum;

إكتب الأتي

int N1 = 0, N2 = 0, sum = 0;

لأن المتغيرات المحلية الموجودة داخل الإجراءات لا يمكن تحديد البيانات الموجودة بها لأول مرة قبل عمل initialization و غالبا ما تكون هذه البينات لبرامج أخرى قد تم تحريرها من الذاكرة و لكن بالطبع ظلت البينات التي كتبتها على الذاكره كما هي إلى أن يأتي برنامج جديد و يستخدم هذه المساحة من الذاكرة و يعيد الكتابة عليها

#3

الله يجزاك ألف ألف ألف خير يا usama707

وكل من اطلع وشارك والجميع

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…