Implementierung von einen C Programm

  • Hallo, habe folgendes Programm(siehe unten), jetzt soll ich das Programm implementieren, was ist damit gemeint, kann mir jemand zu mein Prog ein Bsp machen oder Tipps geben:


    Genauer Auftrag lautet:


    2.Funktionen (implementiert in externen Modulen):



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

    #define MAX 10

    typedef struct {
    char titel [20];
    char schlagwort [20];
    char autor [20];
    char isbn [20];
    } BUCH;

    //////////////////////////////////////////
    // Prototypen der Funktionen:

    BUCH* heap_reservieren( int );

    int eingeben ( BUCH*, int );
    int einlesen ( BUCH*, FILE* );
    int speichern ( int, BUCH*, FILE* );
    void sortieren ( int, BUCH* );
    void suchen ( int, BUCH* );
    void zeigen ( int, BUCH* );

    ///////////////////////////////////////////
    // Globale Daten

    char datei [] = "bibliothek.dat";

    ///////////////////////////////////////////////////////////////////////

    int main (){

    BUCH* bibliothek = NULL;
    FILE* fin = NULL;
    FILE* fout = NULL;
    char z = '0';
    int aktAnzahl = 0;

    ///////////////////////////////////////////////////////////////////
    // Datenbank oeffnen und automatisch einlesen

    bibliothek = heap_reservieren(MAX); // Dynamischen Vektor anlegen

    aktAnzahl = einlesen ( bibliothek, fin);

    ////////////////////////////////////////////////////////////
    // Bildschirmmaske aufbauen

    do {

    //clrscr();
    system("COLOR 0b");
    printf("\n==================================\n"
    " Bitte waehlen Sie aus: \n"
    " 1. Eingabe (Tastatur) \n"
    " 2. Einlesen (Datei) \n"
    " 3. Zeigen (Bildschirm) \n"
    " 4. Speichern (Datei) \n"
    " 5. Sortieren \n"
    " 6. Suchen \n"
    " 7. EXIT \n"
    "==================================\n"
    "Ihre Wahl -> ");

    ///////////////////////////
    // 2. Nutzereingabe lesen:
    z = getche();
    fflush(stdin);
    clrscr();

    ///////////////////////////
    // 3. Analyse der Nutzereingabe
    // und Funktionsaufrufe

    switch( z ) {
    case '1':
    aktAnzahl = eingeben (bibliothek, aktAnzahl);
    break;
    case '2': // 2. Einlesen (Datei)
    aktAnzahl = einlesen( bibliothek, fin );
    break;
    case '3': // 3. Ausgabe (Bildschirm) ersonen[0]), compare );
    zeigen (aktAnzahl, bibliothek);
    break;
    case '4': // 4. Speichern (Datei)
    speichern( aktAnzahl, bibliothek, fout );
    break;
    case '5': // 5. sortieren
    sortieren (aktAnzahl, bibliothek);
    break;
    case '6': // 6. Suchen
    suchen(aktAnzahl, bibliothek);
    break;
    case '7': // 7. EXIT
    break;
    default:
    printf("Falsche Eingabe");
    break;
    }
    } while( z != '7' );
    return 0;
    }
    ///////////////////////////////////////////
    // FUNKTIONEN:

    BUCH* heap_reservieren( int temp ) {

    return malloc (temp * sizeof (BUCH));
    }

    ///////////////////////////////////////////
    // Von Tastatur einlesen

    int eingeben (BUCH vek[], int akt){

    int i;

    for (i=akt; i<MAX; i++) {
    puts( "========================");
    printf("======= %i. Buch: =======\n",i+1);
    puts ("\nGeben Sie den Titel ein: ");
    gets(vek[i].titel);
    fflush (stdin);
    if (vek[i].titel[0]=='\0') break;
    puts ("Geben Sie ein Schlagwort ein: ");
    gets(vek[i].schlagwort);
    fflush (stdin);
    puts ("Geben Sie den Autor ein: ");
    gets(vek[i].autor);
    fflush (stdin);
    puts ("Geben Sie die ISBN ein: ");
    gets(vek[i].isbn);
    fflush (stdin);
    }
    //printf("%i Buecher eingelesen", i);
    //getchar();
    return i;
    }
    /////////////////////////////////////////////////
    // Von Datei einlesen

    int einlesen ( BUCH* bib, FILE* fin ) {

    int ok=0;
    fin= fopen(datei, "rb");
    if( fin == NULL ) {
    puts ("Error FIN: Datenbank nicht vorhanden");
    getchar();
    fclose(fin);
    return -1;
    }
    ok = fread ( bib, sizeof(BUCH),MAX,fin);
    printf("%i Datensaetze eingelesen", ok);
    fclose(fin);
    return ok;
    }

    //////////////////////////////////////////////////
    // Datenbank speichern

    int speichern( int min, BUCH* bib, FILE* fout) {

    int ok=0;
    fout = fopen(datei, "wb");
    ok = fwrite ( bib, sizeof(BUCH), min, fout);
    printf("%i Datensaetze gespeichert", ok); ;
    fclose(fout);
    return ok;
    }

    //////////////////////////////////////////////////
    // Datensaetze in Grossbuchstaben wandeln
    // und sortieren

    void sortieren (int akt, BUCH vek[]) {

    int j, k=0;
    BUCH temp;

    ///Grossbuchstaben
    for (j=0; j < akt; j++) {
    if (vek[j].titel[0] > 96) {
    vek[j].titel[0] -= 32;
    }
    if (vek[j].schlagwort[0] > 96) {
    vek[j].schlagwort[0] -= 32;
    }
    if (vek[j].autor[0] > 96) {
    vek[j].autor[0] -= 32;
    }
    }

    ////// Sortieren

    while (k++ < MAX) {
    for (j=1; j < akt; j++) {

    if (strcmp (vek[j-1].titel, vek[j].titel) > 0) {
    temp = vek[j];
    vek[j] = vek[j-1];
    vek[j-1] = temp;
    }
    }
    }
    clrscr();
    printf("Verarbeitung beendet, Buecher sortiert");
    //getchar();
    }

    ////////////////////////////////////////////////
    // Datensatz suchen

    void suchen (int akt, BUCH temp[]) {
    int i;
    char schlagwort[20];
    puts("Nach welchem Schlagwort suchen:");
    gets(schlagwort);

    for(i=0; i < akt; i++) {

    if(strcmp(schlagwort, temp[i].schlagwort)==0) {

    printf("\n\n====Buch Nr. %i ====",i+1);
    printf("\nTitel: %s", temp[i].titel);
    printf("\nAutor: %s", temp[i].autor);
    printf("\nSchlagwort: %s", temp[i].schlagwort);
    printf("\nISBN: %s", temp[i].isbn);
    }
    }
    puts("\n=== Suche beendet =================");
    getchar();
    clrscr();
    }

    ////////////////////////////////////////////////
    // Bildschirmausgabe

    void zeigen (int akt, BUCH vek[]) {

    int j;
    if(akt==0) {
    printf("Nichts auszugeben...\n");
    } else {
    for (j=0; j < akt; j++) {
    printf("\n===== %i. Buch =======",j+1);
    printf("\nTitel: %s", vek[j].titel);
    printf("\nAutor: %s", vek[j].autor);
    printf("\nSchlagwort: %s", vek[j].schlagwort);
    printf("\nISBN: %s", vek[j].isbn);
    printf("\n=====================\n");
    }
    }
    getchar();
    clrscr();
    }

  • hat sich erledigt mit implementieren ist ja das programmieren gemeint


    -----Thread kann geschloßen werden.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!