PDA

View Full Version : اجرای نادرست برنامه



gole.shabbu8
شنبه 15 فروردین 1394, 17:43 عصر
با سلام خدمت دوستان عزیز

چرا با وجود اینکه من شرط داخل حلقه while رو بصورت زیر وارد کردم و گفتم هر دو متغیر باید صفر باشن تا برنامه تموم شه ولی اگه یدونه از ممتغیر ها رو صفر بدم برنامه به پایان میرسه؟

#include"stdafx.h"

#include<iostream>


using namespace std ;

int main()
{
double x = 1 , y = 1, a, b ;

while (x != 0 && y != 0)
{ cout << " \nplease enter two float numbers (or two 0 to end) : " ;
cin >> x >> y;
if ( x > y )
{ a = y*x - y / x ;
cout << "( "<< y << " * " << x << " )" << " - "<<"( "<< y << " / " << x <<" )" << " = " << a << endl;
}
if ( y > x )
{ b = x*y - x / y ;
cout << "( "<< x << " * " << y << " )" << " - "<<"( "<< x << " / " << y <<" )" << " = " << b << endl;
}

}

cin.get();
cin.get();
}

amirtork
شنبه 15 فروردین 1394, 17:59 عصر
سلام،
شما در واقع در شرط حلفه دارید میگید اگر هردو متغیر صفر نبودند، به برنامه ادامه بده، و اگر حتی یکی از اونها با صفر برابر بود، به برنامه خاتمه بده.
برای اینکه اگر هردو متغیر صفر باشن به برنامه خاتمه بده باید شرط رو به صورت زیر بزارید: (x != 0 || y != 0)