⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 课程设计,计算器.cpp

📁 使用VC++的环境进行简单编程的计算器功能
💻 CPP
字号:
#include <process.h>
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
#include <math.h>
float number,answer,val;
class oopcalc {
public:
void calcadd();
void calcsub();
void calcdiv();
void calcmult();
void calcfartocel();
void calcceltofar();
void calcsroot();
void exitprog();
void menu();
void badinput();
void calchunhe();
void calcceshi();
private:
float add(float n);
float sub(float n);
float div(float n);
float mult(float n);
float fartocel(float x);	
float celtofar(float x);
float sqroot(float x);
};
void oopcalc::calcadd()
{
cout<<"加法\n";
cout<<"请输入所要加的数,输0结束\n";
cin>>number;

cout<<"答案是:"<<add(number)<<endl;
cout<<"继续\n";
getch();
menu();
}
void oopcalc::calcsub()
{
cout<<"减法\n";
cout<<"请输入所要减的数,输0结束\n";
cin>>number;
cout<<"答案是:"<<sub(number)<<endl;
cout<<"继续\n";
getch();
menu();
}
void oopcalc::calcdiv()
{
cout<<"除法\n";
cout<<"请输入所要除的数,输0结束\n";
cin>>number;
cout<<"答案是:"<<div(number)<<endl;
cout<<"继续\n";
getch();
menu();
}
void oopcalc::calcmult()
{
cout<<"乘法\n";
cout<<"请输入所要乘的数,输0结束\n";
cin>>number;
cout<<"答案是:"<<mult(number)<<endl;
cout<<"继续\n";
getch();
menu();
}
void oopcalc::calcfartocel()
{
cout<<"The Farenheit to Celsius Function\n";
cout<<"Enter a tempature in Farenheit:";
cin>>number;
answer=fartocel(number);
cout<<"The tempature in Celsius is"<<answer<<endl;
cout<<"继续\n";
getch();
menu();
}
void oopcalc::calcceltofar()
{
cout<<"The Celsius to Farenheit Function\n";
cout<<"Enter a tempature in Celsius:";
cin>>number;
answer=celtofar(number);
cout<<"The tempature in Farenheit is"<<answer<<endl;
cout<<"继续\n";
getch();
menu();
}
void oopcalc::calcsroot()
{
cout<<"开方\n";
cout<<"请输入一个数: ";
cin>>number;
answer=sqroot(number);
cout<<"平方根是"<<answer<<endl;
cout<<"继续\n";
getch();
menu();
}
void oopcalc::calchunhe()
{
	float x,y,sum;
	char op1,op;
		sum=0;y=0;
		op1=' ';
		cout<<"输入四则运算的计算式:";
		cin>>x>>op;
		while (op!='='){
			cin>>y;
			switch(op)
			{
			case'+':
			case'-':
				switch(op1){
				case' ':sum=x;
					break;
				case'+':sum+=x;
					break;
				case'-':sum-=x;
					break;
				}
				op1=op;x=y;
				break;
				case'*':x*=y;
					break;
				case'/':if(y)
						{
					        x/=y;
					        break;
						}
					else{
						cout<<"除数为0\n";
						goto end;
					}
				default:cout<<"非法的运算符\n";
					goto end;
			}
			cin>>op;
		}
		switch(op1){
				case' ':sum=x;
					break;
				case'+':sum+=x;
					break;
				case'-':sum-=x;
					break;
				}
		cout<<"="<<sum<<'\n';
		end:;
			cout<<"继续\n";
getch();
menu();
}
void oopcalc::calcceshi()
{int a,b,sum=0;
int op,c,d;
a=rand();
b=rand();
op=rand()%4;
switch(op)
{
case 0:cout<<a<<'+'<<b<<'=';
	c=a+b;
	break;
case 1:cout<<a<<'-'<<b<<'=';
	c=a-b;
	break;
case 2:cout<<a<<'*'<<b<<'=';
	c=a*b;
	break;
case 3:cout<<a<<'/'<<b<<'=';
	c=a/b;
	break;
}
cin>>d;
	if(d==c){
		cout<<"正确!";}
	else cout<<"不正确!";
    getch();
	menu();
	cout<<"继续\n";		
}
void oopcalc::exitprog()
{
exit(-1);
}
void oopcalc::menu()
{
char input;
oopcalc a;
system("cls");											
cout<<"================计算器===============\n";
cout<<"1:加法\n";
cout<<"2:减法\n";
cout<<"3:除法\n";
cout<<"4:乘法\n";
cout<<"5:Convert Farenheit to Celsius\n";
cout<<"6:Convert Celsius to Farenheit\n";
cout<<"7:开方\n";
cout<<"8:混合计算\n";
cout<<"9:测试\n";
cout<<"0:结束\n";
cout<<"请选择: ";
cin>>input;
cout<<"===============0204210450姚宏昕===============\n";
switch (input)
{
case'1': a.calcadd();
         break;
case'2': a.calcsub();
         break;
case'3': a.calcdiv();
         break;
case'4': a.calcmult();
         break;
case'5': a.calcfartocel();
         break;
case'6': a.calcceltofar();
        break;
case'7': a.calcsroot();
         break;
case'8': a.calchunhe();
         break;
case'9': a.calcceshi();
         break;
case'0': a.exitprog();
         break;
default: a.badinput();
}
}
void oopcalc::badinput()
{
cout<<"错误输入!\n";
cout<<"继续\n";
getch();
menu();
}
float oopcalc::add(float n)
{
	val=0;
	while(n!=0)
	{
	   val+=n;
	   cin>>n; 
	}
 
return val;
}
float oopcalc::sub(float n)
{
	int flag=0;
	while(n!=0){
		if(flag==0)
		{
			val=n;
			flag=1;
		}
		else
			val-=n;
		cin>>n;
	}
return val;
}
float oopcalc::div(float n)
{
	int flag=0;
	while(n!=0){
		if(flag==0)
		{
			val=n;
			flag=1;
		}
		else val/=n;
		cin>>n;
	}
return val;
}
float oopcalc::mult(float n)
{
	val=1;
	while(n!=0)
	{
		val*=n;
		cin>>n;
	}
return val;
}
 float oopcalc::fartocel(float x)
{
float cel=((x-32)*5)/9;
return cel;
}
float oopcalc::celtofar(float x)
{
float f;
f=x*9/5+32;
return f;
}
float oopcalc::sqroot(float x)
{
float g=sqrt(x);
return g;
}
void main()
{
oopcalc s;
s.menu();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -