Topx彩票结果
# include & ltstdio.h & gt
# include & ltmath.h & gt
# include & ltctype.h & gt
# include & ltconio.h & gt
/* #包含" stack.c "
#include"box.c"*/
# define maxlen 1 100/*定义堆栈的最大长度1 */
#define MAXLEN2 100 /*定义堆栈2的最大长度*/
#定义NULL 0
#定义OK 1
#定义错误0 /*定义错误信息*/
#定义不可行-1
#定义零溢出-2
#定义OPTRERROR -3
#定义系统错误-4
#定义指针错误-5
#定义NOINPUT -6
typedef int状态;
枚举布尔值{FALSE,TRUE };
结构S1{
int top
char element[maxlen 1];
};/*定义字符堆栈1的节点*/
typedef struct s 1 * stack 1;
结构S2{
int top
双元素[maxlen 2];
};/*定义实栈2的节点*/
typedef结构S2 *堆栈2;*/
void main()
{
void setbkgnd();
void setsur();
void init ESPN(char ex[maxl EN1]);
状态表达式(char e[MAXLEN1],double * p);/*评估函数,返回正确或错误的信息。如果正确,使用p返回结果*/
void printresult(int con,double result);
char corewin(int lefttopx,int left topy);
char yorn
双重结果;/*计算结果*/
双* rp
int count = 1;/*标记进入循环体的次数*/
rp = & amp结果;
做{
char espn[MAXLEN1]={\n,NULL };
状态表达式;
yorn = NULL
If(count==1) /*如果第一次输入*/
{
setbkgnd();
setsur();/*制作初始图片*/
}
setbkgnd();
count++;
init ESPN(ESPN);
gotoxy(3,11);
expr=EXPRESSION(espn,RP);
printresult(expr,result);
yorn=corewin(3,13);/*窗口操作提示继续或退出*/
}while(yorn!= e & amp& amp约恩。= E);
}
void setbkgnd()
{
void box1( int startx,int starty,int width,int high);/*画一个矩形线框*/
int j;
窗口(1,1,80,25);
textbackground(蓝色);
textcolor(白色);
clr SCR();
box1(1,1,80,24);
gotoxy(2,2);
printf("这是一个用于计算的程序。\ n ");
gotoxy(2,3);
printf("您可以使用这些运算符:\ n ");
gotoxy(2,4);
printf("+-*/sin cos tan ln LG arcsin arccos arctan sqrt exp \ n ");
gotoxy(1,5);
putch(198);
for(j = 1;j & lt79;j++)
putch(205);
putch(181);
gotoxy(1,12);
putch(195);
for(j = 1;j & lt79;j++)
putch(0x C4);
putch(180);
gotoxy(1,14);
putch(198);
for(j = 1;j & lt79;j++)
putch(205);
putch(181);
gotoxy(215);
printf(" % c directory:",249);
gotoxy(316);
printf(" % c正确输入表达式,结果将在后面加上",250);
gotoxy(317);
printf("后缀符号。");
gotoxy(318);
printf("%cif如果输入不正确,将会给出错误信息。",250);
gotoxy(319);
printf(" % c按c继续,按e退出。,250);
gotoxy(3,20);
printf(" % c按Enter确认您的选择。,250);
gotoxy(3,21);
printf(" % c您可以在按Enter之前更改您的选择。,250);
gotoxy(3,22);
gotoxy(3,23);
}
Voidbox 1 (int startx,int starty,int width,int high)/*画一个矩形线框*/
{
int I;
gotoxy(startx,starty);
putch(0x da);/*绘画-| */
for(I = startx+1;我& lt宽度;i++)
putch(0x C4);/*绘画-*/
putch(0x BF);
for(I = starty+1;我& lt高;i++)
{
gotoxy(startx,I);putch(0x B3);/*绘画| */
gotoxy(宽度,I);putch(0x B3);/*绘画| */
}
gotoxy(startx,高);
putch(0xc 0);/*绘画|-*/
for(I = startx+1;我& lt宽度;i++)
putch(0x C4);/*绘画-*/
putch(0xd 9);/*绘画-| */
}
void setsur()
{
void box2(int startx,int starty,int width,int high);/*画一个双矩形线框*/
窗口(21,8,60,16);
textbackground(浅灰色);
clr SCR();
textcolor(白色);
box2(2,1,39,9);
textcolor(黑色);
gotoxy(10,3);
cprintf("表达式操作");
gotoxy(14,4);
cprintf("版本1.1 ");
gotoxy(13,6);
cprintf(" LKP & amp;ZZC ID _ 27 ");
gotoxy(10,7);
cprintf(" 0003104 _ HIT 2002.5 ");
窗口(1,1,80,25);
gotoxy(2,6);
getch();
}
Voidbox 2 (int startx,int starty,int width,int high)/*绘制一个双矩形线框*/
{
int I;
gotoxy(startx,starty);
putch(201);/*绘画|-*/
for(I = startx+1;我& lt宽度;i++)
putch(205);/*绘画-*/
putch(187);
for(I = starty+1;我& lt高;i++)
{
gotoxy(startx,I);putch(186);/*绘画| */
gotoxy(宽度,I);putch(186);/*绘画| */
}
gotoxy(startx,高);
putch(200);/*绘画| _ */
for(I = startx+1;我& lt宽度;i++)
putch(205);/*绘画-*/
putch(188);/*绘画_ | */
}
void initespn(char ex[maxl EN1])
{
int I = 1;
textcolor(黄色);
gotoxy(2,6);
cprintf(" % c输入表达式:",249);/*提示输入表达式*/
gotoxy(3,7);
做
{
scanf("%c ",& ampex[I]);
i++;
}while(ex[i-1]!= \ n);/*将表达式保存在字符数组中*/
}