| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1426 人关注过本帖
标题:else break; 为何会出错?
只看楼主 加入收藏
瓜子983016
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2016-1-7
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:4 
else break; 为何会出错?
#include<iostream> //包含iostream的头文件
#include<math.h>
#include<string>//字符串处理函数
using namespace std;
class FindRoot//定义类FindRoot
{
private:
 float a,b,c;
double r,q,x1,x2;//定义数据成员类型
 int  jud;
public:
 void Input();//输入函数
 void Display();//显示函数
 void Find();//求根函数
};
//以上是类的声明部分,以下是类的实现部分
void FindRoot::Input()
{
    cout<<"这是一个求解ax^2+bx+c=0的根的程序:"<<endl;//总述程序

  for(; ;)
 cout<<"输入方程系数b:";
 cin>>b;//输入b
 cout<<"输入方程系数c:";
 cin>>c;//输入c
{
     cout<<"输入方程系数a:";
  cin>>a;
  if(a==0)
   cout<<"错误:a不能为0!!!:"<<endl;
  else break;
 }//输入a,并对a的可能情况进行判断


}
void FindRoot::Find()//定义求根的函数
{
 float delta=b*b-4*a*c;//定义求根公式的数据类型
 if(delta<0)
 {jud=0;
     r=-b/(2*a);
     q=sqrt(-delta)/(2*a);//有两个共轭复数根的情况
 }
 else if(delta==0)
  {
   x1=-b/(2*a);
   jud=1;//有两个相同的根的情况
  }
  else
  {
   x1=(-b+sqrt

(delta))/(2*a);
   x2=(-b-sqrt

(delta))/(2*a);
   jud=2;//有两个不同的根的情况
  }
  
}

void FindRoot::Display()//定义显示函数
{
    switch(jud)
    {   
    case 0:
        {cout<<"x1="<<r<<"+"<<q<<"i"<<endl;
            cout<<"x2="<<r<<"-"<<q<<"i"<<endl;}break;//显示有共轭复数根时的解
    case 1:
        cout<<"x1=x2="<<x1<<endl;break;//显示有一实根时的解
        case 2:
    cout<<"x1="<<x1<<'\n'<<"x2="<<x2<<endl;break;//显示有两不同根情况的解
    }
}
void main()//主函数
{
    while(1)
    {
 FindRoot f;//定义类型
 f.Input();
 f.Find();
 f.Display();//以上各函数按顺序执行
 cout<<"是否退出?(Y退出,其它任意键继续)"<<endl;//程序是否退出
 char m[2];char Y[]="Y";char y[]="y";//定义字符串
 cin>>m;
if(strcmp(m,Y)==0||strcmp(m,y)==0)
break;//如果退出则终止运行
else
cout<<"请继续……"<<endl;//如果不退出则继续执行
    }
}
搜索更多相关主题的帖子: 字符串 double public include private 
2016-01-07 16:08
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
break 退出循环  只能退出循环

DO IT YOURSELF !
2016-01-07 16:12
hoy0a1d
Rank: 2
等 级:论坛游民
帖 子:19
专家分:83
注 册:2010-8-1
收藏
得分:0 
for(; ;)
-------------------------------------------------看这里
 cout<<"输入方程系数b:";
 cin>>b;//输入b
 cout<<"输入方程系数c:";
 cin>>c;//输入c
{                  -------------------------------------------------看这里
     cout<<"输入方程系数a:";
  cin>>a;
  if(a==0)
   cout<<"错误:a不能为0!!!:"<<endl;
  else break;
 }//输入a,并对



for 循环缺少表达式

Test.
2016-01-07 16:14
瓜子983016
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2016-1-7
收藏
得分:0 
回复 3楼 hoy0a1d
大神帮我改一改,我想求一元二次方程包括a=0 b=0 的解
2016-01-07 16:19
hoy0a1d
Rank: 2
等 级:论坛游民
帖 子:19
专家分:83
注 册:2010-8-1
收藏
得分:20 
回复 4楼 瓜子983016
cout<<"输入方程系数b:";
 cin>>b;//输入b
 cout<<"输入方程系数c:";
 cin>>c;//输入c
 for(; ;)
{
     cout<<"输入方程系数a:";
  cin>>a;
  if(a==0)
   cout<<"错误:a不能为0!!!:"<<endl;
  else break;
 }//输入a,并对

Test.
2016-01-07 16:29
快速回复:else break; 为何会出错?
数据加载中...
 
   



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

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