Hallo zusammen,
ich habe einem Freund bei seinen Hausaufgaben in C++ geholfen, da mein Wissen aber selbst nur dem eines Anfänger gerecht wird komme ich an einer Stelle nicht weiter (es beschäftigt mich selbst, er ist mit dem Ergebnis zufrieden).
Folgendes ist das Problem es soll quasi eine Widerstandsuhr programmiert werden, der Anwender gibt vier Farben ein und bekommt den passenden Widerstandswert geliefert. Aufgabe mit if Abfragen gelöst nur habe ich folgendes Problem sobald ich den wert " x * 100000 " gibt die Konsole nicht mehr die Komplette Zahl aus. Bsp "9.9e+010". Ich habe auch schon versucht den long double in einen string zu konvertieren allerdings gab es dabei das selbe Ergebnis :/.
Ich hoffe Ihr könnt mir da einen Tipp geben wie dieses Problem zu lösen wäre. Anbei noch der Quelltext.
ich habe einem Freund bei seinen Hausaufgaben in C++ geholfen, da mein Wissen aber selbst nur dem eines Anfänger gerecht wird komme ich an einer Stelle nicht weiter (es beschäftigt mich selbst, er ist mit dem Ergebnis zufrieden).
Folgendes ist das Problem es soll quasi eine Widerstandsuhr programmiert werden, der Anwender gibt vier Farben ein und bekommt den passenden Widerstandswert geliefert. Aufgabe mit if Abfragen gelöst nur habe ich folgendes Problem sobald ich den wert " x * 100000 " gibt die Konsole nicht mehr die Komplette Zahl aus. Bsp "9.9e+010". Ich habe auch schon versucht den long double in einen string zu konvertieren allerdings gab es dabei das selbe Ergebnis :/.
Ich hoffe Ihr könnt mir da einen Tipp geben wie dieses Problem zu lösen wäre. Anbei noch der Quelltext.
Code:
#include "stdafx.h"
#include "iostream"
#include "string"
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
string Farbe1;
string Farbe2;
string Multiplikator;
string Toleranz;
string AusgabeToleranz;
string Auswertung;
int Ziffer1;
int Ziffer2;
double Zahl1;
start:
cout << "Bitte geben Sie die erste Farbe ein: ";
cin >> Farbe1;
cout << endl;
cout << "Bitte geben Sie die zweite Farbe ein: ";
cin >> Farbe2;
cout << endl;
cout << "Bitte geben Sie die dritte Farbe ein: ";
cin >> Multiplikator;
cout << endl;
cout << "Bitte geben Sie die vierte Farbe ein: ";
cin >> Toleranz;
cout << endl;
if (Farbe1 == "braun")
{
Ziffer1 = 1*10;
}
else if (Farbe1 == "rot")
{
Ziffer1 = 2*10;
}
else if (Farbe1 == "orange")
{
Ziffer1 = 3*10;
}
else if (Farbe1 == "gelb")
{
Ziffer1 = 4*10;
}
else if (Farbe1 == "gruen")
{
Ziffer1 = 5*10;
}
else if (Farbe1 == "blau")
{
Ziffer1 = 6*10;
}
else if (Farbe1 == "violett")
{
Ziffer1 = 7*10;
}
else if (Farbe1 == "grau")
{
Ziffer1 = 8*10;
}
else if (Farbe1 == "weiss")
{
Ziffer1 = 9*10;
}
if (Farbe2 == "schwarz")
{
Ziffer2 = 0;
}
else if (Farbe2 == "braun")
{
Ziffer2 = 1;
}
else if (Farbe2 == "rot")
{
Ziffer2 = 2;
}
else if (Farbe2 == "orange")
{
Ziffer2 = 3;
}
else if (Farbe2 == "gelb")
{
Ziffer2 = 4;
}
else if (Farbe2 == "gruen")
{
Ziffer2 = 5;
}
else if (Farbe2 == "blau")
{
Ziffer2 = 6;
}
else if (Farbe2 == "violett")
{
Ziffer2 = 7;
}
else if (Farbe2 == "grau")
{
Ziffer2 = 8;
}
else if (Farbe2 == "weiss")
{
Ziffer2 = 9;
}
Zahl1 = Ziffer1 + Ziffer2;
if (Multiplikator == "silber")
{
Zahl1 = Zahl1 * 0,01;
}
else if (Multiplikator == "gold")
{
Zahl1 = Zahl1 * 0,1;
}
else if (Multiplikator == "schwarz")
{
Zahl1 = Zahl1;
}
else if (Multiplikator == "braun")
{
Zahl1 = Zahl1 * 10;
}
else if (Multiplikator == "rot")
{
Zahl1 = Zahl1 * 100;
}
else if (Multiplikator == "orange")
{
Zahl1 = Zahl1 * 1000;
}
else if (Multiplikator == "gelb")
{
Zahl1 = Zahl1 * 10000;
}
else if (Multiplikator == "gruen")
{
Zahl1 = Zahl1 * 100000;
}
else if (Multiplikator == "blau")
{
Zahl1 = Zahl1 * 1000000;
}
else if (Multiplikator == "violett")
{
Zahl1 = Zahl1 * 10000000;
}
else if (Multiplikator == "grau")
{
Zahl1 = Zahl1 * 100000000;
}
else if (Multiplikator == "weiss")
{
Zahl1 = Zahl1 * 1000000000;
}
if (Toleranz == "keine")
{
AusgabeToleranz = "+/- 20%";
}
else if (Toleranz == "silber")
{
AusgabeToleranz = "+/- 10%";
}
else if (Toleranz == "gold")
{
AusgabeToleranz = "+/- 5%";
}
else if (Toleranz == "braun")
{
AusgabeToleranz = "+/- 1%";
}
else if (Toleranz == "rot")
{
AusgabeToleranz = "+/- 2%";
}
else if (Toleranz == "grün")
{
AusgabeToleranz = "+/- 0,5%";
}
else if (Toleranz == "blau")
{
AusgabeToleranz = "+/- 0,25%";
}
else if (Toleranz == "violett")
{
AusgabeToleranz = "+/- 0,1%";
}
else if (Toleranz == "grau")
{
AusgabeToleranz = "+/- 0,05%";
}
cout << "Der von Ihnen definierte Widerstand mit der Kennung" << endl;
cout << Farbe1 << " - " << Farbe2 << " - " << Multiplikator << " - " << Toleranz << endl;
cout << "besitzt den Wert von " << Zahl1 << " Ohm mit " << AusgabeToleranz << " Toleranz" << endl << endl;
cout << "weitere Auswertungen? <j/n>" << endl;
neu:
cin >> Auswertung;
if (Auswertung == "j")
{
goto start;
}
else if (Auswertung == "n")
{
goto stop;
}
else
{
cout << "falsche Eingabe!";
goto neu;
}
system("pause");
stop:
return 0;
}