C++ :: Aufgabe #302
3 Lösungen

Spannung, Stromstärke, Widerstand
Anfänger - C++
von JKooP
- 04.10.2020 um 12:43 Uhr
Schreibe eine Methode/Funktion, die je nach Eingabe von 2 Werten den fehlenden Wert ermittelt.
Die möglichen einzugebenden Werte sind Spannung (U [Volt]), Widerstand (R [Ohm]) bzw. Stromstärke (I [Ampere]).
Der fehlende Wert kann null/nothing oder jedes andere beliebige Zeichen sein.
Die Formel zur Berechnung lautet: U = R * I
Beispiel:
U := 270.0
R := null
I := 3.0
R = I / U = 270 / 3 = 90.0 Ohm
Viel Spaß
Die möglichen einzugebenden Werte sind Spannung (U [Volt]), Widerstand (R [Ohm]) bzw. Stromstärke (I [Ampere]).
Der fehlende Wert kann null/nothing oder jedes andere beliebige Zeichen sein.
Die Formel zur Berechnung lautet: U = R * I
Beispiel:
U := 270.0
R := null
I := 3.0
R = I / U = 270 / 3 = 90.0 Ohm
Viel Spaß
Lösungen:

#include <iostream> using namespace std; void convert() { double u, r, i; cout << "Eingabe (0 bei zu berechnender Größe setzen):\n"; cout << "Volt (U): "; cin >> u; cout << "Ohm (R): "; cin >> r; cout << "Ampere (I): "; cin >> i; cout << "\n"; if((u == 0 && r == 0) || (u == 0 && i == 0) || (r == 0 && i == 0)) { cout << "Fehler - Es müssen zwei Werte vorhanden sein\n"; } else if(u == 0) { cout << "U = R * I -> U = " << r << " * " << i << " -> " << r * i << " Volt\n"; } else if(r == 0) { cout << "R = U / I -> R = " << u << " / " << i << " -> " << u / i << " Ohm\n"; } else if(i == 0) { cout << "I = U / R -> I = " << u << " / " << r << " -> " << u / r << " Ampere\n"; } } int main() { convert(); }

#include <iostream> #include <algorithm> #include <math.h> static std::string u; static std::string i; static std::string r; bool is_digit(const char value) { if(value == '.') return true; else return std::isdigit(value); } bool is_numeric(const std::string& value) { return std::all_of(value.begin(), value.end(), is_digit); } int main() { std::cout << "U := \n"; std::getline(std::cin, u); std::cout << "R := \n"; std::getline(std::cin, r); std::cout << "I := \n"; std::getline(std::cin, i); if(!is_numeric(u)) std::cout << "U = R * I = " << r << " * " << i << " = " << std::round(std::stod(r) * std::stod(i)) << " Volt" << std::endl; else if(!is_numeric(r)) std::cout << "R = U / I = " << u << " / " << i << " = " << std::round(std::stod(u) / std::stod(i)) << " Ohm" << std::endl; else std::cout << "I = U / R = " << u << " / " << r << " = " << std::round(std::stod(u) / std::stod(r)) << " Ampere" << std::endl; std::cin.get(); }

#include <iostream> using namespace std; double uriRechner(string u , double r , double i) { float spannungErg ; spannungErg = r * i; return spannungErg; } double uriRechner(double u , string r , double i) { float resErg; resErg = u/i; return resErg; } double uriRechner(double u , double r , string i) { float ampErg ; ampErg = u/r; return ampErg; } int main() { cout << uriRechner(10 , 10 , "null") << endl; cout << uriRechner(10 , "null" , 10) << endl; cout << uriRechner("null", 10 , 10 ) << endl; }