/***************************************************************/ /* Prof. Dr. Carsten Vogt */ /* FH Koeln, Fak. 07 / Nachrichtentechnik */ /* http://www.nt.fh-koeln.de/vogt */ /* */ /* Loesung der Uebungsaufgabe Kapitel 6, Nr. 5 */ /* aus "C fuer Java-Programmierer", Hanser-Verlag */ /***************************************************************/ #include float mwst; float mwst_erm; float mwst_fuer_netto(float netto, int ermaessigt) { if (ermaessigt) return netto*mwst_erm; else return netto*mwst; } float brutto_fuer_netto(float netto, int ermaessigt) { if (ermaessigt) return netto*(1+mwst_erm); else return netto*(1+mwst); } float netto_fuer_brutto(float brutto, int ermaessigt) { if (ermaessigt) return brutto/(1+mwst_erm); else return brutto/(1+mwst); } void neue_saetze(float mwst_neu, float mwst_erm_neu) { mwst = mwst_neu; mwst_erm = mwst_erm_neu; } int main(void) { int weiter, wahl, erm; float param1, param2; mwst = 0.16; mwst_erm = 0.07; do { do { printf("\nBitte Funktion auswaehlen:\n\n"); printf("( 1 ) Mehrwertsteuer fuer Nettobetrag berechnen\n"); printf("( 2 ) Bruttobetrag fuer Nettobetrag berechnen\n"); printf("( 3 ) Nettobetrag fuer Bruttobetrag berechnen\n"); printf("( 4 ) Steuersaetze aendern\n"); scanf("%d",&wahl); } while (wahl<1 || wahl>4); printf("\n"); switch(wahl) { case 1: printf("Nettobetrag? "); scanf("%f",¶m1); printf("ermaessigter Satz (0=nein, 1=ja)? "); scanf("%d",&erm); printf("\nSteuer: %.2f\n",mwst_fuer_netto(param1,erm)); break; case 2: printf("Nettobetrag? "); scanf("%f",¶m1); printf("ermaessigter Satz (0=nein, 1=ja)? "); scanf("%d",&erm); printf("\nBruttobetrag: %.2f\n",brutto_fuer_netto(param1,erm)); break; case 3: printf("Bruttobetrag? "); scanf("%f",¶m1); printf("ermaessigter Satz (0=nein, 1=ja)? "); scanf("%d",&erm); printf("\nNettobetrag: %.2f\n",netto_fuer_brutto(param1,erm)); break; case 4: printf("Neuer Steuersatz? "); scanf("%f",¶m1); printf("Neuer ermaessigter Steuersatz? "); scanf("%f",¶m2); neue_saetze(param1,param2); printf("Neue Steuersaetze: %4.2f %4.2f\n",mwst,mwst_erm); break; } printf("\n\n0 fuer Programmende, 1 fuer Fortsetzung: "); scanf("%d",&weiter); } while (weiter); return 0; }