ahasis كتب:أخواني الأفاضل أشكر لكم هذا الحضور الجميلحقاً لقد تعلمت الكثر ... من خلال هذا الموضوع
والفضل يعود لله ومن ثم الأخ الفاضل time1
وهذا الحل لهذا السؤال
Convert from F to C (( C=f-32)x5/9
#include<iostream.h> void main() { float c,f; cout<<"Enter Tepmrature in Fehrenhait : "; cin>>f; c=(f-32)*(5/9); cout<<"The Temprature in Celsium ="<<c<<endl; }أهم شئ تعرف المطلوب من السؤال لكي يسهل حله
شكراً أساتذتي الأفاضل
اقتباساهلا اخي .. اعتقد انه يوجد خطأ ما .. لان برنامجك عندما حاولت تنفيذه وادخلت ارقام تكون النتائج 0 في كل مرة وهذا غير ممكن
اعتقد ان السبب في الخطأ هو ان 5/9 سوف تنتج صفر .. و بالتالي سوف تضرب في صفر.
الخطأ سببه ان 5 تعتبر عدد صحيح int, او بمعنى ادق, الـ 5 هي integer literal و نفس الشي ينطبق على 9, و لما تقسم عدد صحيح على عدد صحيح في لغة السي بلص بلص فالناتج سيكون عدد صحيح. لحل المشكلة يمكن استخدام 5.0/9.0 و لاحظ اضافة الفاصلة العشرية, من اجل ان تكون العملية تقسيم عدد عشري على عدد عشري و الناتج بالتالي ايضا سيكون عدد عشري float.
قد تشعر بالخربطة او لا تجد سبب منطقي لهذه الشروط الغريبة ..
لا بأس بذلك فأنت ما زلت تتعلم, و لكن لا تخف هناك اسباب منطقية متعلقة باللغة نفسها هي اللتي تؤدي الى هذه الشروط اللتي قد تبدو غريبة.

