PDA

View Full Version : سوال: خطا در خروجی تابع از نوع bool



maryamgol
سه شنبه 22 آذر 1390, 09:57 صبح
#include <iostream.h>

bool remove (float a[],int &n,float x)
{
int i=0;
do
{
if (a[i]==x)
{
for (int j=i;j<n-1;j++)
a[i]=a[i+1];
n--;

return true;
}

return 0;
}
while(i<n);
}
int main()
{
float a[]={13.5,54.36,987.3,9.2,36.5,148.2,63.5};
int n;
float x;
cout<<"enter x=";
cin>>x;
cout<<"enter n=";
cin>>n;
cout<<remove(a,n,x)<<endl;
return 0;
}



برنامه بالا از خروجی تابع که bool است خطا می گیرد. در حقیقت bool را نمی شناسد؟
ممنون میشم کمکم کنید؟

patepate
سه شنبه 22 آذر 1390, 10:11 صبح
خط زیر را اضافه کن.

#include<conio.h>

maryamgol
سه شنبه 22 آذر 1390, 10:31 صبح
متأسفانه باز از syntax ارور می گیره. bool باید به رنگ سفید شود که زرد رنگ است.

developing
سه شنبه 22 آذر 1390, 11:14 صبح
با سلام

احتمالا شما از كامپايلر Turbo C++‎ استفاده مي كنيد كه اين كامپايلر نوع داده اي bool را ندارد. بهتره كامپايلرت رو عوض كني و يا اينكه قبل از توابعت اين دستورات رو اضافه كني.

#define true 1
#define false 0
typedef int bool;;

maryamgol
سه شنبه 22 آذر 1390, 11:24 صبح
میشه لطف کنید کامپایلر را برام بفرستید؟

shahmohammadi
سه شنبه 22 آذر 1390, 11:39 صبح
سلام.
bool یکی از کلمات رزو شده c++ هست. ولی در c وجود نداره.
احتمالا فایل برنامه شما پسوندش .c هست. اگه اینطوره اون رو تو یه فایل .cpp ذخیره کنید.