ich habe vor kurzem eine Ausbildung zur Fachinformatikerin Anwendungsentwicklung begonnen.
Da unser Klassenlehrer selbst kaum einen Durchblick hat und alles weniger gut erklärt bräuchte ich etwas Hilfe.
Ich hab folgende Aufgabe
Ich soll nun ein kleines Programm Schreiben in welchem man ein Kästchen hat, dort seinen Lohn eingeben kann und dieser anschließend wie auf dem Bild berechnet wird.
Ich finde nur leider keinen Anfang und ein Struktogramm müsste ich auch dazu erstellen.
Darf ich fragen welche Sprache ihr nun verwenden sollt? In der Aufgabenstellung werden sowohl C als auch C++ verwendet was schon mal einen großen Unterschied macht. Dan würde ich noch gerne wissen welche Entwicklungsumgebung du nutzt.
Ansonsten wie folgt vorgehen:
1. Eingabe auf der Console realisieren
2. Steuerrechnung mit Dreisatz realisieren
3. Nettogehalt berechnen
4. Personalaufwand berechnen
5. Werte per Console ausgeben. (kann man auch zwischendurch machen wenn man möchte)
Das Programm fertig in C (geht auch besser sollte zum anschauen und verstehe so am besten sein):
Code:
int main(int argc, char *argv[]) {
float Brutto = 1.0f;
float Netto = 0.0f;
float Personalaufwand = 0.0f;
float Lohnsteuer = 625.60f; // ? so oder prozent weiß ich leider nicht
float Kirchensteuer = 9.0f;
float Solidaritaetsbeitrag = 5.5f;
float Rentenversicherung = 19.3f;
float Arbeitslosenversicherung = 6.5f;
float Pflegeversicherung = 1.7f;
float Krankenversicherung = 14.0f;
float bigsum1 = Lohnsteuer; //oberer Teil insgesammt
float bigsum2 = 0.0f; // unterer Teil insgesmat
float temp = 0.0f;
printf("Programm: G E H A L T S A B R E C H N U N G\n\n");
printf("Bruttogehalt : ");
scanf("%f",&Brutto);
printf("\nLohnsteuer(It. Tab.) : %.2f EUR\n",Lohnsteuer);
temp = (Lohnsteuer/100)*Kirchensteuer;
bigsum1 += temp;
printf("Kirchensteuer(9.0 %% ) : %.2f EUR\n",temp);
temp = (Lohnsteuer/100)*Solidaritaetsbeitrag;
bigsum1 += temp;
printf("Solidaritaetsbeitr.(5.5 %% ) : %.2f EUR %.2f EUR\n\n",temp,bigsum1);
printf("AN-Anteil zur Sozialversicherung:\n\n");
temp = ((Brutto/100)*Rentenversicherung)/2;
bigsum2 += temp;
printf("Rentenversicherung(19.3 %%) : %.2f EUR\n",temp);
temp = ((Brutto/100)*Krankenversicherung)/2;
bigsum2 += temp;
printf("Krankenversicherung(14.0 %%) : %.2f EUR\n",temp);
temp = ((Brutto/100)*Arbeitslosenversicherung)/2;
bigsum2 += temp;
printf("Arbeitslosenversicherung(6.5 %%) : %.2f EUR\n",temp);
temp = ((Brutto/100)*Pflegeversicherung)/2;
bigsum2 += temp;
printf("Pflegeversicherung(1.7 %%) : %.2f EUR %.2f EUR\n\n",temp,bigsum2);
Netto = Brutto -bigsum1 - bigsum2;
printf("Nettogehalt : %.2f EUR\n\n",Netto);
Personalaufwand = Brutto + bigsum2;
printf("Personalaufwand : %.2f EUR",Personalaufwand);
return 0;
}
Gruß Matze
__________________
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
Powered by Windows 7
Die folgenden 2 Mitglieder haben sich bei Matze500 bedankt:
@JoeIT
ich habe bisher noch nicht viel programmiert. Eher Java und HTML.
Mit C bzw. C++ kenne ich mich gar nicht aus.
Wir haben lediglich die Aufgabe als Blatt bekommen die wir nun bearbeiten sollen.
Eine Erklärung dazu gab es nicht, was mich ziemlich nervt. Als ob wir das schon können...
Vorab sollen wir ein Struktugramm erstellen und dies dann in dieses Programm umwandeln.
Mir fehlt der komplette Ansatz wie ich das machen soll.
Auch die Codesprache ist mir nicht vertraut.
Deswegen wollte ich mich an Euch wenden, da Ihr wesentlich erfahrener seit.
Ich denke mal mir würde es helfen das Programm einmal fertig zu sehen und ggf. eine kleine Erklärung dazu.
Möchte allerdings auch nicht das sich hier jemand zu viel Arbeit wegen mir macht
Da du ja gesagt hast, du könntest java, habe ich einen kleinen Ausschnitt in Java erstellt.
Ich habe nicht alle Funktionen implementiert, da du ja auch noch was lernen sollst und ich auch nicht die Zeit oder Lust dazu hatte .
Der Quelltext ist jetzt nicht der schönste da ich alles in die Main-Method gestopft habe, da ich nicht wusste ob du dich mit Methoden/(Funnktionen) auskennst.
Das ganze solltest du jetzt eigentlich ohne Probleme in C übertragen können außer das Dinge wie die imports und Syntaktische kleinigkeiten wegfallen oder andersaussehen (Einlesen sieht in C anders aus Exceptions müssen raus usw.).
Code:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Aufgabe
{
public static void main(String[] args)
{
//Gehalt einlesen
double brutto = 0;
try
{
System.out.println("Bruttogehalt eingeben: ");
String line = new BufferedReader(new InputStreamReader(System.in)).readLine(); //hier wird eingelesen
brutto = Double.parseDouble(line); //Daten in ein double parsen zum rechnen
}
catch(NumberFormatException|IOException nfio)
{
throw new IllegalArgumentException(); //Bei Problemen des Readers oder beim parsen wird Exception geworden
}
//Bruttogehalt ausgeben
System.out.println("Bruttogehalt\t\t: "+brutto+" EUR");
//*************Lohnsteuer berechnen*************//ich mach hier einfach mal 25.4% Lohnsteuer da ich nicht weiß wie diese berechnet wird
double ls = 2456*0.254;
System.out.printf("Lonsteuer\t\t: %.2f\n",ls);
//****Kirchensteuer berechnen****
double ks = ls*0.09;
System.out.printf("Kirchensteuer\t\t: %.2f \t\t %.2f\n", ks, brutto-(ls+ks));
//******SOZIALVERSICHERUNGEN********
//***RENTENVERSICHERUNG
double rv = (brutto*0.193)/2; // /2 da AG hälfte zahlt--> Wichtig für Personalaufwand hier aber nicht berücksichtigt
System.out.printf("RENTENVERSICHERUNG\t\t: %.2f \n", rv);
//**hier kommen die restlichen versicherungen hin
//******NETTO*****
double netto = brutto-(ls+ks)-rv;
System.out.printf("netto\t\t: %.2f \n", netto);
//Personalaufwand***
//TODO nicht implementiert
}
}
Irgendwie funktioniert das nicht.
Die Formatierung klappt nicht mit der rechtsbündigen Ausgabe (wie auf dem Bild aus meinem ersten Post)
und wenn ich das Programm starte bleibt die Ausgabe nach
Solidaritätsbeitrag einfach stehen.
Zum Arbeiten verwende ich Visual Studio 2013
Es kommen folgende Fehler / Warnungen
Code:
Warnung 1 warning C4305: 'Initialisierung': Verkürzung von 'double' in 'const float' c:\users\homem\desktop\programm - gehaltsabrechnung\programm - gehaltsabrechnung\programm - gehaltsabrechnung.cpp 37 1 Programm - Gehaltsabrechnung
Warnung 2 warning C4305: 'Initialisierung': Verkürzung von 'double' in 'const float' c:\users\homem\desktop\programm - gehaltsabrechnung\programm - gehaltsabrechnung\programm - gehaltsabrechnung.cpp 38 1 Programm - Gehaltsabrechnung
Warnung 3 warning C4305: 'Initialisierung': Verkürzung von 'double' in 'const float' c:\users\homem\desktop\programm - gehaltsabrechnung\programm - gehaltsabrechnung\programm - gehaltsabrechnung.cpp 39 1 Programm - Gehaltsabrechnung
Warnung 4 warning C4305: 'Initialisierung': Verkürzung von 'double' in 'const float' c:\users\homem\desktop\programm - gehaltsabrechnung\programm - gehaltsabrechnung\programm - gehaltsabrechnung.cpp 40 1 Programm - Gehaltsabrechnung
Warnung 5 warning C4305: 'Initialisierung': Verkürzung von 'double' in 'const float' c:\users\homem\desktop\programm - gehaltsabrechnung\programm - gehaltsabrechnung\programm - gehaltsabrechnung.cpp 41 1 Programm - Gehaltsabrechnung
Warnung 6 warning C4305: 'Initialisierung': Verkürzung von 'double' in 'const float' c:\users\homem\desktop\programm - gehaltsabrechnung\programm - gehaltsabrechnung\programm - gehaltsabrechnung.cpp 42 1 Programm - Gehaltsabrechnung
Warnung 7 warning C4305: 'Initialisierung': Verkürzung von 'double' in 'const float' c:\users\homem\desktop\programm - gehaltsabrechnung\programm - gehaltsabrechnung\programm - gehaltsabrechnung.cpp 43 1 Programm - Gehaltsabrechnung
Warnung 8 warning C4305: 'Initialisierung': Verkürzung von 'double' in 'const float' c:\users\homem\desktop\programm - gehaltsabrechnung\programm - gehaltsabrechnung\programm - gehaltsabrechnung.cpp 44 1 Programm - Gehaltsabrechnung
Warnung 9 warning C4305: 'Initialisierung': Verkürzung von 'double' in 'const float' c:\users\homem\desktop\programm - gehaltsabrechnung\programm - gehaltsabrechnung\programm - gehaltsabrechnung.cpp 45 1 Programm - Gehaltsabrechnung
Warnung 10 warning C4305: 'Initialisierung': Verkürzung von 'double' in 'const float' c:\users\homem\desktop\programm - gehaltsabrechnung\programm - gehaltsabrechnung\programm - gehaltsabrechnung.cpp 46 1 Programm - Gehaltsabrechnung
Warnung 11 warning C4101: 'Nettogehalt': Unreferenzierte lokale Variable c:\users\homem\desktop\programm - gehaltsabrechnung\programm - gehaltsabrechnung\programm - gehaltsabrechnung.cpp 33 1 Programm - Gehaltsabrechnung
Warnung 12 warning C4101: 'Rentenversicherungsbeitrag_AG': Unreferenzierte lokale Variable c:\users\homem\desktop\programm - gehaltsabrechnung\programm - gehaltsabrechnung\programm - gehaltsabrechnung.cpp 25 1 Programm - Gehaltsabrechnung
Warnung 13 warning C4101: 'Rentenversicherungsbeitrag_AN': Unreferenzierte lokale Variable c:\users\homem\desktop\programm - gehaltsabrechnung\programm - gehaltsabrechnung\programm - gehaltsabrechnung.cpp 24 1 Programm - Gehaltsabrechnung
Warnung 14 warning C4101: 'Personalaufwand': Unreferenzierte lokale Variable c:\users\homem\desktop\programm - gehaltsabrechnung\programm - gehaltsabrechnung\programm - gehaltsabrechnung.cpp 32 1 Programm - Gehaltsabrechnung
Warnung 15 warning C4101: 'Arbeitslosenversicherungsbeitrag_AN': Unreferenzierte lokale Variable c:\users\homem\desktop\programm - gehaltsabrechnung\programm - gehaltsabrechnung\programm - gehaltsabrechnung.cpp 30 1 Programm - Gehaltsabrechnung
Warnung 16 warning C4101: 'Pflegeversicherungsbeitrag_AG': Unreferenzierte lokale Variable c:\users\homem\desktop\programm - gehaltsabrechnung\programm - gehaltsabrechnung\programm - gehaltsabrechnung.cpp 29 1 Programm - Gehaltsabrechnung
Warnung 17 warning C4101: 'Krankenversicherungsbeitrag_AG': Unreferenzierte lokale Variable c:\users\homem\desktop\programm - gehaltsabrechnung\programm - gehaltsabrechnung\programm - gehaltsabrechnung.cpp 27 1 Programm - Gehaltsabrechnung
Warnung 18 warning C4101: 'Pflegeversicherungsbeitrag_AN': Unreferenzierte lokale Variable c:\users\homem\desktop\programm - gehaltsabrechnung\programm - gehaltsabrechnung\programm - gehaltsabrechnung.cpp 28 1 Programm - Gehaltsabrechnung
Warnung 19 warning C4101: 'Krankenversicherungsbeitrag_AN': Unreferenzierte lokale Variable c:\users\homem\desktop\programm - gehaltsabrechnung\programm - gehaltsabrechnung\programm - gehaltsabrechnung.cpp 26 1 Programm - Gehaltsabrechnung
Fehler 20 error C4700: Die nicht initialisierte lokale Variable "Lohnsteuer" wurde verwendet. c:\users\homem\desktop\programm - gehaltsabrechnung\programm - gehaltsabrechnung\programm - gehaltsabrechnung.cpp 48 1 Programm - Gehaltsabrechnung
Fehler 21 error C4700: Die nicht initialisierte lokale Variable "Sozialversicherungsabgabe_AN" wurde verwendet. c:\users\homem\desktop\programm - gehaltsabrechnung\programm - gehaltsabrechnung\programm - gehaltsabrechnung.cpp 72 1 Programm - Gehaltsabrechnung
Fehler 22 error C4700: Die nicht initialisierte lokale Variable "Arbeitslosenversicherungsbeitrag_AG" wurde verwendet. c:\users\homem\desktop\programm - gehaltsabrechnung\programm - gehaltsabrechnung\programm - gehaltsabrechnung.cpp 82 1 Programm - Gehaltsabrechnung
Fehler 23 error C4700: Die nicht initialisierte lokale Variable "Sozialversicherungsabgabe_AG" wurde verwendet. c:\users\homem\desktop\programm - gehaltsabrechnung\programm - gehaltsabrechnung\programm - gehaltsabrechnung.cpp 84 1 Programm - Gehaltsabrechnung
noch ein Hinweis: du kannst einen Wert wie hier z.B. 'Steuergesamt' erst berechnen, wenn du alle Werte aus der Rechnung kennst. Verschiebe die Berechnung hinter die Eingaben von Bruttolohn und Lohnsteuer. Du kannst nicht Formeln definieren, die sich später 'automatisch' berechnen, wie in Excel.