Ergebnis in Text-Dokument speichern



  • Hallo Community,

    Über die Suchfunktion wurde ich leider nicht fündig.

    Ich will mir gerade ein kleines Programm schreiben welches mir für ein Manager-Spiel helfen soll.
    Bisher musste ich jedesmal die gewünschte Formel in den Taschenrechner eintippen.
    Darum kam mir die Idee ich schreib mir ein Programm und gib nurmehr die einzelnen Paramter ein, der Rest wird dann automatisch berechnet.
    Die einzelne Berechnung funktioniert soweit auch ohne Probleme.
    Jetzt wollte ich mir die Rechenergebnisse in eine Text-Datei reinspeichern.
    Ich hab mich zu diesem Thema über die Seite https://www.tutorials.at/c/13-strukturen-dateizugriff.html#DateiOeffnen eingelesen und dann probiert dies umzusetzen.

    #include <stdio.h>
    #include <cstdlib>
    #include <string.h>
    
    void Werteeinlesen (FILE *datei)
    {
    	char buffer[80] = "";
        int staerke=0, form=0, erfahrung=0;
    	float sef_wert=0;
    	printf ("Geben Sie die Werte aller Teams ein. Das Programm berechnet die SEF-Werte und gibt.\n");
    	printf ("diese in einer Tabelle aus\n");
    
    	for (int i=1; i<=2; i++)
    	{
    	printf("Teamwerte des %d Teams.\n", i);
    	printf("Staerke: ");
    	scanf("%2d", &staerke);
    
    	printf("Erfahrung: ");
    	scanf("%2d", &erfahrung);
    
    	printf("Form: ");
    	scanf("%2d", &form);
    
    	sef_wert = staerke * 0.6 + erfahrung * 0.2 + form * 0.2;
    	}	
    	fputs (buffer, stdout);
    }
    
    void Werteausgeben (FILE *datei)
    {
    	char buffer[80] = "";
    	float sef_wert;
    	sef_wert = fputs (buffer, datei);
    }
    
    int main() {
    
    	FILE *datei;
    	const char DATEINAME[] = "Tabelle.txt";
    
    	datei = fopen(DATEINAME, "r+");
    
    	Werteeinlesen(datei);
        Werteausgeben(datei);
    
    	fclose (datei);
    
    	//printf("\nIhre Teamwerte sind: \nStaerke:%2d \nErfahrung:%2d \nForm:%2d", staerke, erfahrung, form);
    
    	//sef_wert = staerke * 0.6 + erfahrung * 0.2 + form * 0.2;
    	//printf("\n\nIhr SEF-Wert ist: %.1f\n", sef_wert);
    
    	system ("PAUSE");	
    	return 0;
    }
    

    Ich weiß das ich das Ergebnis des SEF-Werts noch immer überschreibe, allerdings will ich zuerst die Ergebnisse in die txt Datei reinschreiben können.
    Das Programm lässt sich auch problemlos durchführen und legt die txt Datei an.
    Einzig und allein reingeschrieben wird nichts.
    Liegt der Fehler bei der Berechnung an sich oder beim meiner Verwendung der fputs/fgets Funktion?

    Würde mich über Hilfe freuen, ev. hat jemand eine Ahnung woran es scheitert.

    Danke,
    Sour-Fox



  • Du willst du nicht im ernst erzählen, dass man im ganzen Internet keinen Beispielcode findet wie man eine Textdatei erzeugt?! Wie kann man so faul sein...

    Schau dir mal fopen und fputs genauer an...
    Was soll das denn genau sein:

    {
        char buffer[80] = "";
        float sef_wert;
        sef_wert = fputs (buffer, datei);
    

    Buffer ist leer?!



  • C oder C++?



  • Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C++ (alle ISO-Standards) in das Forum C (alle ISO-Standards) verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.


Anmelden zum Antworten