| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 672 人关注过本帖
标题:请大家帮忙看看这个错误怎么改,什么原因造成的?谢谢。
只看楼主 加入收藏
xyz326547445
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2011-3-28
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:9 
请大家帮忙看看这个错误怎么改,什么原因造成的?谢谢。
求ax2+bx+c=0的一元二次方程的解。
#include "iostream.h"
#include"math.h"
void main()
{
float a,b,c,disc,x1,x2,p,q;

cin>>"输入a,b,c三个数">>a>>b>>c;
if((a==0)&&(b!=0)) cout<<"它不是二次方程"<<"x1=x2="<<(-c)/b<<endl;
if((a==0)&&(b==0)&&(c!=0)) cout<<"x无解"<<endl;
if((a==0)&&(b==0)&&(c==0)) cout<<"x可以为任何值"<<endl;
if(a!=0){ disc=(b*b-4*a*c);
        if (disc=0) cout<<"有两个相等实根"<<"x1=x2="<<(-b)/(2*a)<<endl;
else if (disc>0)
cout<<"有两个不等的实根"<<"x1="<<(-b+sqrt(disc))/(2*a)<<"x2="<<(-b-sqrt(disc))/(2*a)<<endl;
else p=-b/(2*a);
q=sqrt(-disc)/(2*a) ;
 cout<<"有两个共轭复根"<<"x1="<<p+q<<"i"<<"x2="<<p-q<<"i"<<endl;}
}
已运行就成这样子了:
图片附件: 游客没有浏览图片的权限,请 登录注册

这怎么回事啊?
vc我弄好了,运行有三个警告,怎么改?如下:
c:\documents and settings\administrator\桌面\1.cpp(17) : warning C4244: '=' : conversion from 'double' to 'float', possible loss of data
c:\documents and settings\administrator\桌面\1.cpp(5) : warning C4101: 'x1' : unreferenced local variable
c:\documents and settings\administrator\桌面\1.cpp(5) : warning C4101: 'x2' : unreferenced local variable
什么意思啊?

[ 本帖最后由 xyz326547445 于 2011-3-28 21:46 编辑 ]
搜索更多相关主题的帖子: include 
2011-03-28 13:30
Lyone
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:99
专家分:195
注 册:2010-12-7
收藏
得分:5 
if((a==0)||(b!=0)) cout<<"它不是二次方程"<<"x1=x2="<<(-c)/b<<endl;
if((a==0)||(b==0)||(c!=0)) cout<<"x无解"<<endl;
if((a==0)||(b==0)||(c==0)) cout<<"x可以为任何值"<<endl;
我怎么觉得这几个“或”应该改成“且”呢?

[ 本帖最后由 Lyone 于 2011-3-28 15:00 编辑 ]
2011-03-28 14:41
xyz326547445
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2011-3-28
收藏
得分:0 
不好意思,弄错了。
但我在我电脑上装的vc6.0怎么用不成,怎么运行都有一个错误,也不出错在哪,就只显示有一个错误,也没法调试,这是怎么回事啊?
如果换成“且”是不是就可以了?
2011-03-28 17:44
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:0 
提示的错误是什么?
2011-03-28 17:55
xyz326547445
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2011-3-28
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册
图片附件: 游客没有浏览图片的权限,请 登录注册

就是这,不管是什么程序都是,课本上照抄的也出现这情况。
2011-03-28 18:06
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:0 
去百度一下呗。
http://zhidao.baidu.com/question/90288727.html
2011-03-28 20:19
shining小南
Rank: 2
等 级:论坛游民
威 望:1
帖 子:47
专家分:42
注 册:2010-9-16
收藏
得分:15 
cout<<"输入a,b,c三个数:";
cin>>a>>b>>c;
这个地方有问题,还有你的 if else用的让人看碧清,给整理了一下,我调了一下,没问题了。

#include "iostream.h"
#include"math.h"
void main()
{
float a,b,c,disc,x1,x2,p,q;

cout<<"输入a,b,c三个数:";
cin>>a>>b>>c;
if((a==0)&&(b!=0)) cout<<"它不是二次方程"<<"x1=x2="<<(-c)/b<<endl;
if((a==0)&&(b==0)&&(c!=0)) cout<<"x无解"<<endl;
if((a==0)&&(b==0)&&(c==0)) cout<<"x可以为任何值"<<endl;
if(a!=0)
{
    disc=(b*b-4*a*c);
    if (disc==0) cout<<"有两个相等实根"<<"x1=x2="<<(-b)/(2*a)<<endl;
    else
    {
        if (disc>0) cout<<"有两个不等的实根"<<"x1="<<(-b+sqrt(disc))/(2*a)<<"x2="<<(-b-sqrt(disc))/(2*a)<<endl;
        else
        {
            p=-b/(2*a);
            q=sqrt(-disc)/(2*a) ;
            cout<<"有两个共轭复根"<<"x1="<<p+q<<"i"<<"x2="<<p-q<<"i"<<endl;
        }
    }
}
}
图片附件: 游客没有浏览图片的权限,请 登录注册
2011-03-28 22:09
linzhiqing
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2011-3-28
收藏
得分:0 
我刚刚运行了一下,版主的程序问题出在倒数第二个右括号上,那个括号不是英文字符
2011-03-29 09:00
linzhiqing
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2011-3-28
收藏
得分:0 
还有一个错误就是有个if用了等号而不是==
2011-03-29 09:01
xyz326547445
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2011-3-28
收藏
得分:0 
谢谢了,终于知道问题所在了。呵呵。
2011-03-29 12:37
快速回复:请大家帮忙看看这个错误怎么改,什么原因造成的?谢谢。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.039384 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved