Verwaltung von Daten



  • Bitte, bitte helft mir. Ich muss in einer Woche ein Programm abgegen und scheitere schon bei der Aufgabenstellung.
    Ich schreib euch die mal auf:

    "Schreiben sie ein Programm das eine Schülerdatei anlegt und verwaltet. Dabei sind von jedem Schüler der Name und Vorname, das Geburtsdatum, das Geschlecht und die Zeugnisnoten in den Fächern Deutsch MAthe und Kunst (als Feld mit 3 Komponenten oder als Unterstruktur einführen.

    Setzen Sie in Iihrem C-Programm folgende Teilschritte um:
    a) Definieren Sie eine Datenstruktur, die die oben genannten Angaben eines Schülers in einem Element zusammenfasst, global für ihr Programm.Deklarieren Sie im Hauptprogramm ein Feld klasse solcher Strukturelemente von maximaler Länge NMAX=30.

    b) Schreiben sie eine Funktion, die eine Datei mit Schülerdaten der obrigen Struktur aufbaut. Dabei soll der Nutzer zuerst vorgeben, wievielSchüler es tatsächlich sind und danach die Daten der Schüler über die Tastatur eingeben.

    c)Schreiben sie eine Funktion, die Datensätze aus einer Datei mit obigem Aufbau einliest und in ein Feld solcher Datensätze speichert. Argumente der Fkt sollten der Dateiname und das Feld sein, Rückgabewert und die Anzahl der aus der Datei eingelesenen Datensätze.

    d) Schreiben sie eine C_Funktion, die folgende Verwaltungsoperationen auf einem Feld von solchen Schüler-Datensäten ausführen:

    1. Alle Daten der Schüler auf dem Bildschirm formatiert (zeilenweise) ausgeben.

    2. Einen neuen (mit seinen Daten) an das Datenfeld am Feldende anfügen. Beachten Sie dabei, dass es maximal NMAX Schüler sein dürfen.

    3)Den Eintrag für einen Schüler (nach Namen und Vornamen) suchen und auf dem Bildschirm ausgeben.Dabei soll dessen Position innerhalb des Feldes (ZEilennummer) von der Funktion zurückgegeben werden.

    4)Daten eines in 3) zuvor gesuchten Schülers ändern. Dieser Menue-Punkt ist mit Hilfe eines Untermenues noch aufzugliedern in
    4.1: Nachname und Vorname ändern
    4.2: Geburtstag korrigieren
    4.3: Geschlecht korrigieren
    4.4: Zensuren ändern

    5)alle Schüler auf dem Bildschirm ausgeben, die in allen 3Fächern eine Note nicht schlechter als 2 haben

    1. Dafinieren Sie eine weitere Fkt auf dem Feld von Schülerdaten ganz nach Ihrer Wahl.

    e) Schreiben sie eine Fkt, die die Schüler Datensätze des Feldes in eine Datei obigen Aufbaus schreibt. Der Dateiname ist vom Nutzer vorzugeben. Argumente der Fkt sollten der Dateiname und das Feld sein, Rückgabewert ist void. Beachten Sie, dass dazu die Fkt in c) schon aufgerufen worden sein muss.

    f) Programmieren Sie im Hauptprogramm ein geeignetes Menue, dass zwischen dem Neuaufbau einer Schülerdatei, den obigen Verwaltungsoperationen, dem Speichern in einer Datei und dem Beenden des Programms wählen läßt."

    Könnt ihr mir erklären, wie ich vorgehen muss? Ich hab schon mal angefangen, aber bin nicht weiter als bis zur Eingabe der Schülerdaten gekommen. Bitte,bitte,bitte helft mir.
    ch bin echt verzweifelt!!!!



  • sky010 schrieb:

    Könnt ihr mir erklären, wie ich vorgehen muss?

    Kaum. Du würdest die Erklärung nicht verstehen.

    sky010 schrieb:

    Ich hab schon mal angefangen, aber bin nicht weiter als bis zur Eingabe der Schülerdaten gekommen.

    Also hast Du die Struktur schon. Ist doch prima. Es fällt uns leichter, kleine konkrete Sachen zu lösen. Zum Beispiel, "Warum funktioniert mein Vergleich zweier Strings nicht und wie geht's richtig?", wozu Du dann auch das bisherige Programm mitposten würdest. Je konkreter die Frage und je kürzer eine umfassende Antwort möglich ist, desto wahrscheinlicher hilft man Dir.



  • Ich hab schon des öfteren solche Programme für Leute geschrieben, wenn du magst, mache ich das für dich. Schreib halt zurück und wir handeln den Preis per E-mail aus.



  • @Professional: Ist das legitim???? Wenn ja,würd ich vielleicht darauf zurückkommen!



  • @volkard: Du bist ja nett. Ich wollt doch nur wissen, ob mir jemand ne Wegbeschreibung geben kann und du zweifelst gleich an meinem Verstand!



  • sky010 schrieb:

    @Professional: Ist das legitim????

    Natürlich. Professional darf das Programm für Geld bauen. Und es ist ein sehr guter Weg, aufstrebende Programmierer, zum Beispiel befähigte Studenten, finanziell zu unterstützen.



  • Wielange würdest du denn brauchen??? Und was würdest du dafür bekommen? Bin nämlich auch nur Student und hab nicht sooooooooooooooviel Geld!



  • sky010 schrieb:

    @volkard: Du bist ja nett. Ich wollt doch nur wissen, ob mir jemand ne Wegbeschreibung geben kann und du zweifelst gleich an meinem Verstand!

    Ok, eine Detaillierte Wegbeschreibung in 13 Haarkleinen Schritten: http://pastebin.com/m20ecb011



  • Wenn du mir das ins für mich verständliche Deutsch übersetzen könntest, wäre ich dir sehr(!!!!!!!!!!!!!!!!!) dankbar!



  • sky010 schrieb:

    Wenn du mir das ins für mich verständliche Deutsch übersetzen könntest, wäre ich dir sehr(!!!!!!!!!!!!!!!!!) dankbar!

    Ich glaube der Link ist auf deutsch und keine tibetische Schriftrolle...
    Was genau verstehst Du denn nicht?



  • sky010 schrieb:

    Ich wollt doch nur wissen, ob mir jemand ne Wegbeschreibung geben kann

    die "Webgebschreibung" ist bereits in der Aufgabe vorhanden, da wird genau beschrieben, was du tun sollst. Einfach Text lesen, ihn verstehen und in C umsetzen. Wenn das Umsetzen nicht klappt, dann musst du dich wieder mit den Grundzügen von C auseinander setzen, denn diese scheinen dir zu fehlen.



  • sky010 schrieb:

    Wielange würdest du denn brauchen??? Und was würdest du dafür bekommen? Bin nämlich auch nur Student und hab nicht sooooooooooooooviel Geld!

    Sende mir bei bedarf doch eine e-mail, ich kann das programm zu jedem gewünschten zeitpunkt fertig stellen. meine e-mail ist MartinB3@gmx.de



  • Ja, das ist mein Problem und ich habe auch nichts anderes behauptet!

    Ich studiere nicht Informatik und bin dafür auch nicht geeignet-das weiß ich. Aber ich versuch mein Bestes!
    Ich schreib euch mal auf, was ich bis jetzt programmiert habe. Aber bitte nicht lachen.

    #include <stdio.h>
    #include <stdlib.h>

    #define NMAX 30

    struct klasse
    {
    char name[NMAX];
    char vorname[NMAX];
    char geburtstag [10];
    char geschlecht;
    int noten[5];

    };

    int eingabe();
    void ausgabe(int n); // void... Funktion liefert keinenRückgabewert;leer
    void suchen(int n);
    void aendern(int n);
    void gruppe(int n);

    void main()
    {

    int mgk;
    int anzahl;

    while(1) // 1 bedeutet, es läuft immer wieder durch
    {

    printf("Hauptmenue\n");

    printf("1 Anzeige aller Schuelerdatensaetze\n");
    printf("2 Eingabe eines neuen Schuelerdatensatzes\n");
    printf("3 Den Eintrag fuer einen Schueler suchen und auf dem Bildschrim ausgebeben.\n");
    printf("4 Die Daten eines Schuelers aendern \n");
    printf("5 Alle Schueler anzeigen, die in allen drei Fächern nicht schlechter als 2 sind\n");

    printf("0 Programmende\n");

    printf("\nWas moechten Sie tun? ");
    scanf("%d",&mgk); //& Adressoperator, damit es weiß, von welcher Adresse er sich das nehmen muss
    switch(mgk)
    {
    case 0: exit(0);
    break;
    case 1: ausgabe(anzahl);
    break;
    case 2: anzahl=eingabe();
    break;
    case 3: suchen(anzahl);
    break;
    case 4: aendern(anzahl);
    break;
    case 5: gruppe(anzahl);
    break;

    }
    }

    }

    int eingabe(void)
    {

    int i;
    int n;

    printf("Eingabe eines neuen Schuelerdatensatzes\n");

    printf("Wieviele Schueler sollen neu erfasst werden: ");
    scanf("%d",&n);

    if(n>NMAX){
    printf("Es koennen maximal 30 Schueler erfasst werden.\nIhr Wert ueberschreitet diese Anzahl!\nBitte versuchen Sie es noch einmal!\n");
    printf("Wieviele Kinder sollen neu erfasst werden: ");
    scanf("%d",&n);
    }

    for (i=0; i<n; i++)
    {
    printf("Name: ");
    scanf("%s",&s[i].name);
    printf("Vorname: ");
    scanf("%s",&s[i].vorname);
    printf("Geburtsdatum: ");scanf("%s",&s[i].geburtstag);

    getchar(); //get...nehmen, char...Zeichenkette

    do
    {
    printf("Geschlecht: ");scanf("%s",&s[i].geschlecht);
    getchar();
    }
    while ((s[i].geschlecht != 'w') && (s[i].geschlecht != 'm'));
    printf("Zeugnisnoten in Deutsch, Mathe, Kunst: ");
    scanf("%d",&s[i].noten);

    return (n);
    }
    }

    Wie sieht das bis jetzt aus???



  • @Professional

    Sie haben Post!



  • @Professional: Ist das legitim???? Wenn ja,würd ich vielleicht darauf zurückkommen!

    Aus Sicht deines Professors ist es vermutlich Betrug, aber ansonsten spricht nichts dagegen. Sieh aber zu, dass der Code gut kommentiert ist und du genau verstehst, was jede einzelne Zeile macht.



  • Aber wenn "Professional" dein Professor ist, der einzelne Textblöcke aus der Aufgabe, die er seinen Studenten gestellt hat, mit Google gesucht hat und dir jetzt eine Falle stellt, stehst du ziemlich dumm da 🙂


Anmelden zum Antworten