Advertisement
Guest User

Untitled

a guest
Jul 18th, 2019
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.95 KB | None | 0 0
  1. use std::io;
  2.  
  3. struct Input {
  4. x: f64,
  5. y: f64,
  6. }
  7.  
  8. impl Input {
  9. fn add(&self) -> f64 {
  10. self.x + self.y
  11. }
  12.  
  13. fn subtract(&self) -> f64 {
  14. self.x - self.y
  15. }
  16.  
  17. fn multiply(&self) -> f64 {
  18. self.x * self.y
  19. }
  20.  
  21. fn divide(&self) -> f64 {
  22. self.x / self.y
  23. }
  24. }
  25.  
  26. fn ask_operator() -> char {
  27. let mut operator = String::new();
  28.  
  29. println!("Please enter the operator you would like to use:\n\
  30. Type h for help.");
  31.  
  32. io::stdin().read_line(&mut operator)
  33. .expect("Cannot read line");
  34.  
  35. operator = operator.trim().parse()
  36. .expect("Please enter a char (operator)");
  37.  
  38. operator
  39. }
  40.  
  41. fn ask_float() -> f64 {
  42. let mut answer = String::new();
  43.  
  44. println!("Please enter a float: ");
  45.  
  46. io::stdin().read_line(&mut answer)
  47. .expect("Cannot read line.");
  48.  
  49. answer: f64 = answer.trim().parse()
  50. .expect("Please enter a char (operator)");
  51.  
  52. answer
  53. }
  54.  
  55. fn main() {
  56. let operator = ask_operator();
  57.  
  58. if operator == '+' {
  59. let numbers = Input { x: ask_float(), y: ask_float() };
  60. println!("{} {} {} = {}", numbers.x, operator, numbers.y, numbers.add());
  61. }
  62.  
  63. else if operator == '-' {
  64. let numbers = Input { x: ask_float(), y: ask_float() };
  65. println!("{} {} {} = {}", numbers.x, operator, numbers.y, numbers.subtract());
  66. }
  67.  
  68. else if operator == '*' {
  69. let numbers = Input { x: ask_float(), y: ask_float() };
  70. println!("{} {} {} = {}", numbers.x, operator, numbers.y, numbers.multiply());
  71. }
  72.  
  73. else if operator == '/' {
  74. let numbers = Input { x: ask_float(), y: ask_float() };
  75. println!("{} {} {} = {}", numbers.x, operator, numbers.y, numbers.divide());
  76. }
  77.  
  78. else {
  79. println!("The available operators are\n\
  80. \t\t\t\tOperator\n\
  81. Addition\t\t+\n\
  82. Subtraction\t\t-\n\
  83. Multiplication\t*\n\
  84. Division\t\t/")
  85. }
  86. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement