این که کامپایل نمیشه ربطی به ویندوز 8.1 بودن نداره .
کدی که شما نوشتید استاندارد نیست .
void main , iostream.h چند ساله الان منسوخ شده و هیچ کامپایلر بروزی اجازه کامپایل این کد رو نمیده .
در ضمن using namespace std هم لازم دارید
ضمنا اگر قراره کد C بنویسید خب دیگه چرا از iostream استفاده میکنید
اگر قراره ++C بنویسید چرا تعریف شی struct رو به این شکل می نویسید ؟
int ch(struct point c);
این کدی که من توی win 8.1 و vs2012 کامپایل کردم و اجرا هم شد :
#include <iostream>
using namespace std;
int mo=0,ma=0;
struct point{
int a;
int b;
int c;
int d;
};
int ch(struct point c);
int de(struct point s);
int main()
{
struct point x;
cout<<"meghdar a:";
cin>>x.a;
cout<<endl;
cout<<"meghdar b:";
cin>>x.b;
cout<<endl;
cout<<"meghdar c:";
cin>>x.c;
cout<<endl;
cout<<"meghdar d:";
cin>>x.d;
cout<<endl;
cout<<"--------------------\n";
cout<<"Mohit e chahar zelie ("<<x.a<<","<<x.b<<","<<x.c<<","<<x.c<<")=" <<ch(x)<<endl;
if(de(x)!=0)
{
cout<<"Masahat e chahar zelie ("<<x.a<<","<<x.b<<","<<x.c<<","<<x.c<<")=" <<de(x)<<endl;
}
else
{
cout<<"Masahat e chahar zeli tarif nashode ast";
}
}
int ch(struct point c)
{
int mo=0;
mo=(c.a + c.d)*2;
return mo;
}
int de(struct point s)
{
int ma=0;
if (s.a == s.b && s.c == s.d)
{
ma=(s.a * s.c);
return ma;
}
else
{
return 0;
}
}