24小时热门版块排行榜    

查看: 672  |  回复: 12

zyj8119

木虫 (著名写手)


[交流] 【求助】请高手指出一下此程序有多少错误?

CODE:
#include
#include

#define M 16.043
#define omiga 0.012
#define Tc  190.6
#define Pc 45.99
#define R 83.14
#define epsilon 1-pow(2,0.5)
#define sigma 1+pow(2,0.5)
#define        alpha (1+(0.37464+1.54226*omiga-0.26992*pow(omiga,2)*pow(1-pow((T/Tc),(0.5))),2)
#define   a ((pow(0.45724*R,2)*pow(Tc,2)/Pc)*alpha
#define   b 0.07779*R*Tc/Pc
#define   beta b*P/(R*T)
#define   q a/(b*R*T)
int fugacity(float P, int T)
{   int s,I,N;
    double phi,f,P1;
    s=sizeof(P);
        for(int k=0;k<=s;k++){
    double z0(k)=M(s,1)=0;
        double z1(k)=N(s,1)=1;
    if((z0(k)-z1(k)).le.1e-6){
     z0(k)=z1(k);
        z1(k)=1+beta-q*beta*(z0(k)-beta)/((z0(k)+epsilon*beta)*(z0(k)+sigma*beta));
        }
        }
    I=(1/(sigma-epsilon))*log((z1(k)+sigma*beta)/(z1(k)+epsilon*beta));
    phi=exp(z1(k)-1-log(z1(k)-beta)-q*I);
    f=phi*P1;
        return f;
}

void main()
{
        fugacity(1000,298);
}

回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

» 抢金币啦!回帖就可以得到:

查看全部散金贴

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

imyourkobe

铁杆木虫 (著名写手)



ajian04(金币+1):谢谢参与交流~ 2010-11-24 20:48:45
呵呵,错误很多的啊。你到底要问i什么,是需要帮助修改错误?
2楼2010-11-24 18:35:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

imyourkobe

铁杆木虫 (著名写手)


zyj8119(金币+5):那么程序应该怎么改呢?高手? 2010-11-24 19:09:15
ajian04:谢谢参与交流~ 2010-11-24 20:48:53
其中:z0(k),z1(k)要定义为数组
double z0[100],z1[100];
double z0(k)=M(s,1)=0;初始化要重新改写。
例如:
for(int i=0;i z0=0
3楼2010-11-24 18:39:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zyj8119

木虫 (著名写手)


ajian04:谢谢参与交流~ 2010-11-24 20:48:59
引用回帖:
Originally posted by imyourkobe at 2010-11-24 18:35:29:
呵呵,错误很多的啊。你到底要问i什么,是需要帮助修改错误?

希望您帮忙修改下,我是新手。。。。。
4楼2010-11-24 19:10:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

379631818

铁杆木虫 (著名写手)



zyj8119(金币+1):谢谢参与
ajian04:谢谢参与交流~ 2010-11-24 20:49:04
zyj8119(金币+2):是一个算逸度的程序。。。 2010-11-24 21:05:36
到底要算什么的,楼主会的太多了
5楼2010-11-24 20:43:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

imyourkobe

铁杆木虫 (著名写手)


#define中少了 对T和P的定义。
其他好改的。
6楼2010-11-24 21:11:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zyj8119

木虫 (著名写手)


引用回帖:
Originally posted by imyourkobe at 2010-11-24 21:11:12:
#define中少了 对T和P的定义。
其他好改的。

但是T和P是主程序定义的啊。
7楼2010-11-24 21:19:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

imyourkobe

铁杆木虫 (著名写手)


引用回帖:
Originally posted by zyj8119 at 2010-11-24 21:19:15:

但是T和P是主程序定义的啊。

你 上面
#define   beta b*P/(R*T)
#define   q a/(b*R*T)

用到了T 和P,这说明T和P是常量。
与主程序中要区分开。
8楼2010-11-24 21:23:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zyj8119

木虫 (著名写手)


引用回帖:
Originally posted by imyourkobe at 2010-11-24 21:23:31:


你 上面
#define   beta b*P/(R*T)
#define   q a/(b*R*T)

用到了T 和P,这说明T和P是常量。
与主程序中要区分开。

那该怎么改呢?
9楼2010-11-24 21:29:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

imyourkobe

铁杆木虫 (著名写手)


zyj8119(金币+50):多谢兄弟!!!!!!!! 2010-11-24 21:50:00
#include
#include

#define M 16.043
#define omiga 0.012
#define Tc  190.6
#define T  190.6
#define Pc 45.99
#define P 45.99
#define R 83.14
#define epsilon 1-pow(2,0.5)
#define sigma 1+pow(2,0.5)
#define        alpha 1+0.37464+1.54226*omiga-0.26992*pow(omiga,2)*pow(1-pow(T/Tc,0.5),2)
#define   a ((pow(0.45724*R,2)*pow(Tc,2)/Pc)*alpha
#define   b 0.07779*R*Tc/Pc
#define   beta b*P/(R*T)
#define   q a/(b*R*T)

int fugacity(float PP, int TT)
{
        int s,I,N;
double phi,f,P1;
//s=sizeof(P);
double z0[1000]={0};
double z1[1000]={1};
for(int k=0;k<=PP;k++)
{

    if((z0[k]-z1[k])<0.000001)
        {
                z0[k]=z1[k];
        z1[k]=1+beta-q*beta*(z0[k]-beta)/(z0[k]+epsilon*beta)*(z0[k]+sigma*beta));
        }
}
I=1/(sigma-epsilon)*log((z1[k]+sigma*beta)/(z1[k]+epsilon*beta));
phi=exp(z1[k]-1-log(z1[k]-beta)-q*I));
f=phi*P1;


return f;
}

void main()
{
        fugacity(1000,298);
}
10楼2010-11-24 21:48:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zyj8119

木虫 (著名写手)


引用回帖:
Originally posted by imyourkobe at 2010-11-24 21:48:09:
#include
#include

#define M 16.043
#define omiga 0.012
#define Tc  190.6
#define T  190.6
#define Pc 45.99
#define P 45.99
#define R 83.14
#define epsilon ...

貌似还是有几个WARNING:
--------------------Configuration: bbb - Win32 Debug--------------------
Compiling...
bbb.cpp
C:\Program Files\Microsoft Visual Studio\Common\MSDev98\My Projects\bbb.cpp(35) : warning C4244: '=' : conversion from 'double' to 'int', possible loss of data
C:\Program Files\Microsoft Visual Studio\Common\MSDev98\My Projects\bbb.cpp(40) : warning C4244: 'return' : conversion from 'double' to 'int', possible loss of data
C:\Program Files\Microsoft Visual Studio\Common\MSDev98\My Projects\bbb.cpp(21) : warning C4101: 's' : unreferenced local variable
C:\Program Files\Microsoft Visual Studio\Common\MSDev98\My Projects\bbb.cpp(21) : warning C4101: 'N' : unreferenced local variable
C:\Program Files\Microsoft Visual Studio\Common\MSDev98\My Projects\bbb.cpp(37) : warning C4700: local variable 'P1' used without having been initialized

bbb.obj - 0 error(s), 5 warning(s)
11楼2010-11-24 21:51:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zyj8119

木虫 (著名写手)


引用回帖:
Originally posted by imyourkobe at 2010-11-24 21:48:09:
#include
#include

#define M 16.043
#define omiga 0.012
#define Tc  190.6
#define T  190.6
#define Pc 45.99
#define P 45.99
#define R 83.14
#define epsilon ...

貌似运行结果什么也没有啊。。。。
12楼2010-11-24 22:23:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

imyourkobe

铁杆木虫 (著名写手)


zyj8119(金币+12):非常感谢!!!!! 2010-11-25 00:35:11
引用回帖:
Originally posted by zyj8119 at 2010-11-24 22:23:06:

貌似运行结果什么也没有啊。。。。

兄弟啊。你这个程序主函数加上输出函数printf("%d",函数返回值);
另外,上面定义的P和T的常量的值你要修改一下啊。
13楼2010-11-25 00:16:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 zyj8119 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见