c语言课程设计_鼠标器
/*为了让本实例尽可能简洁的突出鼠标编程,而不在其他方面过多分散读者的注意力。我忽略了很多实现的细节,读者对于可以在十进制编辑框中输入字符"F"之类的问题不要太吃惊。有兴趣的读者可以很容易的修正这个"bug"*/
#include<dos.h>
#include<conio.h>
#include<string.h>
#include<math.h>
#include<stdlib.h>
#include<stdio.h>
#define HEX 0
#define DEC 1
#define OCT 2
#define BIN 3
int index=0,choice=0;
/*初始化鼠标器*/
void initmouse()
{
_AX=0;
geninterrupt(0x33);
}
/*显示鼠标光标*/
void showmouse()
{
_AX=1;
geninterrupt(0x33);
}
/*隐藏鼠标*/
void hidemouse()
{
_AX=2;
geninterrupt(0x33);
}
/*取鼠标状态和鼠标位置*/
void getmouse(int *button,int *x,int *y)
{
_AX=3;
_BX=0;
geninterrupt(0x33);
*button=_BL;
*x=_CX;
*y=_DX;
}
/*设置程序中的数字字符表*/
int getnum(char c)
{
int j;
char alpha_set[36]="0123456789abcdefghijklmnopqrstuvwzyz";
for(j=0;j<36;j++)
{
if(alpha_set[j]==c)
break;
}
return j;
}
/*把任意radix进制的数,转换为十进制数*/
unsigned long convert_to_decimal(char *_num,int radix)
{
int i,len;
unsigned long dec=0;
len=strlen(_num);
len--;
for(i=0;_num[i]!=NULL;i++,len--)
{
dec+=(getnum(_num[i])*pow(radix,len));
}
return dec;
}
/*在给定的坐标(x,y)的位置显示一个字符串*/
void display(int x,int y,char string[80])
{ gotoxy(x,y);
cprintf(string);
}
/*清屏,并且把背景色设置为青绿色*/
void make_screen_cyan()
{
textbackground(CYAN);
clrscr();
}
/*绘制程序的初始界面*/
void start_screen()
{
index=0;
hidemouse();
make_screen_cyan();
textbackground(RED);
textcolor(BLACK);
display(20,1,"Radix Converter by NILOY MONDAL.");
display(10,2,"Email:-yiwei@zju.edu.cn");
display(30,3,"Press Escape to Quit");
textbackground(CYAN);
display(10,5,"Hexadecimal:- ");
display(10,7,"Decimal :- ");
display(10,9,"Octal :- ");
display(10,11,"Binary :- ");
textbackground(BLUE);
display(23,5," ");
display(23,7," ");
display(23,9," ");
display(23,11," ");
if(choice==HEX)
gotoxy(24,5);
else if(choice==DEC)
gotoxy(24,7);
else if(choice==OCT)
gotoxy(24,9);
else if(choice==BIN)
&nb
相关新闻>>
- 发表评论
-
- 最新评论 更多>>