widerstands farbcode ausrechnen / c++ programm

Levin457

Grünschnabel
Hallo, ich möchte (bzw. muss) ein Programm in c++ schreiben, welches mir den 4er Farbcode von Widerständen ausrechnet.
So weit bin ich bis jetzt gekommen:

#include "stdafx.h"
#include <iostream>
using namespace std;

int main()
{
cout << "Bitte geben Sie die Farbe des ersten Ringes ein!"; //Eingabe der Farbcodes
cin >> farbcode1;
cout << "Bitte geben Sie die Farbe des zweiten Ringes ein!";
cin >> farbcode2;
cout << "Bitte geben Sie die Farbe des dritten Ringes ein!";
cin >> farbcode3;
cout << "Bitte geben Sie die Farbe des vierten Ringes ein!";
cin >> farbcode4;






return 0;
}

Weiter weis ich mit meinem c++ Wissen nicht.

Vorgestellt habe ich mir das Programm so:
User gibt den Farbcode von links nach rechts ein
Programm muss Wissen das z.B. rot den Wert 2 hat, grün den Wert 5 usw...
Und eigentlich muss das Programm dann die ersten drei Farben einfach nur aneinanderhängen und die vierte extra ausgeben.
 

cwriter

Erfahrenes Mitglied
Weiter weis ich mit meinem c++ Wissen nicht.
Und du musst das in C++ schreiben? Irgendwie grausam.

Vorgestellt habe ich mir das Programm so:
User gibt den Farbcode von links nach rechts ein
Programm muss Wissen das z.B. rot den Wert 2 hat, grün den Wert 5 usw...
Und eigentlich muss das Programm dann die ersten drei Farben einfach nur aneinanderhängen und die vierte extra ausgeben.
Für die Zukunft wäre es gut, würdest du die Farbcodes entsprechend erklären.

Aber wir sind ja flexibel:
https://de.wikipedia.org/wiki/Widerstand_(Bauelement)#Angaben_auf_Widerst.C3.A4nden

Also dann: Gehen wir mal an den Code ran:
C++:
#include "stdafx.h"
#include <iostream>
#include <string>
//using namespace std;//Das machen wir nicht. Ist böse(*)

int main()
{
std::string farbcode1, farbcode2, farbcode3, farbcode4;
std::cout << "Bitte geben Sie die Farbe des ersten Ringes ein!"; //Eingabe der Farbcodes
std::cin >> farbcode1;
std::cout << "Bitte geben Sie die Farbe des zweiten Ringes ein!"; 
std::cin >> farbcode2;
std::cout << "Bitte geben Sie die Farbe des dritten Ringes ein!";
std::cin >> farbcode3;
std::cout << "Bitte geben Sie die Farbe des vierten Ringes ein!";
std::cin >> farbcode4;

//Dann ist das System mit den Farben ein bisschen mühsam und ich faul, also mache ich nicht alle davon. Den Rest kannst du ergänzen.

unsigned int resistance = 0;

if(farbcode1 == "braun") resistance += 10 * 1;
else if(farbcode1 == "rot") resistance += 10 * 2;
else if(...) //etc...

//und dann ähnlich mit farbcode2 weiter...

//...

std::cout << "Widerstand ist " << resistance << std::endl;

return 0;
}
Ist allerdings eher Fleissarbeit...

Gruss
cwriter
 

Levin457

Grünschnabel
Und du musst das in C++ schreiben? Irgendwie grausam.


Für die Zukunft wäre es gut, würdest du die Farbcodes entsprechend erklären.

Aber wir sind ja flexibel:
https://de.wikipedia.org/wiki/Widerstand_(Bauelement)#Angaben_auf_Widerst.C3.A4nden

Also dann: Gehen wir mal an den Code ran:
C++:
#include "stdafx.h"
#include <iostream>
#include <string>
//using namespace std;//Das machen wir nicht. Ist böse(*)

int main()
{
std::string farbcode1, farbcode2, farbcode3, farbcode4;
std::cout << "Bitte geben Sie die Farbe des ersten Ringes ein!"; //Eingabe der Farbcodes
std::cin >> farbcode1;
std::cout << "Bitte geben Sie die Farbe des zweiten Ringes ein!";
std::cin >> farbcode2;
std::cout << "Bitte geben Sie die Farbe des dritten Ringes ein!";
std::cin >> farbcode3;
std::cout << "Bitte geben Sie die Farbe des vierten Ringes ein!";
std::cin >> farbcode4;

//Dann ist das System mit den Farben ein bisschen mühsam und ich faul, also mache ich nicht alle davon. Den Rest kannst du ergänzen.

unsigned int resistance = 0;

if(farbcode1 == "braun") resistance += 10 * 1;
else if(farbcode1 == "rot") resistance += 10 * 2;
else if(...) //etc...

//und dann ähnlich mit farbcode2 weiter...

//...

std::cout << "Widerstand ist " << resistance << std::endl;

return 0;
}
Ist allerdings eher Fleissarbeit...

Gruss
cwriter

Vielen Dank, du hast mir echt weitergeholfen.