WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   Probleme mit Programmierhausübung in C (http://www.wcm.at/forum/showthread.php?t=79069)

kikakater 02.12.2002 20:30

Hoffentlich hilft es Dir :

Code:


typedef struct {
 double bruttoeinkommen,steuer;
} STEUERPARAMETER;

int steuer_berechnen(STEUERPARAMETER *pSt);

/*
 Progressionstufe i hat den Laufindex x, x = i - 1, bei i >= 1

progressionsstufe[x][0] ... Steuerbasis Stufe i
progressionsstufe[x][1] ... Steuersatz Stufe i
*/

#define SPITZENSTEUERSATZ 50.0

double progressionsstufe[][2] = { 3640.0, 31.0 , 14534.0, 41.0 , 29069.0, SPITZENSTEUERSATZ , 0.0, 0.0 };

int main( void )
{
 STEUERPARAMETER St;

 printf("EinkommensSteuerBerechnungsProgramm von Andreas Schmidberger");
 printf("\n\n\nBitte geben Sie ihr BRUTTO Einkommen ein-->");
 scanf("%lf",&St.bruttoeinkommen);

 if( steuer_berechnen(&St) < 0 )
 { printf("Fehler bei der Steuerberechnung\n"); exit(0); }

 printf("Ihre Einkommenssteuer beträgt %.2lf Euro\n"
        "Ihr Nettoeinkommen beläuft sich auf %.2lf Euro\n", St.steuer, St.bruttoeinkommen - St.steuer);

 return 0;
}

/* Steuer bezogen auf die Progressionstufen berechnen */
int steuer_berechnen(STEUERPARAMETER *pSt)
{
 int x;

 pSt->steuer = 0.0;

 if(pSt->bruttoeinkommen < 0.0) return -1;

 for( x = 0 ; ; x++ )
 {
  if( pSt->bruttoeinkommen <= progressionsstufe[x][0] ) break;

  if( progressionsstufe[x][1] == SPITZENSTEUERSATZ )
  {
  pSt->steuer = pSt->steuer + ((pSt->bruttoeinkommen - progressionsstufe[x][0]) * progressionsstufe[x][1] / 100.0);
  break;
  }

  if( pSt->bruttoeinkommen < progressionsstufe[x+1][0] )
  pSt->steuer = pSt->steuer + ((pSt->bruttoeinkommen - progressionsstufe[x][0]) * progressionsstufe[x][1] / 100.0);
  else
  pSt->steuer = pSt->steuer + ((progressionsstufe[x+1][0] - progressionsstufe[x][0]) * progressionsstufe[x][1] / 100.0);

 }

 return 0;
}


infectedmushroom 03.12.2002 22:45

Es funktioniert jetzt endlich... Danke für eure Hilfe


Infected Mushroom :mutieren:


Alle Zeitangaben in WEZ +2. Es ist jetzt 06:39 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag