Prüfungsvorbereitung



  • Hallo liebe Programmierer,

    ich bin Maschinenbaustudent und habe 1 Semester Informatik zu belegen,wo ich jetzt über Weihnachten mal mit den Prüfungsvorbereitungen beginnen möchte. Leider fällt mir das alles nicht so einfach wie in der 11 Klasse,als wir mit Turbo Pascal gearbeitet haben ! In der Musterklausur stoße ich vor schwierige Aufgaben, die für euch sicher sehr einfach sind, dennoch hoffe ich, einmal eine Hilfestellung zu bekommen, es wäre sehr lieb, damit ich mich dann in den Lösungsweg reindenken kann:

    Gegeben sei eine Struktur Person.

    struct person {
    char name [40];
    char vorname[20];
    float gehalt;
    int personalnummer;
    };

    Aus dieser Struktur wird ein Feld personal aufgebaut:

    const int MITAREITER=100;
    person personal [Mitarbeiter];

    Das Feld sei bereits mit Werten belegt.Wenn weniger als 100 Mitarbeiter beschäfftigt sind, so ist das strukturelement personalnummer des ersten freien Feldes mit -1 zu belegen. Entwerfen und implementieren Sie ein c++ Programm, in der das Feld sequentiell durchmustert wird. Dabei soll der prozentualle Anteil der Personen ermittelt werden,

    -die ein um mehr als 15% nach oben vom Durchschnittsgehalt aller Beschäftigten abweichendes Gehalt beziehen

    -die ein um mehr als 15% nach unten vom Durchschnittsgehalt aller Beschäftigten abweichendes Gehalt beziehen

    Dabei werden die Anteile an den tatsächlich beschäftigten Personen berechnet.
    Diese Anteile sollen ausgegeben werden.

    Vielen Dank für eure Hilfe 🙂 Wäre echt super nett und wichtig für mich !



  • Hi brain91,

    also als erstes möchte ich dich darauf hinweisen, das dies das falsche Unterforum ist 😉 und als zweites wäre es noch vorteilhaft zu wissen, mit welches Programmiersprache du arbeitest? Ich vermute mal C oder C++, hey?

    Ok nun zu deinem Problem, wie sieht das nun konkret aus? Weißt du nicht wo du anfangen sollst? Wie gut oder schlecht sind deine Kenntnisse mit der Programmiersprache? Das sind halt noch Kleinigkeiten, die helfen können dir zu helfen 😉

    Lg Tobi



  • Die Grundlage ist ja breits vorhanden

    struct person
    {
    	char name [40];
    	char vorname[20];
    	float gehalt;
    	int personalnummer;
    };
    
    int main()
    {
    	const int MITAREITER = 100;
    	person personal [MITAREITER];
    
    	return 0;
    }
    

    Somit hast du schonmal ein compilierbares Beispiel

    brian91 schrieb:

    Das Feld sei bereits mit Werten belegt.Wenn weniger als 100 Mitarbeiter beschäfftigt sind, so ist das strukturelement personalnummer des ersten freien Feldes mit -1 zu belegen. Entwerfen und implementieren Sie ein c++ Programm, in der das Feld sequentiell durchmustert wird. Dabei soll der prozentualle Anteil der Personen ermittelt werden,

    Hier bietet sich an, die personalnummer aller 100 Mitarbeiter auf -1 zu setzen.
    Danach musst du natürlich einige Beispieldaten eingeben, damit eine Berechnung des Gehaltes Sinn macht. Dies kann über eine Datei oder die direkte Eingabe über die Tastatur zur Laufzeit des Programmes geschehen. (iostream)

    Hast du diese Hürte genommen, ist die Berechnung vom Rest relativ einfach.



  • hallo leute,

    erstmal vielen dank für die antworten. wir arbeiten mit c++, genauer gesagt dev c++ ! wir haben die einzelnen schleifen gelernt,funktionen, und if-else anweisung, allerdings nicht so diese logischen verknüpfungen,wie sie hier gefordert sind. das aufbauen von Matrizen,was ja sicher mit feldern gemacht wird, hatten wir auch noch nicht, ich kann zwar "horizontale" Felder aufstellen,aber keine vertikalen !



  • Hallo brain91,

    Mehr als If-Else, Schleifen und ein bisschen Mathe brauchst du bei dieser Aufgabe auch gar nicht. Zu deinen Matrizen, dies nennt man in der Programmierung: Arrays oder auch Felder. Diese können auch mehrdimensional sein, was für die Aufgabe aber nicht notwendig ist.

    Um nun mit deinen Programm zu beginnen, hat die BasicMan01 ja schon mal das Grundgerüst gegeben:

    struct person
    {
        char name [40];
        char vorname[20];
        float gehalt;
        int personalnummer;
    };
    
    int main()
    {
        const int MITAREITER = 100;
        person personal [MITAREITER];
    
        return 0;
    }
    

    Dieses Programm kannst du nun beliebig um Funktionalitäten erweitern, welche von dir gefordert sind. Das machst du über Funktionen (wer hätt's gedacht ;))

    Die Funktionen könnten z.B. so aussehen:

    /** Berechnen prozentualen Anteil an Personen mit x% über dem Durchschnitt.
     * @param personal: Verweis auf das Array vom Personal
     * @param size    : Größe des Arrays (MITARBEITER)
     * @param perc    : Grenze abwann eintrag gezählt wird (15%) 
     */
    float AnteilPersonenDSO( const person *personal, const int size, float perc );
    
    /* das selbe noch mal für Anteil der unterhalb vom Durchschnitt liegt */
    

    So kann man an die Sache rangehen. Wenn du jetzt nicht darüber bescheid weißt, wie man mit Zeigern über Paramaeter arbeitet, solltest du dich da noch mal belesen (Selbststudium ;))

    Lg Tobi


Anmelden zum Antworten