widerstands farbcode ausrechnen / c++ programm
-
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.
-
Was genau ist deine Frage?
Hast du technische Schwierigkeiten? Funktioniert dein Programm nicht korrekt? Lässt es sich nicht übersetzen? (Tipp: Es lässt sich derzeit nicht übersetzen, da es unvollständig ist)
Hast du Probleme bei der Ablaufplanung? Weißt du nicht, mit welchen geheimen Grundschulrechenoperationen man von den Zahlen 2 und 5 auf die Zahl 25 kommen kann?
Stell konkrete Fragen! Siehe: Du brauchst Hilfe?
-
die map M mußt du noch erweitern um die restlichen Farben. Nach dem Start die Farben eingeben und nach jeder Farbe <return> drücken. Ende der Farbeingabe durch Eingabe einer ungültigen Farbe.
#include <iostream> #include <map> using namespace std; map<string, int> M = { { "schwarz", 0 }, { "rot", 2 }, { "grün", 5 } }; int convert(string Color){ auto i = M.find(Color); if (i == M.end()){ cout << "Unbekannte Farbe" << endl; return -1; } else return i->second; } int main() { string Ring; int Wert; while (cin >> Ring && convert(Ring) >= 0) Wert = 10*Wert + convert(Ring); cout << "Wert=" << Wert << endl; }