С++ Написать программу-меню, которая выводила бы ** экран название мобильного оператора...

0 голосов
150 просмотров
С++
Написать программу-меню, которая выводила бы на
экран название мобильного оператора и стоимость
телефонного разговора за минуту. У пользователя необходимо
запросить код мобильного оператора и продолжительность
разговора. Определить затраченную
на звонок сумму денег. Ниже предоставлен пример
вывода меню.
Таблица
Mobile operators | Code | Price per minute, UAH
Kyivstar | 67 | 3.00
Vodafone | 66 | 2.50
Life | 63 | 2.00

сделать в
enum(последовательность)

Информатика (20 баллов) | 150 просмотров
Дан 1 ответ
0 голосов

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

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

//Написать программу-меню, которая выводила бы на

//экран название мобильного оператора и стоимость

//телефонного разговора за минуту. У пользователя необходимо

//запросить код мобильного оператора и продолжительность

//разговора. Определить затраченную

//на звонок сумму денег. Ниже предоставлен пример

//вывода меню.

//

//Таблица

//Mobile operators | Code | Price per minute, UAH

//Kyivstar | 67 | 3.00

//Vodafone | 66 | 2.50

//Life | 63 | 2.00

 

#include

#include

#include

 

enum MobileOperatorCode

{

   LIFE = 63,

   VODAFONE = 66,

   KYIVSTAR = 67

};

 

std::map phoneTalkPricePerMinute

{

   { MobileOperatorCode::LIFE, 2.0 },

   { MobileOperatorCode::VODAFONE, 2.5 },

   { MobileOperatorCode::KYIVSTAR, 3.0 }

};

 

std::map mobileOperator

{

   { MobileOperatorCode::LIFE, "Life" },

   { MobileOperatorCode::VODAFONE, "Vodafone" },

   { MobileOperatorCode::KYIVSTAR, "Kyivstar"}

};

 

struct MobileOperator

{

   MobileOperatorCode code;

   std::string name;

   double pricePerMinute;

 

   explicit MobileOperator(int code_)

   {

       code = static_cast(code_);

       name = mobileOperator[code];

       pricePerMinute = phoneTalkPricePerMinute[code];

   }

};

 

void show_menu()

{

   std::string delimiter = " | ";

   std::cout

       

       

       

   for (const auto & elem : mobileOperator)

   {

       std::cout

           

           

           

   }

   std::cout

}

 

double calc_phone_talk_price(double talkLength, const MobileOperator & mop)

{

   return talkLength * mop.pricePerMinute;

}

 

MobileOperator get_mobile_operator()

{

   std::cout

   int code;

   std::cin >> code ;

   MobileOperator mop(code);

   return mop;

}

 

double get_talk_length()

{

   std::cout

   double talkLength;

   std::cin >> talkLength;

   return talkLength;

}

 

int main()

{

   show_menu();

   std::cout


}

0

(22 баллов)