-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathclsUpdateCurrecnyRateScreen.h
69 lines (53 loc) · 1.68 KB
/
clsUpdateCurrecnyRateScreen.h
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
#pragma once
#include<iostream>
#include<iomanip>
#include"clsScreen.h"
#include"clsCurrency.h"
#include"clsInputValidate.h"
class clsUpdateCurrecnyRateScreen : protected clsScreen
{
private:
static void _PrintCurrency(clsCurrency Currency)
{
cout << "\n Currency Card : \n";
cout << "\n____________________________\n";
cout << "\n Country : " << Currency.Country();
cout << "\n Code : " << Currency.CurrencyCode();
cout << "\n Name : " << Currency.CurrencyName();
cout << "\n Rate(1$) = : " << Currency.Rate();
cout << "\n____________________________\n";
}
static float _ReadRate()
{
cout << "\nEnter New Rate: ";
float NewRate = 0;
NewRate = clsInputValidate<float>::ReadNumber();
return NewRate;
}
public:
static void ShowUpdateCurrencyRateScreen()
{
_DrawScreenHeader("\t Update Currency Rate Screen");
string CurrencyCode;
cout << "\n Please Enter Currency Code : ";
CurrencyCode = clsInputValidate<string>::ReadString();
while (!clsCurrency::IsCurrencyExist(CurrencyCode))
{
cout << "\nCurrency is not found, choose another one: ";
CurrencyCode = clsInputValidate<string>::ReadString();
}
clsCurrency Currency = clsCurrency::FindByCode(CurrencyCode);
_PrintCurrency(Currency);
cout << "\nAre you sure you want to update the rate of this Currency y/n? ";
char Answer = 'n';
cin >> Answer;
if (Answer == 'y' || Answer == 'Y')
{
cout << "\n\nUpdate Currency Rate:";
cout << "\n____________________\n";
Currency.UpdateRate(_ReadRate());
cout << "\nCurrency Rate Updated Successfully :-)\n";
_PrintCurrency(Currency);
}
}
};