Funktionswerte In Textdatei speichern

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Funktionswerte In Textdatei speichern

    Hallo...ich schreibe gerade an einem Programm welches bestimmte Funktionswerte in einer Textdatei speichern soll.
    aber irgendwie klappts nicht
    bin leider noch Anfänger :roll:

    Aufgabenstellung ist folgende:
    speichern der Wertepaare in einer Textdatei auf folgende Weise:
    i+1. Datensatz: i x y |mw-y|

    der 1. datensatz beinhaltet den Definitionsbereich xvon xbis Schrittweite
    Eingabe des Dateinamens über Tastatur.

    soweit bin ich bis jetzt:


    Quellcode

    1. #include <stdio.h>
    2. #include <conio.h>
    3. #include <math.h>
    4. #include <stdlib.h>
    5. void main() {
    6. double x, y, a;
    7. double Summe = 0, n = 0;
    8. printf("%50s\n\n", "ROCKWELL-HAERTEMESSUNG");
    9. printf("%55s\n\n", "Tabelle der Fkt. f(x)=100-(x/0.002)");
    10. printf("%49s\n\n", "x = Eindringtiefe in mm");
    11. printf("%50s\n\n", "f(x) = Rockwellhaerte HRC");
    12. for( x=0.1; x < 0.2; x += 0.003, n++ )
    13. {
    14. y = 100-(x/0.002);
    15. Summe += y;
    16. }
    17. printf(" Mittelwert: %.3f\n", Summe/n );
    18. printf("%18s%18s%22s\n", "x", "f(x)", "Abstand");
    19. for( x=0.1; x < 0.2; x += 0.003)
    20. {
    21. y = 100-(x/0.002);
    22. a = fabs((Summe/n)-y);
    23. printf("%20.3f %16.3f %20.3f\n", x, y, a);
    24. FILE *fp;
    25. int i;
    26. char name[10];
    27. printf("Dateiname:");scanf("%s",name);
    28. fp=fopen("datei.txt","w");
    29. if(fp==NULL)
    30. {printf("Error:Dateieröffnung\n");getch();
    31. for( x=0.1; x < 0.2; x += 0.003, i++ );
    32. {
    33. printf("%s.Datensatz:",i);
    34. scanf("%f%f%f", &x, &y , &a);
    35. fprintf (fp,"%f%f%f\n", x, y, a);
    36. }
    37. fclose (fp);
    38. getch();
    39. }
    40. }
    41. }
    Alles anzeigen


    kann mir jemand weiterhelfen?
  • Quellcode

    1. #include <stdio.h>
    2. #include <conio.h>
    3. #include <math.h>
    4. #include <stdlib.h>
    5. int main() {
    6. double x, y, a;
    7. double Summe = 0, n = 0;
    8. printf("%50s\n\n", "ROCKWELL-HAERTEMESSUNG");
    9. printf("%55s\n\n", "Tabelle der Fkt. f(x)=100-(x/0.002)");
    10. printf("%49s\n\n", "x = Eindringtiefe in mm");
    11. printf("%50s\n\n", "f(x) = Rockwellhaerte HRC");
    12. for( x=0.1; x < 0.2; x += 0.003, n++ ) {
    13. y = 100-(x/0.002);
    14. Summe += y;
    15. }
    16. printf(" Mittelwert: %.3f\n", Summe/n );
    17. printf("%18s%18s%22s\n", "x", "f(x)", "Abstand");
    18. FILE *fp;
    19. fp = fopen("c://test.txt","w");
    20. if(fp==NULL) {
    21. printf("Error: Dateieroeffnung");
    22. return 0;
    23. }
    24. for( x=0.1; x < 0.2; x += 0.003) {
    25. y = 100-(x/0.002);
    26. a = fabs((Summe/n)-y);
    27. printf("%20.3f %16.3f %20.3f\n", x, y, a);
    28. fprintf(fp, "%20.3f %16.3f %20.3f\n", x, y, a);
    29. }
    30. fclose (fp);
    31. return 0;
    32. }
    Alles anzeigen


    Zwar keine fertige Lösung, aber hiermit bekommst du schonmal die Daten in die Textdatei geschrieben.

    BTW. Zeichenketten (Strings ( char[] )) besser mit puts() und gets() aus- und eingeben.
  • leider komm ich bei der Formatierung für die Textdatei gar nicht weiter...

    i + 1. Datensatz: i x y a

    wobei der 1. Datensatz den Definitionsbereich xvon xbis beinhalten soll


    Quellcode

    1. FILE *fp;
    2. char name[40];
    3. printf("Dateiname:");scanf("%s",name);
    4. fp = fopen(name,"w+");
    5. if(fp==NULL) {
    6. printf("Error: Dateieroeffnung");
    7. return 0;
    8. }
    9. for( x=0.1; x < 0.2; x += 0.003) {
    10. y = 100-(x/0.002);
    11. a = fabs((Summe/n)-y);
    12. printf("%20.3f %16.3f %20.3f\n", x, y, a);
    13. fprintf(fp, "%20.3f %16.3f %20.3f\n", x, y, a);
    14. }
    15. fclose (fp);
    16. return 0;
    17. }
    Alles anzeigen


    kann mir bitte jemand weiter helfen?