标题:初学c++,共用体那出错吧,求教
只看楼主
唐兵
Rank: 2
来 自:四川泸州合江
等 级:论坛游民
帖 子:150
专家分:12
注 册:2012-12-1
结帖率:82.05%
已结贴  问题点数:10 回复次数:3 
初学c++,共用体那出错吧,求教
设计一个函数对一元二次方程式求解
ax2+bx+c=0,要求如下:
1、函数的形参为f(int a, int b, int c)
2、函数返回各种可能的解,但不显示。
3、main函数中调用该函数,显示解。
提示,先定义一个结构类型,描述各种解的情况,函数返回该结构类型

#include <iostream.h>
#include <math.h>
double fun(double a,double b,double c)

{
double a1=0,a2=0,a3=0,a4=0;
typedef struct f
 {
double a1=(-c/b);
double a2=wrong;/*这部该咋写啊?*/
double a3=(-b+sqrt(b*b-4*a*c))/(2*a);
    double a4=(-b+sqrt(b*b+4*a*c))/(2*a);
}n;
if (a==0)return n.a1;
if ((b*b-4*a*c)<0)return n.a2;
if ((b*b-4*a*c)>=0)return n.a3;

}
void main()
{
    double a,b,c,jie;
    cin>>a>>b>>c;
    jie=fun(a,b,c);
    cout<<jie;
}
搜索更多相关主题的帖子: 结构 include double wrong 
2013-01-25 10:52
yuccn
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:何方
等 级:版主
威 望:167
帖 子:6809
专家分:42393
注 册:2010-12-16
得分:10 
typedef struct f
 {
 double a1=(-c/b);
 double a2=wrong;/*这部该咋写啊?*/
 double a3=(-b+sqrt(b*b-4*a*c))/(2*a);
     double a4=(-b+sqrt(b*b+4*a*c))/(2*a);
 }n;

不可以这样写的,吧结构体什么放在外面吧



typedef struct _DATA
 {
 double a1;
 double a2;
 double a3;
 double a4;
 }DATA ,*PDATA;

DATA n;
n.a1 == 你的赋值
……


我行我乐
我的博客:
http://blog.yuccn. net
2013-01-25 16:36
唐兵
Rank: 2
来 自:四川泸州合江
等 级:论坛游民
帖 子:150
专家分:12
注 册:2012-12-1
得分:0 
回复 2楼 yuccn
为啥不可以直接对他初始化啊?

一个人如果不比自己一把,你永远不知道自己究竟有多厉害
2013-01-25 22:57
yuccn
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:何方
等 级:版主
威 望:167
帖 子:6809
专家分:42393
注 册:2010-12-16
得分:0 
你用的也不是直接初始化。你那样写,是在申明的地方,结构体的内存空间都还没有的。

如果要直接初始化,应该这样:
DATA n =
{
   // 写上每个值
}

我行我乐
我的博客:
http://blog.yuccn. net
2013-01-26 19:03



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-397581-1-1.html




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

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