FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
learnmoderncpp-tutorial/modules/07-map.cpp at main · cpp-tutor/learnmoderncpp-tutorial · GitHub
cpp-tutor
/
learnmoderncpp-tutorial
Public
Notifications
You must be signed in to change notification settings
Fork
24
Star
167
Code
Issues
0
Pull requests
0
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Issues
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
learnmoderncpp-tutorial
/
modules
/
07-map.cpp
Copy path
More file actions
More file actions
Latest commit
History
History
History
52 lines (50 loc) · 1.54 KB
Breadcrumbs
learnmoderncpp-tutorial
/
modules
/
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
\n
Enter 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
"
;
}
}
}
Back
|
FazBrowse Home
|
New Git URL