HILFE!!!!!!!!!!!!!!



  • Kann mit BITTE jemand den folgenden Quellcode zeile für zeile beschreiben was dort passiert!

    Es ist super super wichtig!!!!!!!!!!!!!!!!!!!
    Danke im Vorraus

    /* Präprozessoranweisungen */
    #include <stdio.h>
    #include <windows.h>
    #define clrscr() system("cls");

    /* Variablen Deklaration und Initialisierung */
    int i = 0;
    int l = 0;

    /* Funktionsdeklarationen */
    void menue();
    void tln_eingeben();
    void tln_ausgeben();
    void daten_speichern();
    void daten_lesen();
    void suchen();

    /* Strukturdefinitionen */
    struct eintrag {
    char nname[16];
    char vname[16];
    int nummer;
    };

    /* Struktur-Array Deklaration */
    struct eintrag liste[100];

    /* Main-Funktion */
    int main()
    {
    clrscr()
    daten_lesen();
    printf ("\nHier ist die Funktion Main");
    menue();
    clrscr()
    }

    void menue()
    {
    char v_eingabe;

    do
    {

    printf("\n\n*********************************************************");
    printf ("\n\nTelefonverzeichnis - Hauptmenue");
    printf("\n*********************************************************");
    printf ("\n\nTeilnehmer eingeben 1");
    printf ("\nTeilnehmer ausgeben 2");
    printf ("\nIn Datei speichern 3");
    printf ("\nProgramm beenden 4");
    printf ("\nSuchen 5");
    printf ("\n\n\nBitte waehlen Sie: ");

    switch (v_eingabe = getch())
    {
    case '1' : tln_eingeben();
    break;
    case '2' : tln_ausgeben();
    break;
    case '3' : daten_speichern();
    break;
    case '4' : break;
    case '5' : suchen();
    break;
    default : clrscr()
    printf("\n\nfalsche Eingabe, bitte wiederholen: \n");
    }
    }
    while(v_eingabe!='4');

    }

    void tln_eingeben()
    {
    clrscr()
    printf("\n---------------------------------------------------------");
    printf("\n1.) Teilnehmer eingeben");
    printf("\n---------------------------------------------------------");
    printf("\n\n\n Datensatz: %-3d", i);
    if (i < 99)
    {
    printf("\n\nBitte geben Sie den Nachnamen ein: ");
    scanf("%15s", liste[i].nname);
    fflush(stdin);
    printf("Bitte geben Sie den Vornamen ein: ");
    scanf("%15s", liste[i].vname); //s Zeichenkette
    fflush(stdin);
    printf("Bitte geben Sie die Telefon-Nr. ein: ");
    scanf("%4i", &liste[i].nummer); //int dezimal
    fflush(stdin);
    i = i+1;
    }
    else
    {
    printf("\n\nTelefonbuch voll - letzter Datensatz erreicht");
    }
    }

    void tln_ausgeben()
    {
    clrscr()
    printf("\n---------------------------------------------------------");
    printf("\n2.) Teilnehmer-Anzeige");
    printf("\n---------------------------------------------------------");
    printf("\n\nName\t\t Vorname \t Tel.-Nummer");
    printf("\n---------------------------------------------------------");

    for (l=0; l<i; l++)
    {
    printf("\n%-17s%-17s%d", liste[l].nname, liste[l].vname, liste[l].nummer);
    }
    printf("\n\n");
    }

    void daten_speichern()
    {
    FILE dateizeiger1;
    dateizeiger1 = fopen( "daten\\daten.text", "w+");
    if(dateizeiger1 != 0)
    {
    clrscr()
    printf("
    ** text: Datei im Modus Lesen und Anfuegen erfolgreich geoeffnet");
    fprintf(dateizeiger1,"%i\n", i);
    for (l=0; l<i; l++)
    {
    fprintf(dateizeiger1,"%-15s%-15s%-4i\n", liste[l].nname, liste[l].vname, liste[l].nummer);
    }
    printf("\n*** text: Daten wurden gespeichert (text)\n");
    fclose(dateizeiger1);
    }

    else
    {
    printf("\n text: Fehler beim Oeffnen der Datei\n");
    }

    FILE dateizeiger2;
    dateizeiger2 = fopen("daten\\daten.bin", "a+b");
    if(dateizeiger2 != 0)
    {
    struct eintrag ptr_eintrag;
    ptr_eintrag = &liste[0];
    printf("
    * binaer: Datei im Modus Lesen und Anfuegen erfolgreich geoeffnet");
    /* for (l=0; l<i; l++)
    { /
    fwrite(ptr_eintrag, sizeof(struct eintrag), i, dateizeiger2);
    /* } /
    printf("\n
    * binaer: Daten wurden gespeichert (text)\n");
    fclose(dateizeiger2);
    }

    else
    {
    printf("\n binaer: Fehler beim Oeffnen der Datei\n");
    }
    }

    /* **************************************** */
    /* Funktionsdefinition: aus Datei auslesen */
    /* **************************************** */
    void daten_lesen()
    {
    clrscr()
    FILE *dateizeiger;
    dateizeiger = fopen( "daten\\daten.text", "rt");

    if(dateizeiger != 0)
    {
    clrscr()
    printf("*** text: Datei im Modus Lesen erfolgreich geoeffnet");
    fscanf(dateizeiger, "%d", &i);
    printf("\n*** Anzahl Datensaetze: %3d\n\n", i);

    for (l=0; l<i; l++)
    {
    fscanf(dateizeiger, "%15s%15s%4i", liste[l].nname, liste[l].vname, &liste[l].nummer);
    }
    }
    }

    /* **************************************** */
    /* Funktionsdefinition: Suchen */
    /* **************************************** */
    void suchen()
    {
    clrscr();
    char suchstring[16];
    int gefunden = 0;
    int rueckgabe;
    printf("\n---------------------------------------------------------");
    printf("\n5.) Suchfunktion");
    printf("\n---------------------------------------------------------");
    printf("\nBitte geben Sie den gesuchten Namen ein: ");
    scanf("%15s", suchstring);
    fflush(stdin);
    printf("\n\nName\t\t Vorname \t Tel.-Nummer");
    printf("\n---------------------------------------------------------");
    for (l=0; l<i; l++)
    {
    rueckgabe = strcmp(suchstring, liste[l].nname); //vergleicht die Zeichenketten
    if (rueckgabe == 0)
    {
    gefunden = gefunden+1;
    printf("\n%-17s%-17s%d", liste[l].nname, liste[l].vname, liste[l].nummer);
    }

    /* printf("\n\nstrcmp liefert: %i\n", rueckgabe); /
    }
    if (gefunden > 0)
    {
    printf("\n\n\n\n
    ** Anzahl gefundener Datensaetze: %i", gefunden);
    printf("\n*** Anzahl durchsuchte Datensaetze: %i\n", i);
    }
    else
    {
    printf("\n*** kein Datensatz gefunden ");
    printf("\n\n\n\n
    Suchbegriff: %-16s", suchstring);
    printf("\n*** Anzahl durchsuchte Datensaetze: %i\n", i);
    }

    }



  • Timi schrieb:

    ...zeile für zeile beschreiben was dort passiert!

    wenn's weniger zeilen wären, hätt's bestimmt einer gemacht 😉

    btw: super thread titel 👍



  • Schnorreralarm !!!

    BTW: Wenn es "super wichtig" ist, hast Du bestimmt schon hart daran gearbeitet und kannst konkreter sagen, wo Du Probleme hast. Dann hilft man Dir hier gerne.
    Ach ja: Als erstes Zeichen guten Willens wirst Du bestimmt gerne die 2 Minuten in einen sinnvollen Threadtitel und Codetags investieren - schließlich willst Du unsere Hilfe und nicht wir Deine, oder ? :p

    Gruß,

    Simon2.



  • @ Timi:

    Das war ja schonmal nix. Threadtitel nichtssagend (dann auch noch Caps), viel zuviel Code, keine konkreten Fragen, keine Codetags ([cpp]) und eindeutig zuviele Ausrufezeichen!!!!!!!!!!!!

    Da du als Unreg nicht editieren kannst (und ich fange sicher nicht an Beiträge anderer schönzumachen) -> Thread geschlossen

    Auf zum nächsten Versuch.


Log in to reply