以下仅为初稿,内容仍需完善,可能存在错误。代码仅供作业小组人员使用。
#include#include #include using namespace std; int key1() { int k1; cout << "请问是否需要对该数字进行预处理,如不需要请输入0:" << endl; cout << "1.sin 2.cos 3.tan " << endl; cin >> k1; while (k1 != 1 && k1 != 2 && k1 != 3 && k1 !=0 ) { cout << "请重新输入" << endl; cin >> k1; } switch (k1) { case 1: return 1; case 2: return 2; case 3: return 3; case 4:break; } } void key2( double *cal, int a) { double c = *cal; switch (a) {//所有涉及cal的都用c来表示 case 1: c=sin(c);//sinc break; case 2: c=cos(c);//cosc break; case 3: c=tan(c);//tanc break; } *cal = c; } int keys(double *cal) { int b1; double b2,c; c = *cal; cout << "请输入你所需要的运算符或运算方式前的编号,其中第8个是结束运算:" << endl; cout << "************************************" << endl; cout << "* 1. + 2. — 3. × 4. ÷ *" << endl; cout << "* 5.n√ 6. ^n 7.1/X 8. FIN *" << endl; cout << "************************************" << endl; cin >> b1; int a = key1(); cout << "请输入下一个数,如果你已经结束运算请随意输入数字" << endl; cin >> b2; key2(&b2,a); while (b1 != 8) { switch (b1) { case 1: c += b2; break; case 2: c -= b2; break; case 3: c *= b2; break; case 4: c /= b2; break; case 5: c=pow(c,1/b2); break; case 6: c=pow(c,b2); break; case 7: c=b2/c; break; } *cal = c; return 0; } if(b1==8){ *cal = c; return 1; } } int Narcissus(int n){ //tool(1) int a,b,c,m; cout<<"请输入:"; cin>>n; a=n/100; b=(n%100)/10; c=n%10; m=a*a*a+b*b*b+c*c*c; if (n==m) cout< >n; cout<<"请输入第二个数:"; cin>>m; for(x=n;;x--){ if(n%x==0&&m%x==0){ cout< >n; cout<<"请输入第二个数:"; cin>>m; for(y=n;;y++){ if(y%n==0&&y%m==0) break; } cout< >n; for(int i=1;i<=n;i++){ result*=i; } cout< > a; int n,m; switch(a){ case 1: Narcissus(n); break; case 2: Divisor(n,m); break; case 3: Multiple(n,m); break; case 4: bool isFlag; cin>>n; isPrime(n); if(isFlag){ cout< > cal; key2(&cal,a); int n = 0; while (n == 0) { n = keys(&cal); } cout << cal<< endl; } int main() { int a1=0; cout << "欢迎使用科学计算器!请选择您需要的功能" << endl; cout << "1.工具" << endl; cout << "2.计算" << endl; cin >> a1; while (a1 != 1 && a1 != 2) { cout << "请重新输入" << endl; cin >> a1; } if (a1 == 1) { tools(); } else if (a1 == 2) { calculation(); } }



