7_63.cpp
上传用户:zipjojo
上传日期:2009-07-20
资源大小:70k
文件大小:3k
源码类别:

文章/文档

开发平台:

C/C++

  1.  #include<math.h>
  2. #include<stdlib.h>
  3. #include<iostream.h>
  4. class Calculator
  5. {
  6. double a,b;
  7. public:
  8. Calculator(){a=0;b=0;}; //could be omitted
  9. void newa()
  10. {
  11. double num;
  12. cout<<"Input the number:";
  13. cin>>num;
  14. a=num;
  15. }
  16. void newab()
  17. {
  18. double num1,num2;
  19. cout<<"Input the numbers.the first number:";
  20. cin>>num1;
  21. cout<<"Input the senond number:";     
  22. cin>>num2;
  23.         a=num1;
  24. b=num2;
  25. }
  26. double Geta(){return a;}
  27. double Getb(){return b;}
  28. double Add(Calculator &A);
  29. double Sub(Calculator *A);
  30. double Mul(Calculator &A);
  31. double Div(Calculator &A);
  32. double Sin(Calculator &A);
  33. double Cos(Calculator &A);
  34. double Tan(Calculator &A);
  35. double Exp(Calculator &A);
  36. double Fabs(Calculator &A);
  37. double LogE(Calculator &A);
  38. double Log10(Calculator &A);
  39. double Pow(double x,double y);
  40. double Sqrt(double x);
  41. };
  42. double Calculator::Add(Calculator &A)
  43. {
  44. return A.a+A.b;
  45. }
  46. double Calculator::Sub(Calculator *A)
  47. {
  48. return A->a-A->b;
  49. }
  50. double Calculator::Mul(Calculator &A)
  51. {
  52. return A.a*A.b;
  53. }
  54. double Calculator::Div(Calculator &A)
  55. {
  56. if(A.b==0) 
  57. {cout<<"Error! The program will be terminated!"<<endl;exit(0);}
  58. return A.a/A.b;
  59. }
  60. double Calculator::Sin(Calculator &A)
  61. {
  62. return sin(A.a);
  63. }
  64. double Calculator::Cos(Calculator &A)
  65. {
  66. return cos(A.a);
  67. }
  68. double Calculator::Tan(Calculator &A)
  69. {
  70. return tan(A.a);
  71. }
  72. double Calculator::Exp(Calculator &A)
  73. {
  74. return exp(A.a);
  75. }
  76. double Calculator::Fabs(Calculator &A)
  77. {
  78. return fabs(A.a);
  79. }
  80. double Calculator::LogE(Calculator &A)
  81. {
  82. return log(A.a);
  83. }
  84. double Calculator::Log10(Calculator &A)
  85. {
  86. return log10(A.a);
  87. }
  88. double Calculator::Pow(double x,double y)
  89. {
  90. return pow(x,y);
  91. }
  92. double Calculator::Sqrt(double x)
  93. {
  94. if(x<0) 
  95. {cout<<"Error! The program will be terminated!"<<endl;exit(0);}
  96. return sqrt(x);
  97. }
  98. void main()
  99. {
  100. int sel;
  101. Calculator cal;
  102. cout<<"Welcome to use the calculator!please select."<<endl;
  103. cout<<"1:'+'    2:'-'     3:'*'      4:'/'     5:'sin'   6:'cos'  7:'tan'"<<endl;
  104. cout<<"8:'exp'  9:'fabs'  10:'logE'  11:'log10' 12:'pow'  13:'sqrt'"<<endl;
  105. do
  106. {
  107.     cout<<"Please select:(0--exit)";
  108. cin>>sel;
  109. switch (sel)
  110. {
  111. case 0: break;
  112. case 1: cal.newab();
  113.     cout<<"The result is:"<<cal.Add(cal)<<endl;
  114. break;
  115.     case 2: cal.newab();
  116.     cout<<"The result is:"<<cal.Sub(&cal)<<endl;
  117. break;
  118. case 3: cal.newab();
  119.     cout<<"The result is:"<<cal.Mul(cal)<<endl;
  120. break;
  121.     case 4: cal.newab();
  122.     cout<<"The result is:"<<cal.Div(cal)<<endl;
  123. break;
  124. case 5: cal.newa();
  125.     cout<<"The result is:"<<cal.Sin(cal)<<endl;
  126. break;
  127.     case 6: cal.newa();
  128.     cout<<"The result is:"<<cal.Cos(cal)<<endl;
  129. break;
  130. case 7: cal.newa();
  131.     cout<<"The result is:"<<cal.Tan(cal)<<endl;
  132. break;
  133. case 8: cal.newa();
  134.     cout<<"The result is:"<<cal.Exp(cal)<<endl;
  135. break;
  136. case 9: cal.newa();
  137.     cout<<"The result is:"<<cal.Fabs(cal)<<endl;
  138. break;
  139. case 10: cal.newa();
  140.     cout<<"The result is:"<<cal.LogE(cal)<<endl;
  141. break;
  142. case 11: cal.newa();
  143.     cout<<"The result is:"<<cal.Log10(cal)<<endl;
  144. break;
  145. case 12: cal.newab();
  146.     cout<<"The result is:"<<cal.Pow(cal.Geta(),cal.Getb())<<endl;
  147. break;
  148. case 13: cal.newa();
  149.     cout<<"The result is:"<<cal.Sqrt(cal.Geta())<<endl;
  150. break;
  151. default: cout<<"Your selection is ERROR! Select again!"<<endl;
  152. }
  153. }while(sel!=0);
  154. }