简单计算器代码(含加减乘除取余5个操作)
#include"stdio.h"
#include"math.h"
#include"ctype.h"
#include<stdlib.h>
#define ZERO 0.0000001
float GetDataFromKeyBoard();
int GetContinueYesOrNo();
char Displaymenu();
void add();
void sub();
void mul();
void did();
void sur();
void TheComputer();
char Displaymenu()
{
char choice;
printf("本程序实现一个简单的计算器,请选择下面的需要执行的计算\n");
printf("a.加法 b.减法\n");
printf("c.乘法 d.除法\n");
printf("e.取余 q.结束\n");
printf("输入字母a,b,c,d,e选择运算方法,输入q结束\n");
printf("请输入:");
do
{
choice = tolower(getch());
if (choice == 'q' || choice == 'Q')
return'q';
else
{
if (choice >= 'a' && choice <= 'e')
{
putchar(choice);
return choice;
}
else
{
putchar('\a');
}
}
} while (1);
}
void add()
{
float firstData, secondData;
printf("\n请输入第一个操作数:");
firstData = GetDataFromKeyBoard();
printf("\n请输入第二个操作数:");
secondData = GetDataFromKeyBoard();
printf("\n%f +%f = %f\n", firstData, secondData, firstData + secondData);
}
void sub()
{
float firstData, secondData;
printf("\n请输入第一个操作数:");
firstData = GetDataFromKeyBoard();
printf("\n请输入第二个操作数:");
secondData = GetDataFromKeyBoard();
printf("\n%f -%f = %f\n", firstData, secondData, firstData - secondData);
}
void mul()
{
float firstData, secondData;
printf("\n请输入第一个操作数:");
firstData = GetDataFromKeyBoard();
printf("\n请输入第二个操作数:");
secondData = GetDataFromKeyBoard();
printf("\n%f ×%f = %f\n", firstData, secondData, firstData * secondData);
}
void did()
{
float firstData, secondData;
printf("\n请输入第一个操作数:");
firstData = GetDataFromKeyBoard();
printf("\n请输入第二个操作数:");
secondData = GetDataFromKeyBoard();
if (fabs(secondData) > ZERO)
printf("\n%f ÷%f = %f\n", firstData, secondData, firstData / secondData);
else
printf("除数为零,不能完成除法运算!\n");
}
void sur()
{
float firstData, secondData;
printf("\n请输入第一个操作数(整数):");
firstData = GetDataFromKeyBoard();
printf("\n请输入第二个操作数(整数):");
secondData = GetDataFromKeyBoard();
if ((int)firstData == firstData && (int)secondData == secondData)
if (secondData > ZERO)
printf("\n%d %% %d = %d\n", (int)firstData, (int)secondData, (int)firstData%(int)secondData);
else
printf("除数为零,不能完成模的运算\n");
else
printf("输入的预算数不是整数,不能进行模的运算\n");
}
float GetDataFromKeyBoard()
{
float i;
scanf("%f",&i);
return i;
}
void TheComputer()
{
char choice;
while (1)
{
choice = Displaymenu();
switch (choice)
{
case'a':
add();
break;
case'b':
sub();
break;
case'c':
mul();
break;
case'd':
did();
break;
case'e':
sur();
break;
case'q':
return;
}
if (GetContinueYesOrNo())
system("cls");
else
break;
}
}
int GetContinueYesOrNo()
{
char c;
printf("还要再继续吗Y/N: ");
c=getche();
if(c=='Y')
return 1;
else return 0;
}
main()
{
TheComputer();
}