GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — learnmoderncpp-tutorial/modules/07-map.cpp at main · cpp-tutor/learnmoderncpp-tutorial

Expand file tree

/

07-map.cpp

Copy path
More file actions
More file actions

Latest commit

 

History

History
History
52 lines (50 loc) · 1.54 KB
/

07-map.cpp

Copy path

File metadata and controls

52 lines (50 loc) · 1.54 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
// 07-map.cpp : calculate prices from associative array of products and per-weight cost
import std;
using namespace std;
int main() {
map<string,double> products{
{ "Apples", 0.65 },
{ "Oranges", 0.85 },
{ "Bananas", 0.45 },
{ "Pears", 0.50 }
};
cout.precision(2);
cout << fixed;
for (;;) {
cout << "Please choose: Add product, Calculate price, Quit\nEnter one of A, C, Q: ";
char opt;
cin >> opt;
opt = toupper(opt);
if (opt == 'Q') {
break;
}
else if (opt == 'A') {
cout << "Enter product and price-per-kilo: ";
string product;
double price;
cin >> product >> price;
product.front() = toupper(product.front());
products.insert(pair{ product, price });
}
else if (opt == 'C') {
for (const auto& p : products) {
cout << p.first << '\t' << p.second << "/kg\n";
}
cout << "Enter product and quantity: ";
string product;
double quantity;
cin >> product >> quantity;
product.front() = toupper(product.front());
auto iter = products.find(product);
if (iter != end(products)) {
cout << "Price: " << iter->second * quantity << '\n';
}
else {
cout << "Could not find \"" << product << "\"\n";
}
}
else {
cout << "Option not recognized.\n";
}
}
}
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.