Versuch 4 - leider nicht funktionsfähig !

Elektrotechnik-Forum
Verfügbare Informationen zu "Versuch 4 - leider nicht funktionsfähig !"

  • Qualität des Beitrags: 0 Sterne
  • Beteiligte Poster: louis - wastl
  • Forum: Elektrotechnik-Forum
  • Forenbeschreibung: Hilfsmittel für das Studium
  • aus dem Unterforum: Programmieren
  • Antworten: 2
  • Forum gestartet am: Dienstag 18.05.2004
  • Sprache: deutsch
  • Link zum Originaltopic: Versuch 4 - leider nicht funktionsfähig !
  • Letzte Antwort: vor 19 Jahren, 9 Monaten, 30 Tagen, 9 Stunden, 12 Minuten
  • Alle Beiträge und Antworten zu "Versuch 4 - leider nicht funktionsfähig !"

    Re: Versuch 4 - leider nicht funktionsfähig !

    louis - 24.05.2004, 16:28

    Versuch 4 - leider nicht funktionsfähig !
    #ifdef HAVE_CONFIG_H
    #include <config.h>
    #endif

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

    #define TEXTNAME "text.txt"
    #define SORTNAME "sort.txt"
    #define CHARMAX 80
    #define MAX 5

    void TextDateiErstellen();
    int TextDateiLesen(char* paZ[]);
    int TextArrayAnzeigen(char* paz[]);
    int TextArraySortieren(char* paZ[]);
    int TextDateiSchreiben(char* paZ[]);
    int TextDateiAnzeigen();
    int FreeMemory(char* paZ[]);



    int main()
    {
    char* paZeile[MAX]; // Array zur Zwischenspeicherung

    printf("4. Praktische Uebung in \"Programmieren 1\" \n\n");

    TextDateiErstellen();

    if(TextDateiLesen(paZeile)== -1)
    return EXIT_FAILURE;

    TextArrayAnzeigen(paZeile);

    TextArraySortieren(paZeile);

    TextDateiSchreiben(paZeile);

    TextDateiAnzeigen();

    FreeMemory(paZeile);

    return EXIT_SUCCESS;
    }

    void TextDateiErstellen()
    {
    FILE* fp;
    int i=0,j;
    int c;
    char pcHilf[CHARMAX+1];


    fp = fopen(TEXTNAME,"wt");

    for(j=0;j < MAX ;j++)
    {
    printf("Ihr %d . Satz: ",j+1);
    while (( c=getchar() != '\n' ) && (i < CHARMAX))
    {
    pcHilf[i]= c;
    i++;
    }
    pcHilf[i]='\n';
    pcHilf[i+1]='\0';

    fputs(pcHilf, fp);
    fflush(stdin);
    i=0;
    }
    printf("\n\nDie eingegebenen Werte werden abgespeichert........\n\n");
    fclose(fp);

    return ;

    }

    int TextDateiLesen(char* paZ[])
    {
    FILE* fp1;
    char caHilf[CHARMAX+1]; //String zur Zwischenspeicherung
    char* cptemp; // Zeiger für den allokierten Speicherplatz
    int i,c;

    printf("Die Werte werden gelesen...........\n\n");

    fp1 = fopen(TEXTNAME,"rt");

    for(i=0;i<MAX;i++)
    {
    fgets(caHilf , CHARMAX+1, fp1); //lies die Zeile in den Hilfsstring ein

    //reseviert den Speicherplatz für die Zeile
    if((cptemp = (char*) malloc(((c=strlen(caHilf)+1)))) == NULL)
    {
    printf("schwerer Ausnahmefehler: kein Speicherplatz mehr!!!");
    return -1;
    }
    // kopiere den String in der variablen Speicherbereich
    strcpy(cptemp,caHilf);

    //nehme den Zeiger in das Zielarray auf
    paZ[i]=cptemp;
    }
    return i; //gibt die Anzahl der abgespeicherten Zeiger zurück
    }

    int TextArrayAnzeigen(char* paz[])
    {
    int i;

    printf("Dies sind die eingelesenen Daten :\n\n");

    for(i=0; i < MAX; i++)
    {
    printf("%d : %s",i+1,paz[i]);
    }
    return 0;
    }


    int TextArraySortieren(char* paZ[])
    {
    char* pcZwischen;
    int i,j=0;

    do
    {
    j=0;
    for(i = 0; i < MAX-1; i++)
    {

    if((toupper(*paZ[i])) > (toupper(*paZ[i+1])))
    {
    pcZwischen = paZ[i];
    paZ[i] = paZ[i+1];
    paZ[i+1] = pcZwischen;
    j=1;
    }
    }
    }while(j != 0);

    return 0;
    }

    int TextDateiSchreiben(char* paZ[])
    {
    FILE* fp1;
    int i;
    printf("sortierte Daten werden geschrieben\n\n");

    fp1 = fopen( SORTNAME ,"wt");

    for(i=0;i < MAX; i++)
    {
    fputs(paZ[i],fp1);
    }
    fclose(fp1);
    return 0;
    }

    int TextDateiAnzeigen()
    {
    FILE* fp1;
    int i;
    char cArray[MAX];

    fp1 = fopen( SORTNAME ,"rt");

    printf("Ausgabe von Sort.txt :\n\n");

    for(i=0 ; i < MAX ; i++)
    {
    printf("%d : %s",i+1,(fgets(cArray,CHARMAX,fp1)));
    }

    fclose(fp1);

    return 0;
    }

    int FreeMemory(char* paZ[])
    {
    int i;

    for(i=0;i<MAX;i++)
    {
    free(paZ[i]);
    }
    return 0;
    }



    Re: Versuch 4 - leider nicht funktionsfähig !

    wastl - 21.06.2004, 23:59


    //Versuch 4 SS04 Eingabe-,Abspeichern- und Sortieren von Strings

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

    #define datei_eingabe "text.txt"
    #define datei_sort "sort.txt"
    #define MAXC 81
    #define MAXL 5

    char zeile[MAXC];

    char* pText;

    FILE *pDatei;

    int TextDateiErstellen(int i)
    {
    int t=0;
    printf("\n\tBitte Text eingeben....:\n");
    pDatei=fopen(datei_eingabe,"wt");
    pText=zeile;
    while(t<MAXL)
    {
    while((*pText=getchar())!='\n' && i<MAXC)
    {
    pText++;
    i++;
    }
    pText=zeile;
    //printf("Gelesen: %s Anzahl: %d\n",pText,i);
    while(i>=0)
    {
    fwrite(pText,1,sizeof(char),pDatei);
    pText++;
    i--;
    }
    pText=zeile;
    t++,i=0;
    }
    fclose(pDatei);
    return 0;
    }

    int TextDateiLesen(char* paZeile[])
    {
    int t,i=0,x=0;
    char* phelp;
    pDatei=fopen(datei_eingabe,"rt");
    pText=zeile;
    for(t=0;t<MAXL;t++)
    {
    while((fread(pText,1,sizeof(char),pDatei))!=0 && *pText!='\n')
    {
    pText++;
    i++;
    }
    *pText='\0';
    pText=zeile;
    //printf("Gelesen: %s\n",pText);
    paZeile[x]=(char*)calloc(i,sizeof(char));
    phelp=paZeile[x];
    x++;
    while((*phelp=*pText)!=0)
    {

    phelp++;
    pText++;
    }
    pText=zeile;
    i=0;
    }
    fclose(pDatei);
    return 0;
    }

    int TextArrayAnzeigen(char* paZeile[])
    {
    int i=0;
    while(i<MAXL)
    {
    printf("Inhalt Array: %s\n",paZeile[i]);
    i++;
    }
    return 0;
    }

    int TextArraySortieren(char* paZeile[])
    {
    int i=0,x=0;
    char* buffer;
    while(x<MAXL)
    {
    for(i=0;i<MAXL-1;i++)
    {
    if(strcmp(paZeile[i],paZeile[i+1])>0)
    {
    buffer=paZeile[i];
    paZeile[i]=paZeile[i+1];
    paZeile[i+1]=buffer;
    }
    }
    x++;
    }
    i=0;
    return 0;
    }

    int TextDateiSchreiben(char* paZeile[])
    {
    int i=0;
    pDatei=fopen(datei_sort,"wt");
    while(i<MAXL)
    {
    fprintf(pDatei,"%s\n",paZeile[i]);
    i++;
    }
    fclose(pDatei);
    return 0;
    }

    int TextDateiAnzeigen(int i)
    {
    char* pHelp;
    pHelp=zeile;
    pDatei=fopen(datei_sort,"rt");
    while(i<MAXL)
    {
    fscanf(pDatei,"%s",pHelp);
    printf("Gelesen: %s\n",pHelp);
    i++;
    }
    return 0;
    }

    int FreeMemory(char* paZeile[])
    {
    int i=0;
    while(i<MAXL)
    {
    free(paZeile[i]);
    i++;
    }
    return 0;
    }
    void main(void)
    {
    int i;
    char* paZeile[MAXL];
    TextDateiErstellen(i=0);
    TextDateiLesen(paZeile);
    TextArrayAnzeigen(paZeile);
    TextArraySortieren(paZeile);
    TextDateiSchreiben(paZeile);
    TextDateiAnzeigen(i=0);
    FreeMemory(paZeile);
    }



    Mit folgendem Code, können Sie den Beitrag ganz bequem auf ihrer Homepage verlinken



    Weitere Beiträge aus dem Forum Elektrotechnik-Forum

    Überlagerungssatz? - gepostet von Anonymous am Montag 24.04.2006
    Skript und Übungsaufgaben 2. Semester - gepostet von Manuel am Mittwoch 19.05.2004



    Ähnliche Beiträge wie "Versuch 4 - leider nicht funktionsfähig !"

    wiiki - ein versuch - dejost (Montag 29.01.2007)
    Nyrea - muss leider aussetzen - Nyrea (Dienstag 22.05.2007)
    Zahlenkette (1.Versuch) - trunks (Mittwoch 20.06.2007)
    Leider gibts noch immer schwarze Schafe auf der Wiese! - administrator (Dienstag 31.01.2006)
    Bin leider derzeit gesperrt!!! - champi (Donnerstag 24.05.2007)
    Missglückter Versuch - Aloc Acoc (Dienstag 26.12.2006)
    leider keine zeit - Final Fantasy (Mittwoch 18.07.2007)
    Pathfinder... - Gunship (Mittwoch 25.03.2009)
    Ich starte einen neuen Versuch - Angelika (Montag 27.11.2006)
    Leider nicht mehr los hier - steffie85 (Freitag 12.01.2007)