هذا سؤال وضعته من فترة في المنتدى و لكن إختفى بسبب المشاكل في قاعدة البيانات على ما أعتقد ..
السؤال كالتالي :
لدينا هذا البرنامج الذي في الأسفل .. صحيح 100 % من ناحية اللغة و لكنه لا يعمل كما يفترض .. من يستطيع اكتشاف الـ BUG التي توجد فيه .
البرنامج بسيط جداً .
#include <iostream>
using namespace std;
int main () {
double i = 4.0;
while ( i != 0 ){
cout << i << "\n";
i -= 0.1;
}
return 0;
}فكرة البرنامج أن المتغير i سيبدأ بالقيمة 4 و بعد ذلك سيتناقص بمقدار 0.1 و سيتم التحقق من قيمة i في الـ Loop فإذا كانت قيمته 0.0 فلا يكمل الـ Loop.
المشكلة هنا أنه حتى بعد 40 دورة لا يتوقف البرنامج و يبدأ في طباعة الأرقام السالبة حتى ما لا نهاية ( انت و قدرة جهازك :P )
حاول و ضع حلك ...


