一个简单计算器c代码
大家帮我看看这个代码,有很多问题,不知道怎么改,小弟在此谢谢了。
#include<stdio.h>
#include<conio.h>
#include<ctype.h>
float date1,date2;
char op;
void main()
{
void ZhuJieMian(); //对ZhuJieMian函数进行声明
float SiZeYunSuan(float x,float y); //对SiZeYunSuan函数进行声明
float al;
char ch='Y';
while(toupper(ch)=='Y')
{
clrscr(); //刷屏起始位置
ZhuJieMian(); //调用ZhuJieMian函数
al=SiZeYunSuan(date1,date2); //调用SiZeYunSuan函数
gotoxy(16,8);
clreol(); //刷屏终止位置
printf("%.2f%2c %.2f=%.2f\n",date1,op,date2,al);
gotoxy(50,8);
putchar(0xb3);
gotoxy(15,4);
printf("continue(y/n)?");
ch=getch();
}
}
void ZhuJieMian()
{
int i;
gotoxy(15,5);
putchar(0XDA); //画左上拐角|-
gotoxy(16,8);
putchar(' '); //光标插入部位
gotoxy(16,5);
for(i=16;i<=49;i++)
putchar(0XC4); //画上边线 —
gotoxy(15,6);
for(i=6;i<=9;i++)
{gotoxy(15,i);
putchar(0XB3);
} //画左侧间隔竖线|
gotoxy(15,9);
putchar(0XC3); //画左侧T形线
for(i=10;i<=20;i++)
{
gotoxy(15,i);
putchar(0XB3);
} //画左下段竖线|
gotoxy(50,5);
putchar(0XBF); //画右上拐角-|
gotoxy(50,6);
for(i=6;i<=9;i++)
{
gotoxy(50,i);
putchar(0XB3);
} //画右侧间隔竖线|
gotoxy(50,9);
putchar(0XB4); //画右侧T形线
gotoxy(50,10);
for(i=10;i<=20;i++)
{gotoxy(50,i);
putchar(0XB3);} //画右侧下段竖线|
gotoxy(50,21);
putchar(0XD9); //画右下拐角_|
gotoxy(15,21);
putchar(0xC0); //画左下拐角|_
gotoxy(16,9);
for(i=16;i<=49;i++)
{gotoxy(i,9);
putchar(0XC4);} //画间隔横线
gotoxy(i,21);
for(i=16;i<=49;i++)
{
gotoxy(i,21);
putchar(0xC4);
} //画底部横线-
//===========================================================================//数字面板
gotoxy(21,12);
putchar(0X31); //1
gotoxy(21,15);
putchar(0X34); //4
gotoxy(21,18);
putchar(0X37); //7
gotoxy(21,20);
putchar(0X30); //0
gotoxy(27,12);
putchar(0X32); //2
gotoxy(27,15);
putchar(0X35); //5
gotoxy(27,18);
putchar(0X38); //8
gotoxy(33,12);
putchar(0X33); //3
gotoxy(33,15);
putchar(0X36); //6
gotoxy(33,18);
putchar(0X39); //9
gotoxy(38,12);
putchar(0X2B); //+
gotoxy(38,15);
putchar(0x2A); //*
gotoxy(38,18);
putchar(0x3D); //=
gotoxy(44,12);
putchar(0X2D); //-
gotoxy(44,15);
putchar(0X2F); ///
gotoxy(44,18);
putchar(0X1B); //←
gotoxy(16,8); //定义光标位置
scanf("%f%c%f",&date1,&op,&date2);
}
float SiZeYunSuan(float x,float y)
{
float re;
scanf("%f%c%f",&x,&op,&y);
switch(op)
{
case '*':
//re=date1*date2;
return(re=date1*date2);
break;
case '/':
//re=date1/date2;
return(re=date1/date2);
break;
case '+':
//re=date1+date2;
return(re=date1+date2);
break;
case '-':
//re=date1-date2;
return(re=date1-date2);
break;
}
}