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);/*将表达式保存在字符数组中*/

}