Написать программу, которая преобразует введенное с клавиатуры дробное число в
денежный формат. Например, число 12,5 должно быть преобразовано к виду 12 грн. 50 коп.
Преобразование числа в денежный формат.
Введите дробное число -> 23.6
23.6 грн. — это 23 грн. 60 коп.
Помогите пожалуйста!
Другие языки программирования и технологии
Как правилоно написать код по C++
#include <iostream>
#include <string>
#include <iomanip>
using namespace std;
wstring money(double number);
void setlanguage(const char* loc = ".OCP");
long long get_grn(double number);
short get_kop(double number);
void test();
int main() {
setlanguage();
test();
cout << "\n\n\n";
double number;
wstring result;
while (true) {
wcout << L" Введите дробное число: ";
cin >> number;
result = money(number);
wcout << result << L'\n';
}
}
void test() {
double number = -1.0;
do {
wcout <<setw(16) << money(number) << L'\n';
number += 0.01;
} while (number < 1.01);
}
wstring money(double number) {
wstring grn = L"";
if (number < 0) grn += L"-";
number = fabs(number);
auto g = get_grn(number);
auto k = get_kop(number);
grn += to_wstring(g) + L" грн. ";
wstring kop = to_wstring(k);
if (0 == k) kop += L"0";
else if (k < 10) kop = L"0" + kop;
kop += L" коп.";
return grn + kop;
}
short get_kop(double number) {
double mantissa = number - get_grn(number);
double tmp = static_cast<short>(mantissa * 1000) / 10.0;
short kop = static_cast<short>(ceil(tmp));
return kop;
}
long long get_grn(double number) {
return static_cast<long long>(number);
}
void setlanguage(const char* loc) {
char *lc = setlocale(LC_ALL, loc);
wcout.imbue(locale(lc));
wclog.imbue(locale(lc));
wcerr.imbue(locale(lc));
wcin.imbue(locale(lc));
}
#include <string>
#include <iomanip>
using namespace std;
wstring money(double number);
void setlanguage(const char* loc = ".OCP");
long long get_grn(double number);
short get_kop(double number);
void test();
int main() {
setlanguage();
test();
cout << "\n\n\n";
double number;
wstring result;
while (true) {
wcout << L" Введите дробное число: ";
cin >> number;
result = money(number);
wcout << result << L'\n';
}
}
void test() {
double number = -1.0;
do {
wcout <<setw(16) << money(number) << L'\n';
number += 0.01;
} while (number < 1.01);
}
wstring money(double number) {
wstring grn = L"";
if (number < 0) grn += L"-";
number = fabs(number);
auto g = get_grn(number);
auto k = get_kop(number);
grn += to_wstring(g) + L" грн. ";
wstring kop = to_wstring(k);
if (0 == k) kop += L"0";
else if (k < 10) kop = L"0" + kop;
kop += L" коп.";
return grn + kop;
}
short get_kop(double number) {
double mantissa = number - get_grn(number);
double tmp = static_cast<short>(mantissa * 1000) / 10.0;
short kop = static_cast<short>(ceil(tmp));
return kop;
}
long long get_grn(double number) {
return static_cast<long long>(number);
}
void setlanguage(const char* loc) {
char *lc = setlocale(LC_ALL, loc);
wcout.imbue(locale(lc));
wclog.imbue(locale(lc));
wcerr.imbue(locale(lc));
wcin.imbue(locale(lc));
}
#include <iostream>
#include <math.h>
int main(){
setlocale(LC_ALL, "Russian");
double x, y, n;
std::cin >> x;
y = modf(x, &n);
printf("%d грн. %d коп.", (int) n, (int)(y * 100));
getchar();
return 0;
}
#include <math.h>
int main(){
setlocale(LC_ALL, "Russian");
double x, y, n;
std::cin >> x;
y = modf(x, &n);
printf("%d грн. %d коп.", (int) n, (int)(y * 100));
getchar();
return 0;
}
#include "iostream"
#include "locale"
using namespace std;
int main(){
setlocale(LC_ALL, "Russian"); float a; cout<<"Число: "; cin>>a;
cout<<int(a)<<" грн. "<<int(100*(a-int(a)))<<" коп." <<endl; cin.get(); cin.get();}
#include "locale"
using namespace std;
int main(){
setlocale(LC_ALL, "Russian"); float a; cout<<"Число: "; cin>>a;
cout<<int(a)<<" грн. "<<int(100*(a-int(a)))<<" коп." <<endl; cin.get(); cin.get();}
#include
int main(void)
{
double x = 23.6;
printf("%d руб. %02d коп.", (int)x, (int)(x*100)%100 );
return 0;
}
http://ideone.com/QJyB9N
int main(void)
{
double x = 23.6;
printf("%d руб. %02d коп.", (int)x, (int)(x*100)%100 );
return 0;
}
http://ideone.com/QJyB9N
#include <iostream>
#include <cmath>
int main(void)
{
double num, kop, hrn;
setlocale(LC_ALL, "Russian");
num = 23.6;
kop = modf (num , &hrn);
std::cout << hrn <<"грн. "<< kop*100 << "коп." << std::endl;
return 0;
}
#include <cmath>
int main(void)
{
double num, kop, hrn;
setlocale(LC_ALL, "Russian");
num = 23.6;
kop = modf (num , &hrn);
std::cout << hrn <<"грн. "<< kop*100 << "коп." << std::endl;
return 0;
}
Похожие вопросы
- Напишите код на C++
- Помогите написать код на C++
- Помогите написать код на C++
- Помогите написать код на C++
- Написать код на C++.по задаче.
- Написал калькулятор на c++ он не работает вот код
- Исправление кода на C++
- Помогите откорректировать код в C++
- Описать код на C# с помощью госта 1981 года.
- Стиль кода на C/С++