跪求助:C++编程 因初学,求好心人帮助,感激不尽!

程序如下#include<stdio.h>#include<stdlib.h>#definerealdouble#ifdefWIN32#defineEXPORT_decl... 程序如下
#include <stdio.h>
#include <stdlib.h>

#define real double

#ifdef WIN32
#define EXPORT _declspec(dllexport)
EXPORT real func_convehtransfer(char*, int, real, real, real, real, real, real, int);
#else
real func_convehtransfer(char*, int, real, real, real, real, real, real, int);
#endif

extern real usertemp1(int);
extern real userfs1(int);
extern real uservx1(int);
extern real uservy1(int);
extern real uservz1(int);
extern int nodNum (real,real,real,int,real* ,real* , real* );

/*
* convective heat transfer coefficient (applied on external surfaces)
*/

real func_convehtransfer(
char prefix[], /* case name */
int dimension, /* 2 = 2D ; 3 = 3D */
real temp, /* current temperature */
real fs, /* current fraction of solid */
real time, /* current time */
real x_coor, /* local coordinates: x */
real y_coor, /* local coordinates: y */
real z_coor, /* local coordinates: z */
int numBC) /* number of boundary condition */
{
/* ------------- Do not change anything above this line ------------- *
* ------------- Program your function below this line ------------- */
real zlimit;
real hcoeff;

hcoeff = 0;
zlimit = 118;/*结晶器最下端的Z轴坐标*/

if (z_coor<=zlimit)/*如果下端钢水出结晶器*/
if (z_coor>=-120)/*如果在118到-120之间认为是二冷区*/
if (z_coor>=93)/*如果在118到93之间认为是二冷一区*/
hcoeff=10;/*二冷一区的换热系数为10*/
else
hcoeff=1000;/*否则在93到-120之间认为是二冷二区,换热系数为1000*/
else
hcoeff=10;/*超过-120认为是空冷区,换热系数为10*/

else
hcoeff=0;/*在结晶器内的换热系数即在interface的设定值*/

return hcoeff;
/* ------------ Do not forget to remove the call to exit ------------ *
* ------------ hereafter before running the calculation ------------ */

return 0;
}
我的目的:想用0<X<5时(圆管内壁)执行
hcoeff = 0;
zlimit = 118;/*结晶器最下端的Z轴坐标*/

if (z_coor<=zlimit)/*如果下端钢水出结晶器*/
if (z_coor>=-120)/*如果在118到-120之间认为是二冷区*/
if (z_coor>=93)/*如果在118到93之间认为是二冷一区*/
hcoeff=10;/*二冷一区的换热系数为10*/
else
hcoeff=1000;/*否则在93到-120之间认为是二冷二区,换热系数为1000*/
else
hcoeff=10;/*超过-120认为是空冷区,换热系数为10*/

else
hcoeff=0;/*在结晶器内的换热系数即在interface的设定值*/

return hcoeff

当6<X<10 (圆管外壁)执行

hcoeff = 0;
zlimit = 118;/*结晶器最下端的Z轴坐标*/

if (z_coor<=zlimit)/*如果下端钢水出结晶器*/
if (z_coor>=-120)/*如果在118到-120之间认为是二冷区*/
if (z_coor>=93)/*如果在118到93之间认为是二冷一区*/
hcoeff=20;/*二冷一区的换热系数为20*/
else
hcoeff=3000;/*否则在93到-120之间认为是二冷二区,换热系数为3000*/
else
hcoeff=10;/*超过-120认为是空冷区,换热系数为10*/

else
hcoeff=0;/*在结晶器内的换热系数即在interface的设定值*/

return hcoeff
想用0<X<5和6<X<10来区分两个面(两个面的换热系数是随着Z坐标来改变,两个面需要同时执行)
那位好心人会,麻烦修改好发我邮箱QQ:1256676982@qq.com感激不尽
展开
 我来答
jackywei28
2012-12-13 · 超过16用户采纳过TA的回答
知道答主
回答量:43
采纳率:0%
帮助的人:34.5万
展开全部
如果要同时执行的话,就要用多线程了。再说两个面不可能同时执行呐。
因为你的条件都是互斥的。0<X<5和6<X<10
但这觉得,这里没有必要。这样用一个无限循环进行轮询就可以了。
while(1)
{
if(0<X && x<5)
//代码
else if (6<X && x <10)
//代码
}
更多追问追答
追问
因为圆管的内、外壁两个面的冷却是同时进行的,所以需要同时进行,用无限轮询可以实现吗?因为我是做的铸造模拟,需要用C++进行条件控制。以前也没学过C++,所以不太懂,请赐教。我先试试你给的程序
追答
我不了解你的铸造模拟啊,但从你给出的代码的逻辑来说,那个不可能同时进行呐,管内和管外时X的值是互斥的,还有就是,同一个时间只有一个X吧?
九离天
2012-12-14 · TA获得超过306个赞
知道小有建树答主
回答量:291
采纳率:0%
帮助的人:222万
展开全部
嗯,请列出下传递给我的参数(只需要这个程序用到的)比如X,然后代表啥啥的,什么类型,小数还是整数之类的。
然后用简要的文字描述整个程序流程,或者画个流程图,我不太明白你的问题。 比如先做什么,在做什么,当什么情况时做什么。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式