C++ :: Aufgabe #265
2 Lösungen

Angelsächsische Maße umrechnen
Anfänger - C++
von DragStar
- 23.03.2020 um 09:41 Uhr
Die angelsächsischen Maße sind ja manchmal etwas seltsam. Schreiben Sie ein Programm, welches nach einer Menüauswahl:
1: inch, 2: foot, 3: yard, 4: mile
und der nachfolgenden Eingabe eines Maßes, dieses nach folgender Tabelle in Meter umrechnet:
inch 0,0254 m
foot 0,3048 m
yard 0,9144 m
mile 1609,34 m
1: inch, 2: foot, 3: yard, 4: mile
und der nachfolgenden Eingabe eines Maßes, dieses nach folgender Tabelle in Meter umrechnet:
inch 0,0254 m
foot 0,3048 m
yard 0,9144 m
mile 1609,34 m
Lösungen:

#include <iostream> #define INCH 0.0254 #define FOOT 0.3048 #define YARD 0.9144 #define MILE 1609.34 using namespace std; int main() { int query; float dim; cout << "Angelsächsische Maße auswählen\n"; cout << "-> Inch (1)\n"; cout << "-> Foot (2)\n"; cout << "-> Yard (3)\n"; cout << "-> Mile (4)\n"; cout << "Auswahl: "; cin >> query; cout << "\nMaße angeben: "; cin >> dim; switch(query) { case 1: cout << "\nMeter: " << dim * INCH << "\n"; break; case 2: cout << "\nMeter: " << dim * FOOT << "\n"; break; case 3: cout << "\nMeter: " << dim * YARD << "\n"; break; case 4: cout << "\nMeter: " << dim * MILE << "\n"; break; } }
C++ 11
C-Code

#include <iostream> #include <vector> #include <string> #include <tuple> using namespace std; int main() { int unit; double value; vector<tuple<string, double>> v { {"Inch", 0.0254}, {"Foot", 0.3048}, {"Yard", 0.9144}, {"Mile", 1609.34} }; for (size_t i = 0; i < v.size(); i++) cout << i + 1 << " - " << get<0>(v[i]) << endl; cout << "Bitte Zielma\xE1 ausw\x84hlen: "; cin >> unit; if (unit < 1 || unit > v.size()) return 0; cout << "Bitte Wert eingeben: "; cin >> value; cout << "\n" << value << " " << get<0>(v[unit - 1]) << " entsprechen " << get<1>(v[unit - 1]) * value << " Meter!\n"; }