数学建模社区-数学中国
标题:
C/C++调用Lu的入门程序
[打印本页]
作者:
forcal
时间:
2011-10-19 21:30
标题:
C/C++调用Lu的入门程序
C/C++调用Lu的入门程序
3 d' m2 [- ?0 v% L+ {
/ o5 H7 L5 l1 j% E& ?
仅需要以下支持文件:
9 ?5 j; i* E; U) P& ^7 I7 `" ~6 m
1 D: [8 j( g) d) @
1、头文件lu32.h。
* }8 K3 u4 A9 B) ]6 ?( b
2、导入库lu32.lib。
' M4 U* k: v4 S1 a( o
3、核心库lu32.dll。
#include <windows.h>
, G4 s- W: h" X6 |& z3 g1 X
#include <iostream>
- G! B* i1 ]! h: g& @( C) o
#include <math.h>
. C9 J3 Q; f' A$ z. Y7 k
#include "lu32.h" //Lu头文件
+ k5 M" T" ?' s3 A l
8 p- ~6 \% I$ z# I$ P% h( j
#pragma comment( lib, "lu32.lib" )
5 D8 Y7 m9 G/ L+ b" S( W G! x
! a) l1 R" M0 r0 r1 @ A" j$ \
using namespace std;
; e- _' g3 A; F/ Q8 F/ H/ v1 f* D
0 W1 G9 a9 P, y3 n$ k* @. `9 F. j. W
void main(void)
; l/ F# |, z5 @1 C8 k
{
C/ C0 m" b- k- ~+ E z1 l# v9 d
void *hFor; //表达式句柄
8 M" M9 Y7 Z& {6 L9 H* K4 g, Y
luINT nPara; //存放表达式的自变量个数
- H! l; ~ D6 j8 e9 L3 }9 k
LuData *pPara; //存放输入自变量的数组指针
8 N ]2 D; _" N! `( T. l
LuData Val; //存放表达式的值
4 r: m* ]8 N: R' e# z& ?
luINT ErrBegin,ErrEnd; //表达式编译出错的初始位置和结束位置
" {. T/ B5 S- z3 M& a, W# G1 C
int ErrCode; //错误代码
8 b" ]( f1 f8 M* P7 X a
wchar_t ForStr[]=L"f(x,y)=x+y"; //字符串表达式
$ W! U! ?/ D' I4 J0 V
int i;
6 U; g; H. [, b. S8 V3 [( G; f
# L. g0 U- P/ C/ D
if(!InitLu()) return; //初始化Lu
0 h6 n' j6 |- q3 ^5 W3 ]+ e3 D
8 j0 U8 u# Q n
ErrCode=LuCom(ForStr,0,0,0,hFor,nPara,pPara,ErrBegin,ErrEnd); //编译表达式
9 w# @' _( t0 A. o9 R
if(ErrCode)
( J7 Q# U; @# i% P
{
! R& p: q2 u$ P" p, S
cout<<"表达式有错误!错误代码:"<<ErrCode<<endl;
6 f6 ]% {6 Z3 T) Q* m: T2 \1 @
}
+ g9 m! p* j; m1 J9 q4 ~' g
else
2 L1 k' R% C% ]( ?: D
{
* g" J, H S3 s7 \" y9 T& L# E
for(i=0;i<=nPara;i++) //表达式自变量赋值,均赋值为1
" p0 |3 U, U5 S$ c+ i
{
7 o. @4 S& a% y1 I1 J7 Y! j! s7 B% s
pPara[i].BType=luStaData_int64; pPara[i].VType=luStaData_int64; pPara[i].x=1;
+ I w7 z# k& m8 y) b& k# F8 S
}
/ g( |, L' ]' M. D
Val=LuCal(hFor,pPara); //计算表达式的值
8 @' C, q; ?6 T0 X. c9 H
cout<<Val.x<<endl;
% E0 H: G. e5 i7 Y" ]
}
% C1 K0 Q7 }+ I; l
FreeLu(); //释放Lu
8 N( m2 k9 I2 }$ \# L" @8 X* Z0 h2 B
}
复制代码
运行结果:
! K' |9 s; [( V: B8 f
, R7 j5 W ^6 O9 {/ a+ y
2
% m' h% _" e7 Y; h- U
请按任意键继续. . .
$ P/ Y( S: D g) _; ~
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5