سلام
خوب چند تا سوال چرا در اول و آخر اين برنامه دوبار grade رو از كاربر ميگيره؟
ببینید cin>>grade اول داخل حلقه نیست و فقط یکبار اجرا میشه. و چون شرط ورودی حلقه grade هست مجبور شده این کارو بکنه. که می شد با یک cin به روش زیر هم انجامش داد.
while(1){ "شرط "1" همیشه بر قرار است. یعنی شرط اجرای حلقه هیچ وقت false نمی شود
cin>>grade;
if(!grade)
break; "خروج از حلقه و ادامه برنامه بعد ار حلقه
if(grade>=17 &&grade<=20)
cout<<"grade="<<grade<<"score="<<'A';
{
نميشه با كاركتر ans كه يا y هست يا n شرط تكرار حلقه رو برقرار كنيم؟
چرا نشه؟. ولی این کار باعث می شه کاربر برای وارد کردن هر نمره یه بار به سوال جواب بده. که یه کم خسته کنندست.