📄 1.c
字号:
#include "stdio.h"
#include "conio.h"
double tmpnum=0;
double tmpans=0;
int todo=0;
int x0,y0;
int ctrin=0;
int ponset=0;
long ponpos=0;
void drawm()
{
textbackground(1);
textcolor(14);
clrscr();
x0=15,y0=3;
gotoxy(x0,y0);puts("1 2 3 +");
gotoxy(x0,y0+=2);puts("4 5 6 -");
gotoxy(x0,y0+=2);puts("7 8 9 *");
gotoxy(x0,y0+=2);puts("0 . = /");
gotoxy(7,y0+=3);puts("Esc: Exit the program.");
gotoxy(7,y0+=1);puts("C: Clear the screen.");
gotoxy(0,y0+=4);puts("Please press the key:");
y0+=2;x0=0;gotoxy(0,y0+=4);
tmpnum=0;tmpans=0;todo=0;ctrin=0;
setpon(0);
}
setpon(int t)
{
if(t==1)
{
if(ponset==0)
{
ponset=1;
ponpos=10;
printf(".");
}
}
else
{
ponset=0;
ponpos=1;
}
}
void intn(int t)
{
if (ponset==0)
{
tmpnum=tmpnum*10+(double)t;
}
else
{
tmpnum=tmpnum+(double)t/ponpos;
ponpos*=10;
}
printf("%d",t);
ctrin=0;
}
void calc(int t)
{
if (ctrin!=0) goto endl;
switch(t)
{
case 1:printf("+");break;
case 2:printf("-");break;
case 3:printf("*");break;
case 4:printf("/");break;
}
switch(todo)
{
case 0:tmpans=tmpnum;break;
case 1:tmpans+=tmpnum;break;
case 2:tmpans-=tmpnum;break;
case 3:tmpans*=tmpnum;break;
case 4:tmpans/=tmpnum;break;
}
tmpnum=0;
todo=t;
ctrin=1;
setpon(0);
endl:;
}
void outans()
{
switch(todo)
{
case 0:tmpans=tmpnum;if(tmpnum==0)printf("%d",tmpnum);break;
case 1:tmpans+=tmpnum;break;
case 2:tmpans-=tmpnum;break;
case 3:tmpans*=tmpnum;break;
case 4:tmpans/=tmpnum;break;
}
printf("=");
tmpnum=0;
printf("%g",tmpans);
tmpans=0;
printf("\n");
todo=0;
ctrin=0;
setpon(0);
}
main()
{
char a;
drawm();
while(1)
{
a=0;
a=bioskey(0)%256;
switch(a)
{
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
case '0':intn(a-'0');break;
case 13:
case '=':outans();break;
case '/':calc(4);break;
case '*':calc(3);break;
case '+':calc(1);break;
case '-':calc(2);break;
case 27:exit(0);break;
case 99:drawm();break;
case '.':setpon(1);break;
default:break;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -