HTML Seiten erstellen lassen.



  • DeKlu schrieb:

    ... aber wenn ich den so in die for schleife packe, stürzt mir das programm main.exe ab.

    DA fehlt nja noch was.

    DeKlu schrieb:

    Hast du dies bei dir mal getestet ?

    Nein. Aber daran liegt es nicht.

    DeKlu schrieb:

    oder könntest du mir mal die komplette for schleife als code geben, sodass ich die mal testen kann?

    Nö. Das musst du selber machen. Es ist deine Aufgabe.

    einen Bildname aus datei.txt einlesen
    dateinamen für Ausgabedatei zusammenbauen
    dateien=fopen(dateiname,"w");  // Test auf Erfolg nicht vergessen
    fprintf(dateien,"<html><head><title>Bilder</title></head><body bgcolor=black><img src=%s></html>", Filecontent); 	// Wo kommt jetzt Filecontent her??
    fclose(dateien);
    


  • Ok. ich werde es morgen nochmal versuchen, den Code zu schreiben. Habe jetzt nicht mehr den Kopf dafür.

    Falls ich gar nicht drauf komme, würdest du mir helfen beim Code. Bräuchte das für ein Testat um bei einer Klausur mitschreiben zu können ?

    Ich würde mich dann morgen früh nochmal melden, wenn du mir hier nochmal helfen könntest ?

    DirkB schrieb:

    DeKlu schrieb:

    ... aber wenn ich den so in die for schleife packe, stürzt mir das programm main.exe ab.

    DA fehlt nja noch was.

    DeKlu schrieb:

    Hast du dies bei dir mal getestet ?

    Nein. Aber daran liegt es nicht.

    DeKlu schrieb:

    oder könntest du mir mal die komplette for schleife als code geben, sodass ich die mal testen kann?

    Nö. Das musst du selber machen. Es ist deine Aufgabe.

    einen Bildname aus datei.txt einlesen
    dateinamen für Ausgabedatei zusammenbauen
    dateien=fopen(dateiname,"w");  // Test auf Erfolg nicht vergessen
    fprintf(dateien,"<html><head><title>Bilder</title></head><body bgcolor=black><img src=%s></html>", Filecontent); 	// Wo kommt jetzt Filecontent her??
    fclose(dateien);
    


  • Hi Dirk,

    ich glaube ich habs fast geschafft. Ging mir jetzt doch nicht aus dem Kopf. Er erstellt mir jetzt auf jeden fall schonmal mehrere HTML Dateien, allerdings habe ich noch einen kleinen Fehler drin und zwar schreibt er mir immer von der Text File die 1. Zeile in den HTML Code.
    Auch bei CMD gibt er mir nur die 1. Zeile von der Text Datei aus. Nur ich komme gerade nicht drauf wo der Fehler ist. Kannst du nochmal drüber schauen ?

    double dateiname[100];
    
    dateien=fopen("dateien.txt","r");  // dateien.txt zum lesen
    
    for (i=0; i<13; i++)
    {
    	fscanf(dateien,"%s", FileContent); // mit fscanf den ersten String in dateien auslesen
    	printf("%s\n", FileContent);  // und über printf auf die Kommandozeile ausgeben
    	sprintf(dateiname, "Bild%03d.html",i);
    	dateien=fopen(dateiname,"w");
    	fprintf(dateien,"<html><head><title>Bilder</title></head><body bgcolor=black><img src=%s></html>", FileContent);
    	fclose(dateien);   // Die Datei schließen
    }
    scanf("%s");
    // damit das Konsolenfenster offen bleibt.
    return 0;
    }
    

    DirkB schrieb:

    DeKlu schrieb:

    ... aber wenn ich den so in die for schleife packe, stürzt mir das programm main.exe ab.

    DA fehlt nja noch was.

    DeKlu schrieb:

    Hast du dies bei dir mal getestet ?

    Nein. Aber daran liegt es nicht.

    DeKlu schrieb:

    oder könntest du mir mal die komplette for schleife als code geben, sodass ich die mal testen kann?

    Nö. Das musst du selber machen. Es ist deine Aufgabe.

    einen Bildname aus datei.txt einlesen
    dateinamen für Ausgabedatei zusammenbauen
    dateien=fopen(dateiname,"w");  // Test auf Erfolg nicht vergessen
    fprintf(dateien,"<html><head><title>Bilder</title></head><body bgcolor=black><img src=%s></html>", Filecontent); 	// Wo kommt jetzt Filecontent her??
    fclose(dateien);
    

  • Mod

    Zeilen 3, 10 und 12 sind inkonsistent.

    PS: Und Zeile 14 ist totaler Müll. Schalte Compilerwarnungen an und behandle jede Warnung wie einen Fehler!



  • Hi Sepp,

    das Zeile 14 Müll ist, habe ich auch bereits gemerkt. Das habe ich schon rausgeschmissen aus meinem Code.
    Leider check ich immer noch nicht was ich bei meinem Code verbessern muss sodass es funktioniert. Könntest du eventuell meinen Code verbessern ? (habe noch nicht viel Erfahrung in C)
    Wäre super dankbar oder ist das alles mist wie ich es bisher gemacht habe ?

    SeppJ schrieb:

    Zeilen 3, 10 und 12 sind inkonsistent.

    PS: Und Zeile 14 ist totaler Müll. Schalte Compilerwarnungen an und behandle jede Warnung wie einen Fehler!


  • Mod

    DeKlu schrieb:

    Wäre super dankbar oder ist das alles mist wie ich es bisher gemacht habe ?

    Was hast du denn gemacht? So wie ich das sehe, hast du verschiedene Codestücke zusammenkopiert, ohne irgendeinen Plan zu haben, wie ein Programm strukturiert ist. Das ist nicht, wie man programmiert. Und es ist auch genau das Problem bei deinem jetzigen Programm: Du hast jeweils ein paar Zeilen aus unterschiedlichen Programmen zusammengeworfen und hoffst nun, dass das funktioniert, obwohl die Reihenfolge des Ablaufs überhaupt keinen Sinn macht.

    Versetz dich mal in die Rolle eines Computers, der dein Programm abarbeitet. Vollzieh dein Programm Schritt für Schritt nach. Schreib die Werte von Variablen auf, falls du sie dir nicht merken kannst. Dann findest du sehr bald die Fehler in der Logik und es sollte auch klar werden, wie man diese beheben kann. Geh dabei gründlich vor! Tu jeweils genau das, was da steht, nicht das was du denkst, was da steht. Denn nichts anderes tut der Computer. Der Computer kennt nicht deine Absichten, sondern nur den Code. Diesen führt er ganz genau so aus, wie er da steht.



  • Ok danke für die Aufklärung.
    Aber ich tu es einfach nicht raffen wie es funktionieren soll ...
    Kannst du mir nicht mal helfen mit dem Code wenn du weisst wie es geht ?
    Bräuchte das dringend für ein Testat um eine Prüfung mitschreiben zu können. Das wäre das letzte Testat von 10.. Alle anderen habe ich bestanden. Nur an diesem sitze ich nun seit mehreren Tagen und komme nun absolut nicht mehr weiter.
    Dachte gestern zumindest ich hatte ein kleinen Erfolg aber den hast du gerade zunichte gemacht xD

    SeppJ schrieb:

    DeKlu schrieb:

    Wäre super dankbar oder ist das alles mist wie ich es bisher gemacht habe ?

    Was hast du denn gemacht? So wie ich das sehe, hast du verschiedene Codestücke zusammenkopiert, ohne irgendeinen Plan zu haben, wie ein Programm strukturiert ist. Das ist nicht, wie man programmiert. Und es ist auch genau das Problem bei deinem jetzigen Programm: Du hast jeweils ein paar Zeilen aus unterschiedlichen Programmen zusammengeworfen und hoffst nun, dass das funktioniert, obwohl die Reihenfolge des Ablaufs überhaupt keinen Sinn macht.

    Versetz dich mal in die Rolle eines Computers, der dein Programm abarbeitet. Vollzieh dein Programm Schritt für Schritt nach. Schreib die Werte von Variablen auf, falls du sie dir nicht merken kannst. Dann findest du sehr bald die Fehler in der Logik und es sollte auch klar werden, wie man diese beheben kann. Geh dabei gründlich vor! Tu jeweils genau das, was da steht, nicht das was du denkst, was da steht. Denn nichts anderes tut der Computer. Der Computer kennt nicht deine Absichten, sondern nur den Code. Diesen führt er ganz genau so aus, wie er da steht.



  • dateien=fopen("dateien.txt","r");  // dateien.txt zum lesen
    ...
    dateien=fopen(dateiname,"w");
    

    Welche Datei wird mit dem Filedeskriptor dateien verwaltet?
    "dateien.txt" oder dateiname?



  • dateien.txt wird verwaltet.
    D.H. ich brauch noch einen 2. Filedeskriptor oder wie meinst du das ?
    Kann ich denn den geschriebenen Code den ich bisher geschrieben habe weiter verwenden oder ist das Müll ?

    Würde mich echt freuen, wenn Ihr mir bisschen mehr helfen könntet und eventuell den Code verbessern könntet 😞

    DirkB schrieb:

    dateien=fopen("dateien.txt","r");  // dateien.txt zum lesen
    ...
    dateien=fopen(dateiname,"w");
    

    Welche Datei wird mit dem Filedeskriptor dateien verwaltet?
    "dateien.txt" oder dateiname?



  • DeKlu schrieb:

    dateien.txt wird verwaltet.

    Falsch.
    Das ist wie bei

    i=3;
    ..
    i=5;
    

    Welchen Wert hat i am Ende?

    DeKlu schrieb:

    D.H. ich brauch noch einen 2. Filedeskriptor oder wie meinst du das ?

    Ja, brauchst du.
    Woher soll der Compiler sonst wissen, welchen du meinst.

    DeKlu schrieb:

    Würde mich echt freuen, wenn Ihr mir bisschen mehr helfen könntet und eventuell den Code verbessern könntet

    Wir helfen gerne, aber wir machen nicht deine Hausaufgaben.

    Nimm selbsterklärende Variablennamen, benutze Funktionen, entscheide dich für einen Einrückungsstil und wende den auch an.

    Wenn du Code mehr als zweimal per Copy&Paste einfügst und nur geringe Sachen daran änderst, ist das ein Zeichen dafür eine Funktion und/oder Schleife zu nehmen.



  • habs geschafft.
    danke für die Hilfe. ein 2. Filedeskriptor war ausreichend und funktioniert nun alles.
    Ja ich weiss ja das ihr nicht dafür da seit um meine Hausaufgaben zu machen aber manchmal wenn man komplett auf dem Schlauch steht ist es ganz hilfreich mal wieder ein paar Denkanstösse zu bekommen.

    Das mit dem 2. Filedeskriptor war ausschlaggebend. Danke!

    DirkB schrieb:

    DeKlu schrieb:

    dateien.txt wird verwaltet.

    Falsch.
    Das ist wie bei

    i=3;
    ..
    i=5;
    

    Welchen Wert hat i am Ende?

    DeKlu schrieb:

    D.H. ich brauch noch einen 2. Filedeskriptor oder wie meinst du das ?

    Ja, brauchst du.
    Woher soll der Compiler sonst wissen, welchen du meinst.

    DeKlu schrieb:

    Würde mich echt freuen, wenn Ihr mir bisschen mehr helfen könntet und eventuell den Code verbessern könntet

    Wir helfen gerne, aber wir machen nicht deine Hausaufgaben.

    Nimm selbsterklärende Variablennamen, benutze Funktionen, entscheide dich für einen Einrückungsstil und wende den auch an.

    Wenn du Code mehr als zweimal per Copy&Paste einfügst und nur geringe Sachen daran änderst, ist das ein Zeichen dafür eine Funktion und/oder Schleife zu nehmen.


Anmelden zum Antworten