مشکل در خروجی گرفتن از یک حلقه
سلام. یه کدی دارم تقریبا شبیه این هست :
int n=0;
main()
{
while (n<3)
salam()
}
void salam()
{
if t=1
cout<<tttt
else if t=2
coout<<sss
n++}
تو این کد برنامه یه سری جستجوهایی انجام میده که ملاک t=2 (عبارت درست ) هست .و وقتی مثلا 3 بار پیدا کرد برنامه متوقف میشه .
اما تو خروجی کد بنده هر جستجو درست یا غلط 3 بار اجرا میشه و وقتی عبارت درست پیدا شد چون 3 بار چاپ میشه برنامه در حقیقت یک یافته رو سه بار چاپ و متوقف میشه .
خروجی شبیه این هست .
ttt
ttt
ttt
sss
sss
sss
مشکل کد از کجا می تونه باشه .
نقل قول: مشکل در خروجی گرفتن از یک حلقه
سلام.
بعد از if نوشتین t = 1 که فکر میکنم منظورتون t == 1 بوده و بعد از else هم همینطور t = 2 باید بشه t ==2
نقل قول: مشکل در خروجی گرفتن از یک حلقه
سلام
من گمان کنم شما if و else if را اشتباه نوشتهاید.
if t=1 ---> if (t == 1)
else if t=2 ---> else if (t == 2)
نکته: عملگر = با == متفاوته. عملگر = به معنای جایگزینی یا انتسابه اما عملگر == به معنای مساوی یا برابره.
نقل قول: مشکل در خروجی گرفتن از یک حلقه
شاید کد زیر بتونه کمکتون بکنه:
#include <iostream>
using namespace std;
void salam();
int n = 0;
int t = 0;
main()
{
while (n < 3)
{
salam();
++t;
}
}
void salam()
{
if (t == 1)
cout << "t is equal to 1" << endl;
else if (t == 2)
cout << "t is equal to 2" << endl;
n++;
}