C++ :: Aufgabe #302

3 Lösungen Lösungen öffentlich

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ß

Lösungen:

vote_ok
von basic (1310 Punkte) - 16.10.2020 um 14:54 Uhr
Quellcode ausblenden C-Code
#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();
}
vote_ok
von Concado (110 Punkte) - 26.10.2020 um 10:51 Uhr
Quellcode ausblenden C-Code
#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();
}
vote_ok
von The1tobi (200 Punkte) - 10.11.2020 um 21:52 Uhr
Quellcode ausblenden C-Code
#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; 
   
}