السلام عليكم أخواني الكرام ممكن توضيح أين الخطأ في هذا الكود ولماذا نضع قيمه أبتدائيه أحيانا 1 أو 0 وارجو منكم شرح الكود بالتفصيل الممل حتى أفهمه جيدا يعني كل تعليمه يتم شرح عليها أذا مافيها ثقل عليكم وشكرا لكم
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
using std::fixed;
#include <iomanip>
using std::setprecision;
int main ()
{
int total;
int grade;
int gradecounter;
double average;
total = 0;
gradecounter = 0;
cout <<"enter grade ,-1 to end";
cin >>grade;
while (grade != -1) {
total=total+grade;
gradecounter=gradecounter + 1;
cout <<"enter grade , -1 to end";
cin >>grade;
}
if (gradecounter != 0){
average = static_cast <double> (total)/gradecounter;
cout <<"class average is" <<setprecision( 2 ) <<fixed <<average <<endl;
}
else
cout <<"no grades were entread"<<end;
return 0;
}
أيضا وماذا تعني هذه fixed يعني بصراحه بدي شرح من أول شيئ :(