Advertisement
Guest User

Untitled

a guest
Oct 15th, 2019
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.59 KB | None | 0 0
  1. /**
  2. * Programeksempel nr 20 - St�rre programeksempel.
  3. *
  4. * som vektlegger:
  5. * - l�kker (for, do, while)
  6. *
  7. * @file EKS_20.C
  8. * @author Frode Haug, NTNU
  9. */
  10.  
  11. #include <stdio.h> // printf, scanf
  12. #include <ctype.h> // toupper
  13. #define STRLEN 50 // max antall siffer til bruk i kalkulator
  14.  
  15.  
  16. int main(){
  17. float tall[STRLEN], input,
  18. akkumulator = 0.0;
  19. char tegn[STRLEN], operator;
  20. int i = 0;
  21.  
  22. printf("Enkel Kalkulator\n-------------------\n");
  23. printf("= %f", akkumulator);
  24.  
  25. do{
  26.  
  27. i += 1;
  28. printf("\n: ");
  29. scanf(" %c", &operator);
  30. operator = toupper(operator);
  31. scanf(" %f", &input);
  32.  
  33. switch (operator){
  34. case '*':
  35. akkumulator *= input;
  36. tegn[i] = '*';
  37. tall[i] = input;
  38. printf("\n= %f", akkumulator);
  39. break;
  40. case '+':
  41. akkumulator += input;
  42. tegn[i] = '+';
  43. tall[i] = input;
  44. printf("\n= %f", akkumulator);
  45. break;
  46. case '-':
  47. akkumulator -= input;
  48. tegn[i] = '-';
  49. tall[i] = input;
  50. printf("\n= %f", akkumulator);
  51. break;
  52. case '/':
  53. akkumulator /= input;
  54. tegn[i] = '/';
  55. tall[i] = input;
  56. printf("\n= %f", akkumulator);
  57. break;
  58. case 'C':
  59. akkumulator = 0.0;
  60. tegn[i] = 'C';
  61. tall[i] = input;
  62. printf("\n= %f", akkumulator);
  63. break;
  64. case 'T':
  65. akkumulator = input;
  66. tegn[i] = 'T';
  67. tall[i] = input;
  68. printf("\n= %f", akkumulator);
  69. break;
  70. default:
  71. printf("\nPrøv å bruk en operasjon (*, /, + eller -) etterfulgt av et tall.");
  72. break;
  73. }
  74.  
  75. if(operator == '/' && input == 0)
  76. printf("\nDeling på null er tull");
  77.  
  78.  
  79. }while(operator != 'S');
  80.  
  81. if(operator == 'S'){
  82. printf("\nOperasjonene og tallene involvert: \n");
  83. for(int y = 1; y<i; y++){
  84. printf("\n%c %f", tegn[y], tall[y]);
  85. }
  86. }
  87.  
  88.  
  89. return 0;
  90. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement