Mehrwertsteuer
-
Hallo
Ich sitz hier gerade in der Schule und habe die Aufgabe.
Estellen Sie ein Programm, werlches die Eingabe von 10 Artikeln ermöglicht. Es ist nicht üblich, berechenbare Resultate zu speichern. Die Berechung erfolgt normalerweisse zu Laufzeit (Ausgabe einer Liste) Speichern Sie in diesem Auftrag den Bruttopreos trotzdem.
Die Berechnung des Bruttopreises wird in der Funktion 'mwst()' ausgeführt. Das REsultat wird an die aufrufende Anweisung zurückgegeben.
Der Artikelcode muss die Struktur aaaa.aaaa (alphanumerisch) haben. Kleinbuchstaben sind nicht erlaubt. Prüfen Sie, Ob der Anwender diese Struktur bei der Eingabe berüchsichtigt hat. Diese Prüfung wird durch die Funktion 'artcdstrukt()' vorgenommen. Die Rückmeldug ist mittel boolschem Datentyp zu realiseiren.
Es gibt nur Artikel im Preisberecih von 0.05 bis 10'000.00 netto.
Weiss hier wer ne lössung?

-
Klassischer Fall von copy&paste von Aufgaben - glaube kaum das das jemand für dich tun wird.
-
Die ganze Klasse bringt es irgendwie nicht fertig.. Ist wohl ein scheiss Tag ^^
Da darf man wohl ja noch fragen.
-
jap ich weiß ne lösung! Aber ich werde sie nicht sagen, weil du es auf jedenfall selber probieren solltest

-
Ich brauch ja auch nicht umbedingt de lössung.. ein tipp würde scho reichen.
Probieren bin ich schon ne stunde dran

-
Dann zeig doch mal was du probiert hast und welche Probleme du damit hast.
-
"Estellen Sie ein Programm, werlches die Eingabe von 10 Artikeln ermöglicht. Es ist nicht üblich, berechenbare Resultate zu speichern. Die Berechung erfolgt normalerweisse zu Laufzeit (Ausgabe einer Liste) Speichern Sie in diesem Auftrag den Bruttopreos trotzdem."
hier gibt es viele Möglichkeiten:
struct my_artikel { unsigned int preis_netto; std::string artikelcode; //vll wärs so gar eleganter das nciht als string zu nehmen sondern 2 * char[4] zu speichern } alternativ: std::pair <unsigned int /*preis_netto*/, std::string /*artikelcode*/> my_artikel; my_artikel *liste = new my_artikel[10]; oder my_artikel liste[10]; oder std::vector <my_artikel> liste;"Die Berechnung des Bruttopreises wird in der Funktion 'mwst()' ausgeführt. Das REsultat wird an die aufrufende Anweisung zurückgegeben. "
unsigned int mwst (unsigned int _netto) { return _netto * 0.18; //18 prozent mehrwertsteuer, oder? ^^ }das wäre also so zu benutzen:
unsigned int summe = 0; for (...) //je nach dem, wie du dich entschieden hast ^^ { summe += artikel[i] + mwst (artikel[i]); }ist also vll nicht gerad optimal aber so könnte man wenigstens so gleich an die mwst ran (du weist ja, wie so ne rechnungen immer aufgebaut sind ^^)
"Der Artikelcode muss die Struktur aaaa.aaaa (alphanumerisch) haben. Kleinbuchstaben sind nicht erlaubt. Prüfen Sie, Ob der Anwender diese Struktur bei der Eingabe berüchsichtigt hat. Diese Prüfung wird durch die Funktion 'artcdstrukt()' vorgenommen. Die Rückmeldug ist mittel boolschem Datentyp zu realiseiren."
bool artcdstrukt (const std::string &_data) { if (_data.length () != 9) return false; for (size_t i (0); i < 9; ++i) { if (i != 5) { if !(((_data[i] > '0') && (_data[i] < '9')) || ((_data[i] > 'A') && (_data[i] < 'Z'))) { return false; } else { if (_data[5] != '.') return false; } } return true; }"Es gibt nur Artikel im Preisberecih von 0.05 bis 10'000.00 netto."
5 ... 1'000'000
wenn du nicht float nimmst (was ich nicht würde) würde also ein
unsigned int reichen. Der geht bis 40 millionen und wir brauchen nur 1 million ^^ Und da wir max. 10 Artikel haben, reicht er also auch für die Summe.
Wenn du jz traurig drüber bist, dass du es ne mehr so dolle ausgeben kannstcout << preis << endl; //12.34dann überlädst du in dem struct eben den operator << oder schreibst ne fkt:
std::string getpreisfromint (unsigned int _v)
{
return std::string (_v/100 + "." + v%100); //oder eher komma? ^^ wenn du lange weile hast kannste auch noch die ' einfügen lassen...
}Ich weiß schon - er hätte au was machen sollen, ich hätte einrücken sollen und besonders toll ist das wahrscheinlich auch alles nicht ^^ Aber ich denke, es erfüllt die Aufgabenstellung ganz gut

Byebye