Codejock Xtreme Toolkit/Suite Pro v15.3.1,该怎么处理
只有RichTextBox有这样的功能如果你要Label也要有这样的功能:1.你可以用第三方控件(Codejock Xtreme SuitePro中有一个Markup Label 可以实现此功能)2.你可以考虑自己绘制(当然比较繁琐咯。)
request.setAttribute();干什么用的
request.setAttribute一次传参数,速度快,缺点是参数只能取一次。request.getSession().setAttribute保存参数,将参数放入后主要不清,就一直在,随时可以取来用。缺点是比较占用资源。两个各有好处,根据实际情况使用。请采纳。
求C++大神帮忙编简单的四则运算练习题程序
/*****stack.h*****/typedef char flag;#define NEW_STACK(STACK_NAME,TYPE) \struct STACK_NAME \{ \ TYPE*b;TYPE*h;int size; \ \flag init(STACK_NAME* in) \{ \ if(!(in-》b=(TYPE*)malloc(10*sizeof(TYPE))))return 0; \ in-》size=10*sizeof(TYPE); \ in-》h=in-》b; \ return 1; \ \} \flag isnull(STACK_NAME*in) \ { \ if(in-》b==in-》h) \ return 1; \ else \ return 0; \ } \flag pop(STACK_NAME*in,TYPE *a) \ { \ if(isnull(in))return 0; \ *a=*(--in-》h); \ return 1; \ \ } \flag push(STACK_NAME*in,TYPE a) \ { \ if(in-》h-in-》b》=in-》size) \ { \ if(!(in-》b=(TYPE*)realloc(in-》b,in-》size+10*sizeof(TYPE))))return 0; \ in-》h=in-》b+in-》size; \ in-》size+=10*sizeof(TYPE); \ } \ *(in-》h)=a; \ in-》h++; \ return 1; \ } \\TYPE gettop(STACK_NAME*in) \ { \ TYPE*a=in-》h-1; \ return *a; \ } \}; /******源文件******/include《stdio.h》#include《stdlib.h》#include《string.h》#include《math.h》#include“stack.h“#define isnum(n) ((n》=’0’&&n《=’9’)||n==’.’)NEW_STACK(csta,char)NEW_STACK(dsta,double)/*precede block*/int ctoiex(char a){ int b; if (a==’)’) b=1; if(a==’+’||a==’-’)b=2; if(a==’*’||a==’/’)b=3; if(a==’(’)b=4; if(a==’#’)b=0; return b;}char precede(char a,char b){ int a1=ctoiex(a); int b1=ctoiex(b); if((a1==4&&b1==1)||((a1==0)&&(b1==0)))return ’=’; if(a1》=b1) return ’》’; else return ’《’;}double atonum(char*a,int len){ int inum=0; double dnum=0; char f=1; int j=1; for (int i=0;i《len;i++) { if(a[i]==’.’) { f=0; continue; } if(f)inum=inum*10+(a[i]-’0’); else dnum=dnum+(a[i]-’0’)*pow(0.1,j++); } return inum+dnum;}double operate(double a,double b,char op){ double c; switch(op) { case ’+’:c=a+b;break; case ’-’:c=a-b;break; case ’*’:c=a*b;break; case ’/’:c=a/b;break; } return c;}void insert(char*a){ int len=strlen(a); a[len]=’#’; a[len+1]=0;}int main(){ csta optr;dsta opnd; optr.init(&optr);opnd.init(&opnd); optr.push(&optr,’#’); char s; char b; char c; char tmp1=’1’; double op1,op2; char f=0; printf(“请输入公式: “); scanf(“%s“,s); insert(s); for(int i=0,j=0;tmp1!=’#’||optr.gettop(&optr)!=’#’;) { if(isnum(tmp1)) { b[j++]=s[i++]; tmp1=s[i]; } else { if(f!=’》’) { opnd.push(&opnd,atonum(b,j)); j=0; } switch(f=precede(optr.gettop(&optr),tmp1)) { case ’《’: optr.push(&optr,tmp1);tmp1=s[++i];break; case ’=’: optr.pop(&optr,&c);tmp1=s[++i];break; case ’》’: optr.pop(&optr,&c); opnd.pop(&opnd,&op1); opnd.pop(&opnd,&op2); opnd.push(&opnd,operate(op2,op1,c)); break; } } } printf(“\n%f\n“,opnd.gettop(&opnd)); return 0;}