资源描述:
《_c语言程序设计案例》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、_C语言程序设计案例案例二计算器#include/*DOS接口函数*/#include/*数学函数的定义*/#include/*屏幕操作函数*/#include/*I/O函数*/#include/*库函数*/#include/*变量长度参数表*/#include/*图形函数*/#include/*字符串函数*/#include/*字符操作函数*/#defineUP0x48/*光标上移键*/#defi
2、neDOWN0x50/*光标下移键*/#defineLEFT0x4b/*光标左移键*/#defineRIGHT0x4d/*光标右移键*/#defineENTER0x0d/*回车键*/void*rar;/*全局变量,保存光标图象*/structpalettetypepalette;/*使用调色板信息*/intGraphDriver;/*图形设备驱动*/intGraphMode;/*图形模式值*/intErrorCode;/*错误代码*/intMaxColors;/*可用颜色的最大数值*/intMaxX,MaxY;/*屏幕的最大分辨率*/doubleAspectRat
3、io;/*屏幕的像素比*/voiddrawboder(void);/*画边框函数*/voidinitialize(void);/*初始化函数*/voidcomputer(void);/*计算器计算函数*/voidchangetextstyle(intfont,intdirection,intcharsize);/*改变文本样式函数*/voidmwindow(char*header);/*窗口函数*/intspecialkey(void);/*获取特殊键函数*/intarrow();/*设置箭头光标函数*//*主函数*/intmain(){initialize();
4、/*设置系统进入图形模式*/computer();/*运行计算器*/closegraph();/*系统关闭图形模式返回文本模式*/return(0);/*结束程序*/}/*设置系统进入图形模式*/voidinitialize(void){intxasp,yasp;/*用于读x和y方向纵横比*/GraphDriver=DETECT;/*自动检测显示器*/initgraph(&GraphDriver,&GraphMode,"");/*初始化图形系统*/ErrorCode=graphresult();/*读初始化结果*/if(ErrorCode!=grOk)/*如果初始
5、化时出现错误*/{printf("GraphicsSystemError:%s",grapherrormsg(ErrorCode));/*显示错误代码*/exit(1);/*退出*/}getpalette(&palette);/*读面板信息*/MaxColors=getmaxcolor()+1;/*读取颜色的最大值*/MaxX=getmaxx();/*读屏幕尺寸*/MaxY=getmaxy();/*读屏幕尺寸*/getaspectratio(&xasp,&yasp);/*拷贝纵横比到变量中*/AspectRatio=(double)xasp/(double)y
6、asp;/*计算纵横比值*/}/*计算器函数*/voidcomputer(void){structviewporttypevp;/*定义视口类型变量*/intcolor,height,width;intx,y,x0,y0,i,j,v,m,n,act,flag=1;floatnum1=0,num2=0,result;/*操作数和计算结果变量*/charcnum[5],str2[20]={""},c,temp[20]={""};charstr1[]="1230.456+-789*/Qc=^%";/*定义字符串在按钮图形上显示的符号*/mwindow("Calculat
7、or");/*显示主窗口*/color=7;/*设置灰颜色值*/getviewsettings(&vp);/*读取当前窗口的大小*/width=(vp.right+1)/10;/*设置按钮宽度*/height=(vp.bottom-10)/10;/*设置按钮高度*/x=width/2;/*设置x的坐标值*/y=height/2;/*设置y的坐标值*/setfillstyle(SOLID_FILL,color+3);bar(x+width*2,y,x+7*width,y+height);/*画一个二维矩形条显示运算数和结果*/setcolor(color+3);/*
8、设置淡绿颜