好文档 - 专业文书写作范文服务资料分享网站

C++语言课程设计报告范例(计算器的实现)

天下 分享 时间: 加入收藏 我要投稿 点赞

}

sprintf(stack.s,\输出结果保留小数点后三位*/ 通过switch来实现相应的计算,输出保留三位小数的结果。 … … …

最后mian()函数: main() {

init_stack();

vid_mem=(char far *)0xb8000000; if(!form_win()) {

printf(\ getch(); exit(); } menu(); calculator(); }

通过调用上面定义的函数实现了计算器整个功能。

4.2具体代码实现 源程序代码:

#include\#include\#include\#include\

#define normbut_bor 0x80 #define presbut_but 0xb8

. . .

#define normnum_but 0x8e #define presnum_but 0xb9 #define spebut_char 0x2c #define win_color 0xf2 #define win_char 0xfb

struct s_button /*按键的结构体*/ {

int sx,sy,ex,ey; char *head; int press;

}button[17]; /*图表按键数*/

char far *vid_mem;

static int tx=32,ty=3; /*静态变量*/ float v1=0.0,v2=0.0; struct stack /*结构体栈*/ {

char s[20]; int tos,top; }stack; char tag;

init_stack() /*初始化栈*/ {

stack.tos=0; stack.top=0;

stack.s[stack.tos]='\\0'; }

. . .

push(char ch) /*入栈*/ {

stack.s[stack.tos++]=ch; stack.s[stack.tos]='\\0'; }

pop() /*取栈数据通过*/ {

if(stack.tos>0)

stack.s[--stack.tos]='\\0'; }

clear_stack() /*清空栈*/ {

stack.tos=0; stack.top=0;

stack.s[stack.tos]='\\0'; }

int form_win() /*表格窗口初始化*/ {

textbackground(WHITE); /*窗口背景颜色*/ clrscr(); /*清零*/ draw_win(); /*窗口画线*/ active_button(); /*窗口按键*/ out_text_win(); /*输出文本窗口*/ window_xy(32,3); /*计算结果窗口*/ }

draw_win() /*边框画线窗口*/ {

int i; char far *t;

. . .

char *s=\顶端边框输出的字符*/ draw_border(30,0,79,24,win_color); /*边框的位置和颜色*/ i=(79-30-strlen(s))/2+30; t=vid_mem+i*2; for(;*s;) {

*t++=*s++;

*t++=win_color; /*顶端字体颜色*/

} }

draw_border(int sx,int sy,int ex,int ey,int attrib) /*{

char far *t,far *v; int i; t=vid_mem;

for(i=sx+1;i

v=t+sy*160+i*2;

*v++=196; /*每一行上画线确定为直线*/

*v=attrib; v=t+ey*160+i*2;

*v++=196; /*每一行下画线确定为直线*/

*v=attrib; }

for(i=sy+1;i

v=t+i*160+sx*2;

. . .

边界线函数*/ *v++=179; /*每一列左画线确定为直线*/ *v=attrib; v=t+i*160+ex*2;

*v++=179; /*每一列由画线确定为直线*/ *v=attrib; }

write_char(sx,sy,218,attrib); write_char(ex,sy,191,attrib); write_char(sx,ey,192,attrib); write_char(ex,ey,217,attrib); }

write_char(int x,int y,char ch,int attrib) /*字符输入函数*/ {

char far *v; v=vid_mem; v+=x*2+160*y; *v++=ch; *v=attrib; }

active_button()/*图表按钮设定函数*/ {

int i;

make_button(0,32,9,38,11,\每个键对应的位置和数值*/ make_button(1,42,9,48,11,\ make_button(2,52,9,58,11,\ make_button(3,62,9,67,11,\ make_button(4,71,9,76,11,\ make_button(5,32,12,38,14,\ make_button(6,42,12,48,14,\

. . .

C++语言课程设计报告范例(计算器的实现)

}sprintf(stack.s,\输出结果保留小数点后三位*/通过switch来实现相应的计算,输出保留三位小数的结果。………最后mian()函数:main(){init_stack();vid_mem=(charfar*)0xb8000000;if(!form_win())
推荐度:
点击下载文档文档为doc格式
4fpnb8ht860fvam2gyzr6h1tx45dea007kt
领取福利

微信扫码领取福利

微信扫码分享