Другие языки программирования и технологии

Программирование на с++

Ввести вещественное число и первую букву единицы измерения (граммы, килограммы, центнеры, тонны). Ввести еще раз первую букву единицы измерения и преобразовать значение из одних единиц измерения (первая введенная буква) в другие (вторая введенная буква).
Юра Колесник
Юра Колесник
1 687
#include

using namespace std;

double konverter(double w, string first, string second){

string g = "g";
string k = "k";
string c = "c";
string t = "t";

//граммы в к|ц|т
if (first == g && second == k){
auto res = w/100;
return res;
}

if (first == g && second == c){
auto res = w/100000;
return res;
}

if (first == g && second == t){
auto res = w/1000000;
return res;
}

//килограммы в г|ц|т
if (first == k && second == g){
auto res = w*1000;
return res;
}

if (first == k && second == c){
auto res = w/100;
return res;
}

if (first == k && second == t){
auto res = w/1000;
return res;
}

//центнеры в г|ц|кг
if (first == c && second == g){
auto res = w*100000;
return res;
}

if (first == c && second == t){
auto res = w/10;
return res;
}

if (first == c && second == k){
auto res = w*100;
return res;
}

//тоннны в г|ц|кг
if (first == t && second == g){
auto res = w*1000000;
return res;
}

if (first == t && second == c){
auto res = w*10;
return res;
}

if (first == t && second == k){
auto res = w*1000;
return res;
}

};

int main()
{
string weight;
string first;
string second;

cout << "Введите вес" << endl;
cin >> weight;
double w = atof(weight.c_str());

cout << "Введите букву что конвертировать" << endl;
cout << "**************************" << endl;
cout << "g | k | c | t" << endl;
cout << "**************************" << endl << endl;
cin >> first;

cout << "Введите букву куда конвертировать" << endl;
cout << "**************************" << endl;
cout << "g | k | c | t" << endl;
cout << "**************************" << endl << endl;
cin >> second;

auto result = konverter(w, first, second);

cout << "Ответ" << endl;
cout << "**************************" << endl;
cout << result << endl;
cout << "**************************" << endl << endl;

return 0;
}
UK
Umit Kozbayew
74 418
Лучший ответ
https://pastebin.com/z13cuHkv
только для латиницы. Если есть желание перевести на русский - пиши
Саян Усакбаев
Саян Усакбаев
21 700
Саян Усакбаев Нашёл ошибку. Исправлю
Саян Усакбаев w0=w0 во втором switch