PDA

View Full Version : سوال: سوال:مشکل در استفاده از while



01shadow01
سه شنبه 22 دی 1394, 19:08 عصر
سلام دوستان
این اولین تاپیک و سوال منه تو این انجمن :لبخند:
من یه برنامه برای محاسبه 5 عدد دریافت شده از کاربر نوشتم
این برنامه بعد از اجرا شدن هر چی عدد می گیره شرط while عملی نمی شه یعنی هر کاری می کنم متغیر list = 5 نمی شه:ناراحت:
لطفا مشکل اش رو توضیح بدین ممنون می شم :قلب:


#include <iostream>

using namespace std;

int main ()

{
int score,list,total;
score=0;
list=0;
total=0;
cout << "5 adad baraye mohasebe miangin vared konid";

while (list = 5)
{
list=list+5;
cin >> score;
total=score + total;
}
cout << total/5;

return 0;
}

Poores
سه شنبه 22 دی 1394, 19:56 عصر
عملگر = در C++ برای مقدار دهی استفاده میشه ، یعنی این list = 5 که داخل شرط حلقه نوشتین هر دفعه مقدار 5 رو داخل list میریزه و بعد شرط حلقه به اینصورت میشه :

while(5)


که میدونید هر عددی به جز 0 داخل شرط بزارین به منزله true هست و حلقه تا بی نهایت میپرخه...

اما برای چک کردین اینکه list برابر 5 شده یا خیر باید

while(list == 5)


به اینصورت عمل کنید. البته این شرط هم برای کاری که شما میخواین انجام بدین غلط هست.

چون در آغاز برنامه مقدار list برابر 0 هست ، و وقتی شرط حلقه چک بشود list برابر 5 نیست پس وارد حلقه نمیشود.

برای کار شما شرط حلقه باید به صورت :

while(list !=5)

باشد و هربار که داخل حلقه عدد جدیدی دریافت میکنید list++ یا list = list + 1 بشود.

01shadow01
سه شنبه 22 دی 1394, 20:05 عصر
عملگر = در C++‎ برای مقدار دهی استفاده میشه ، یعنی این list = 5 که داخل شرط حلقه نوشتین هر دفعه مقدار 5 رو داخل list میریزه و بعد شرط حلقه به اینصورت میشه :

while(5)


که میدونید هر عددی به جز 0 داخل شرط بزارین به منزله true هست و حلقه تا بی نهایت میپرخه...

اما برای چک کردین اینکه list برابر 5 شده یا خیر باید

while(list == 5)


به اینصورت عمل کنید. البته این شرط هم برای کاری که شما میخواین انجام بدین غلط هست.

چون در آغاز برنامه مقدار list برابر 0 هست ، و وقتی شرط حلقه چک بشود list برابر 5 نیست پس وارد حلقه نمیشود.

برای کار شما شرط حلقه باید به صورت :

while(list !=5)

باشد و هربار که داخل حلقه عدد جدیدی دریافت میکنید list++ یا list = list + 1 بشود.
ممنونم دوست عزیز :قلب:
فکر می کنم همه ی افزاد اول کار همین مشکلا رو داشته باشن :لبخند: