Ich brauch mal kurz Hilfe bei ner blöden C/C++ Aufgabe
Und zwar ist die Aufgabenstellung wie folgt:
Aufgabe (1)
Es sollen alle Wände und die Deckeeines Raumes einmal in der gleichen Farbe gestrichen werden, Fenster und Türen müssen nicht berücksichtigt werden:
Eingabe:
Die 3 Raumgrößen (4, 3 , 2.5)
Ergiebigkeit der Farbe (in l/qm) (0.5)
Ausgabe:
Die zu streichende Fläche (in qm) (47)
Benötige farbmenge (in l) (23,5)
Die ist kein Problem, allerdings bei der 2. Aufgabe die darauf aufbaut hab ich nen Problem :/
(2)
Es gibt folgende Gebinde:
10l zu 35 Euro
5l zu 20 Euro
2l zu 9 Euro
1l zu 5 Euro
Das Programm soll die optimale Gebindekombination für minimalen Preis ermitteln.
Ausgabe:
Anzahl der benötigen Gebinde (2 zu 10, 0 zu 5, 2 zu 2, 0 zu 1)
Gesamtpreis (88)
Überlegen Sie sich Test und Grenzfälle sowie Möglichkeiten den Test zu vereinfachen.
(a,b1,c,d und farbe1,farbe2,farbe3,farbe4 sind Hilfsvariablen)
Momentan sieht das wie folgt aus:
// MALER1.cpp 29.02.2012
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
float b, l, h , fläche_wand1, fläche_wand2, fläche_decke, ergib_farbe, sum_fläche, farbe_ges, farbe_ges1, farbe1, farbe2, farbe3, farbe4, a = 0, b1 = 0, c = 0, d = 0, ges_preis;
cout << "Bitte geben Sie die Breite des Raumes ein: " << endl;
cin >> b;
cout << "Bitte geben Sie die Laenge des Raumes ein: " << endl;
cin >> l;
cout << "Bitte geben Sie die Hoehe des Raumes ein: " << endl;
cin >> h;
cout << "Bitte geben Sie die Ergiebigkeit der Farbe ein (l/qm): " << endl;
cin >> ergib_farbe;
fläche_wand1 = (b * h) * 2;
fläche_wand2 = (l * h) * 2;
fläche_decke = (b * l);
sum_fläche = fläche_wand1 + fläche_wand2 + fläche_decke;
farbe_ges = sum_fläche * ergib_farbe;
farbe_ges1 = farbe_ges;
farbe1 = 0;
farbe2 = 0;
farbe3 = 0;
farbe4 = 0;
for (a = 0; farbe1<=farbe_ges1; a++)
{
farbe1 = a * 10;
farbe_ges1 = farbe_ges1 - farbe1;
for (b1 = 0; farbe2 <= farbe_ges1; b1++)
{
farbe2 = b1 * 5;
farbe_ges1 = farbe_ges1 - farbe2;
for (c = 0; farbe3 <=farbe_ges1; c++)
{
farbe3= c * 2;
farbe_ges1 = farbe_ges1 - farbe3;
for(d = 0; farbe4 <=farbe_ges1; d++)
{
farbe4 = d * 1;
farbe_ges1 = farbe_ges1 - farbe4;
}
}
}
}
ges_preis = a * 35 + b1 * 20 + c * 9 + d * 5;
cout << "Die zu streichende Flaeche beträgt " << sum_fläche << " Quadratmeter." <<endl;
cout << "Sie benoetigen " << farbe_ges << " Liter Farbe." << endl << endl;
cout << "Sie benoetigt: " << "\t" << a << " 10 Liter" << endl;
cout << "\t" << "\t" << b1 << " 5 Liter" << endl;
cout << "\t" << "\t" << c << " 2 Liter" << endl;
cout << "\t" << "\t" << d << " 1 Liter" << endl;
cout << "Der Gesamtpreis beträgt " << ges_preis << " Euro." << endl;
return 0;
}