c++中编译时出现乱码的原因可能有哪些啊??

下面这个程序就是编译时没错误,运行乱码了,问题出在哪啊?求指导
#include
#include
using namespace std;
class Triangle
{
public:
void setABC(double x,double y,double z)
{
if(zx+y)
cout<<"输入错误,请重新输入:"< cin>>x>>y>>z;
}
void getABC(double x,double *y,double *z)
{
a=*x;
b=*y;
c=*z;
}
double perimeter(){return a+b+c;}
double area()
{
double l;
l=a+b+c;
return sqrt(l
(l-a)*(l-b)*(l-c));
}
private:
double a,b,c;
};
int main()
{
Triangle tri1;
tri1.setABC(4,5,6);
double x,y,z;
tri1.getABC(&x,&y,&z);
cout<<"三条边为:"<<x<<'\t'<<y<<'\t'<<z<<endl;
cout<<"三角形的周长为:"<<tri1.perimeter()<<'\t'<<"面积为:"<<tri1.area()<<endl;
return 0;
}

这个问题我觉得可能是你copy过来的源代码是utf8格式的文本,而vs默认不支持utf8,使用建议你新建一个记事本文件,把代码copy过去保存,
再打开记事本文件,把里面的代码copy到编译器,重现编译即可。

可能字符集不对,可能输出的控制台不支持中文。。。最好的方法就是全换英文。

你这个程序错误太多,编译都通不过。确保你系统装了中文字库gb2312才能输出中文

cout<<"输入错误!"< cout cin>>x>>y>>z;

您的风格可真是别有一番韵味

把你的源代码保存为gb2312或者utf代码页。

输出的控制台不支持中文

访问了未定义区域会出现烫烫这样的乱码吧

设置终端属性 utf-8试试