• 0
  • مالي خلق
  • أتهاوش
  • متضايق
  • مريض
  • مستانس
  • مستغرب
  • مشتط
  • أسولف
  • مغرم
  • معصب
  • منحرج
  • آكل
  • ابكي
  • ارقص
  • اصلي
  • استهبل
  • اضحك
  • اضحك  2
  • تعجبني
  • بضبطلك
  • رايق
  • زعلان
  • عبقري
  • نايم
  • طبيعي
  • كشخة
  • النتائج 1 إلى 4 من 4

    الموضوع: ما الخطأ في هذا الكود

    1. #1
      التسجيل
      05-11-2004
      المشاركات
      746
      المواضيع
      78
      شكر / اعجاب مشاركة

      Unhappy ما الخطأ في هذا الكود

      السلام عليكم ورحمة الله وبركاته
      مبارك رمضان وكل عام وانتم بخير
      انا كنت جالس ولا اعرف ماذا افعل فقلت اعمل برنامج صغير اشوف الباقي بعقلي
      فعمل برنامج يحسب معدل الطالب وهو يضع عدد المواد
      المهم اني نفذته ولم يخرج خطا ولكن في النهاية (وقت التنفيذ) يطلع عدد سالب طويل
      وهذا هو الكود
      كود:
        #include <iostream>
      using namespace std;
      int main()
      {
       int mada;
       int sum;
       int grade;
       cout<<"Enter your items : ";
       cin>>mada;
       for (int i=1;i<=mada;i++)
       {
        cout<<"Enter grade number"<<i<<":";
        cin>>grade;
        sum =sum+grade;
       }
       cout<<"The result is :"<<sum/ mada<<endl;
       return 0 ;
      }
      ومع العلم ان المترجم لم يظهر اخطاء او تحذيرات

      ارجو الرد بسرعة
      والسلام عليكم
      زيد

    2. #2
      التسجيل
      11-04-2002
      الدولة
      سوريا
      المشاركات
      760
      المواضيع
      76
      شكر / اعجاب مشاركة

      مشاركة: ما الخطأ في هذا الكود

      السلام عليكم ..

      الخطأ في العبارى التالية :
      كود:
      sum = sum + grade;
      حيث أنك قمت بإضافة قيمة المتغير grade إلى sum ( في الدورة الأولى في الحلقة for ) و حيث أن هذا المتغير sum لا يحمل قيمة ابتدائية فإن عملية الجمع السابقة خاطئة .. حيث يمكن تمثيل حالة المتغير sum بالقيمة Null ( و معناها لا شيء أو لا توجد قيمة في المتغير ) .. و الخطأ في أن أي عملية رياضية أحد أطرافها تحمل القيمة Null فالناتج هو Null دائماً و بمعنى آخر لن تخزن القيمة الجديدة في المتغير sum .. و سيكون الخطأ هو نفسه في بقية الدورات في الحلقة for .

      لحل المشكلة ضع قيمة ابتدائية للمتغير sum .. و بما أنك ستستخدم هذا المتغير لعملية الجمع فيجب أن تضع القيمة الابتدائية تساوي الصفر :
      كود:
      int sum = 0;
      ملاحظات :

      1 - من أجل المعدل استخدم متغير من النوع float لأن المعدل قد يحتوي على فواصل عشرية .. حيث أن النوع int لا يتعامل إلا مع الأعداد الصحيحة فقط .. أو استخدم العملية القسرية ( float ) عند إخراج ناتج المعدل كالتالي :
      كود:
      cout << (float) sum / mada << endl;

      2 – حاول معالجة فيما إذا أدخل المستخدم العدد صفر في المتغير mada .

      و شكراً
      التعديل الأخير تم بواسطة Wolf Sniper ; 05-10-2005 الساعة 04:21 PM
      لا إله إلا الله
      مشروع لتعليم أساسيات لغة الـ ++C :
      -
      موضوع لتعليم الفيجوال بيسك 6 :

    3. #3
      التسجيل
      05-11-2004
      المشاركات
      746
      المواضيع
      78
      شكر / اعجاب مشاركة

      مشاركة: ما الخطأ في هذا الكود

      السلام عليكم

      شكرا اخي Wolf Sniper على المرور

      الصراحة لقد استفدت اشياء جديدة منك الآن

      اما الملاحظة الثانية فلم اضعها في الحسبان
      سأحاول اعادة كتابة الكود لاختبار المتغير mada في حال إذا كانت قيمته (0) او قيمة سالبة

      وشكرا مرة ثانية

      اخوك زيد

    4. #4
      التسجيل
      26-07-2005
      الدولة
      Australia
      المشاركات
      3,368
      المواضيع
      68
      شكر / اعجاب مشاركة

      مشاركة: ما الخطأ في هذا الكود

      يظهر اني تأخرت ^_^
      .....

    ضوابط المشاركة

    • لا تستطيع إضافة مواضيع جديدة
    • لا تستطيع الرد على المواضيع
    • لا تستطيع إرفاق ملفات
    • لا تستطيع تعديل مشاركاتك
    •