Hallo Leute brauche dringend Hilfe..



  • folgendes Prob.
    Schreib morgen Prüfung.
    Als Tipp hat unser Dozent uns folgende Aufgabenstellung gegeben.

    (Datei bearbeitung)
    I
    [ Datei öffnen ]
    I
    ^
    -------→< Datei Ende erreicht?→Ja-------
    I Inein I
    I [Daten lesen] [Datei schließen]
    I I (Ende)
    I [DAten bearbeiten]
    I I
    I [Ergebniss --> Zieldatei]
    I I
    --------------------

    Sinn soll sein eine Datei zu öffnen in der was lesen bis ende erkannt wird und des gelesene in die 2 Datei zu speichern.

    Hier mein Ansatz:

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

    void main (void)

    {

    File *datei1;

    datei1=fopen ("test.abc", "r");

    while (!feof(datei1))
    {fscanf(datei1,"%f", &zahl);

    fprintf(datei2;"%f"/n",zahl);
    }
    fclose (datei1);
    }

    Meine Frage habt ihr sowas in der Richtung schon gemacht oder sogar ne musterlösung?

    Danke im Voraus



  • 1. Frage
    Wo hast du die Variabel 'zahl' deklariert?

    2. Frage
    Du hast modus auf "r" gestellt. D.h. du kannst nichts reinschreiben, nur lesen.
    Wie soll dann

    fprintf(datei2;"%f"/n",zahl);
    

    funktionieren?

    Ich bin selber kein C Profi, aber schau dir nochmal deine Funktionen an und überleg was sie genau machen



  • Naja Musterlösungen neigen meistens dazu, das die Leute ihren Code nicht studieren sondern rauskopieren und dann ein Programm haben das funktioniert, doch man weiss ned warum.

    Musterlösung:
    (Liest eine Datei, die man selber auswählen kann)

    #include <stdio.h>
    #include <stdlib.h>
    
    /*
     * @author Mustafi Kastriot
     * Date  12.02.2008
     *
     * File  fileread.c
     * 
     * Description
     * Datei lesen
     * 
     */
    
    int neue_zeile(int wert)
    {
    	int x;
    	for(x = 1; x <= wert; x++)
    	{
    		printf("\n");
    	}
    }
    
    int main()
    {
    	FILE *file_ptr;
    	char file_name[100];
    
    	int ch;
    
    	printf("filename > ");
    	gets(file_name);
    
    	file_ptr = fopen(file_name, "r");
    
    	if(file_ptr == NULL)
    	{
    		printf("Error");
    		neue_zeile(1);
    		exit(1);
    	}
    
    	ch = fgetc(file_ptr);
    	while(!feof(file_ptr))
    	{
    		putchar(ch);
    		ch = fgetc(file_ptr);
    	}
    
    	fclose(file_ptr);
    
    	system("PAUSE");
    	return 0;
    }
    


  • Wie gesagt ich, schreib die Prüfung morgen. Für C zu lernen ist da also nicht mehr viel Zeit.



  • Das Leben ist hart.
    Ich glaube Gärtner werden wieder viele gesucht? oder Bäcker.
    Obwohl.. Bäcker ist ziemlich hart so früh aufzustehen, da ist mir eine Prüfung mit solch einer Aufgabe lieber.

    Huch..



  • Naja Bäcker will ich ah net werden 😃 😃 dann versuch ich noch durch zublicken


Anmelden zum Antworten