1static STORE_NAME: &str = "Memtrace Store";
2static TAX_RATE: u32 = 5;
3
4struct Item {
5 name: String,
6 price: u32,
7}
8
9fn create_item(name: &str, price: u32) -> Item {
10 Item {
11 name: String::from(name),
12 price,
13 }
14}
15
16fn apply_discount(item: &mut Item, discount: u32) {
17 item.price -= discount;
18}
19
20fn main() {
21 let mut apple = create_item("Apple", 100);
22 let banana = create_item("Banana", 50);
23
24 println!("Store: {}", STORE_NAME);
25 println!("Tax rate: {}%", TAX_RATE);
26
27 apply_discount(&mut apple, 10);
28
29 let total = apple.price + banana.price;
30 let tax = total * TAX_RATE / 100;
31
32 println!("{}: {}", apple.name, apple.price);
33 println!("{}: {}", banana.name, banana.price);
34 println!("Total: {}", total);
35 println!("Tax: {}", tax);
36 println!("Final price: {}", total + tax);
37}