Advertisement
lily09290110

簡易型計算機

Jan 7th, 2015
178
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.22 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<string.h>
  4. #include<math.h>
  5. void calculation_add(double *a)
  6. {
  7. double b;
  8. scanf("%lf",&b);
  9. system("cls");
  10. printf("%.2lf + %.2lf\n",*a,b);
  11. *a=*a+b;
  12. printf("result so far is %.2lf\n",*a);
  13. }
  14. void calculation_subtract(double *a)
  15. {
  16. double b;
  17. scanf("%lf",&b);
  18. system("cls");
  19. printf("%.2lf - %.2lf\n",*a,b);
  20. *a=*a-b;
  21. printf("result so far is %.2lf\n",*a);
  22. }
  23. void calculation_multiply(double *a)
  24. {
  25. double b;
  26. scanf("%lf",&b);
  27. system("cls");
  28. printf("%.2lf * %.2lf\n",*a,b);
  29. *a=(*a)*b;
  30. printf("result so far is %.2lf\n",*a);
  31. }
  32. void calculation_divide(double *a)
  33. {
  34. double b,loop=1;
  35. while(loop==1)
  36. {
  37. scanf("%lf",&b);
  38. if(b==0)
  39. {
  40. printf("null\n");
  41. printf("pause");
  42. system("cls");
  43. printf("%.2lf / ",*a);
  44. }
  45. else loop=0;
  46. }
  47. system("cls");
  48. printf("%.2lf / %.2lf\n",*a,b);
  49. *a=(*a)/b;
  50. printf("result so far is %.2lf\n",*a);
  51. }
  52. void calculation_power(double *a)
  53. {
  54. system("cls");
  55. printf("%.2lf * %.2lf\n",*a,*a);
  56. *a=(*a)*(*a);
  57. printf("result so far is %.2lf\n",*a);
  58. }
  59. void calculation_end(double *a)
  60. {
  61. system("cls");
  62. printf("\t = %.2lf\n",*a,*a);
  63. printf("final so far is %.2lf\n",*a);
  64.  
  65. }
  66. int main()
  67. {
  68. double a=0,b,input_test_loop=0;
  69. char operation;
  70. printf("please input your operation(+,-,*,/,^,=) "
  71. "and input a number :\n");
  72. while(input_test_loop==0)
  73. {
  74. scanf(" %c ",&operation);
  75. switch(operation)
  76. {
  77. case '+':calculation_add(&a);
  78. break;
  79. case '-':calculation_subtract(&a);
  80. break;
  81. case '*':calculation_multiply(&a);
  82. break;
  83. case '/':calculation_divide(&a);
  84. break;
  85. case '^':calculation_power(&a);
  86. break;
  87. case '=':calculation_end(&a);
  88. input_test_loop=1;
  89. break;
  90. default :printf("\nerror operation\n");
  91. system("pause");
  92. system("cls");
  93. break;
  94. }
  95. }
  96. return 0;
  97. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement