筱羅卜
2015-06-13 07:15
采纳率: 100%
浏览 2.8k

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;
}

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

8条回答 默认 最新

  • 帘卷西风 2015-06-13 08:28
    已采纳

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

    1 打赏 评论
  • 纵横车 2015-06-13 07:23

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

    打赏 评论
  • 我不懂电脑 2015-06-13 07:28

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

    打赏 评论
  • yuan_ge_NB 2015-06-13 07:49

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

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

    打赏 评论
  • threenewbee 2015-06-13 08:42

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

    打赏 评论
  • frank_20080215 2015-06-13 09:13

    输出的控制台不支持中文

    打赏 评论
  • jianjian1992 2015-06-13 11:23

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

    打赏 评论
  • Heart09 2015-06-14 03:18

    设置终端属性 utf-8试试

    打赏 评论

相关推荐 更多相似问题