textdokument erstellen und bearbeiten in C++



  • kann mir wer sagen warum mein kompiler immer ein 'include<*****.h> bruacht und using namespce std: nicht kennt? ist das weil er uralt ist????



  • Entweder ist der Compiler uralt oder aber du hast dir einen nativen C-Compiler runtergeladen.

    Wenn ich dir Compiler vorstellen darf, dann wären es diese hier:

    Beide sind gut, und Code::Blocks kannst du auch auf Linux benutzen, wohingegen VC++ Plattform spezifisch ist(MS).



  • Code::Blocks ist gar kein Compiler und auf so gut wie jedem aktuellen Linux ist ein aktueller C++ Compiler dabei (den man mit Code::Blocks benutzen kann) 😉



  • brotbernd schrieb:

    Code::Blocks ist gar kein Compiler und auf so gut wie jedem aktuellen Linux ist ein aktueller C++ Compiler dabei (den man mit Code::Blocks benutzen kann) 😉

    Uh... hmm nja bei mir funktioniert es, weil ich schon dutzende Compiler installiert hatte 😉

    Es wäre hilfreich zu wissen, mit was für einem System der Fragensteller programmiert.



  • Walnut_Burl schrieb:

    brotbernd schrieb:

    Code::Blocks ist gar kein Compiler und auf so gut wie jedem aktuellen Linux ist ein aktueller C++ Compiler dabei (den man mit Code::Blocks benutzen kann) 😉

    Uh... hmm nja bei mir funktioniert es, weil ich schon dutzende Compiler installiert hatte 😉

    Es wäre hilfreich zu wissen, mit was für einem System der Fragensteller programmiert.

    Nur um das klarzustellen, es handelt sich um eine IDE (mit integriertem Compiler).



  • Walnut_Burl schrieb:

    tuni schrieb:

    sorry aber ich kenn mich halt wirklich nicht sehr gut aus 😃

    Das wird, wenn du weiter am Ball bleibst mit der Zeit kommen. Ich zum Beispiel lerne auch erst seit ca. 1-2 Monaten C++ und kann meines Erachtens schon relativ viel 😃

    1 Jahr + 5 Monate

    *Trollpost 😃 #1*



  • Tim06TR schrieb:

    Walnut_Burl schrieb:

    tuni schrieb:

    sorry aber ich kenn mich halt wirklich nicht sehr gut aus 😃

    Das wird, wenn du weiter am Ball bleibst mit der Zeit kommen. Ich zum Beispiel lerne auch erst seit ca. 1-2 Monaten C++ und kann meines Erachtens schon relativ viel 😃

    1 Jahr + 5 Monate

    *Trollpost 😃 #1*

    😃
    Sollte man vielleicht mal einen Thread aufmachen, bei dem jeder (der möchte) angibt wie lange er schon welche Programmiersprache ausübt?
    Ich fänd diese Idee ganz nett 😉



  • funktioniert der fstream eigentlich nur mit .txt dateien oder kann ich damit auch wild in .doc's etc. reinschreiben? xD



  • logo geht das ... die Endung sagt zum Großteil ja nur aus, mit welchem Programm es geöffnet werden soll. Ob das, was dann angezeigt wird, schön ist, mag mal dahin gestellt sein, aber bei docs gibts da keine Probleme.



  • BasicMan01 schrieb:

    soll. Ob das, was dann angezeigt wird, schön ist, mag mal dahin gestellt sein, aber bei docs gibts da keine Probleme.

    Doch, zumindest wenn er mit einer doc-Datei eine Worddatei meint. Diese sind speziell formatiert.



  • Ok gibt es auch noch Formatierungsmöglichkeiten, wenn man z.b. etwas in eine exceltabelle schreibt:
    welche spalte, spaltenbreite, etc...



  • Hallo Forumsgemeinde,

    ich heiße Tobias und wollte euch an dieser Stelle um Hilfe bitten. Da es um das o.g. Thema geht, mache ich hier einfach mal weiter. Hoffe das ist ok.

    Für´s Sudium muss ich ein Pflichtprogramm schreiben, stehe nun aber vor einem Problem, welches ich nicht gelöst bekomme.

    Wir sollen 10 Zahlen einlesen, sortieren (Insertion Sort) und in einer Datei ausgeben. Neben der eingegebenenen Reihenfolge am Anfang der Textdatei und der sortierten Reihenfolge am Ende soll mittendrin nun sinngemäß folgendes stehen:
    Die Zahl X wurde an der Xten Stelle eingetragen.

    Habe zuerst versucht einfach mit outfile <<... weiter zu machen, wie zuvor auch - Fehler
    Also versucht die zu erstellende Text-Datei in der Funktion ein weiteres Mal zu öffnen und den genannten Text auszugeben, dann wird aber mein zuerst eingegebener Text gelöscht. Wie kann ich dieses Problem umgehen?

    Schonmal vielen Dank für eure Hilfe

    Tobias

    Anbei mal der Quellcode

    #include <iostream.h>
    #include <fstream>
    using namespace std;
    
    int main(void)
          {
          int Zahlen[10],x,z;
          void insertionsort(int x[],int anzahl_zahlen);
          std::ofstream outfile;                        
          outfile.open("Protokoll.txt");                    /*öffnen der Protokoll-Datei,damit Daten automatisch eingetragen werden können*/
          outfile << "Ausgangsdaten : " << std::flush;
          cout<<"Bitte geben Sie 10 Zahlen ein : "<<endl;
          for(x=0;x<10;x++)
                     { 
                     cout<<"Zahl "<<x+1<<": "<<flush;
                     cin>>Zahlen[x]; 
                     outfile << Zahlen[x]<< " "<<std::flush;
                     }
          outfile << " "<<std::endl;
          outfile << " "<<std::endl;
          insertionsort(Zahlen,10);     /*Aufruf der Insertionsort-Funktion nachdem 10 Zahlen eingegeben wurden. Übergeben wird das Feld mit 10 Zahlenwerten*/
          cout<<endl<<"Hier nun die Zahlen, sortiert von klein nach gross"<<endl;      
          outfile << "Sortierte Daten : " <<  std::endl;
          for(x=0;x<10;x++)
          {
          cout<<"Zahl "<<x+1<<": "<<Zahlen[x]<<endl;  /*Ausgabe der sortierten Zahlen, nachdem sie die Funktion durchlaufen haben*/
          outfile << Zahlen[x] << " " << std::flush;
          }
          outfile << " "<<std::endl;
          outfile << " "<<std::endl;
    
      outfile.close();
      return 0;
    
          cin>>z;                          /*Hilfe, damit das DOS-Fenster nicht gleich wieder schliesst*/
          }
    
    /*Hier beginnt die ausgelagerte Insertionsort-Funktion*/
    
          void insertionsort(int x[],int anzahl_zahlen)  /*In dieser Funktion wird nun sortiert*/
          {
          int Vergleichszahl,i;
    
          for(int j=1;j<anzahl_zahlen;j++)      
          {
          Vergleichszahl=x[j];                  /*j=1, weil die 2. eingegebene Zahl also X[1] mit der ersten X[0]verglichen wird*/
          i=j-1;
    
          while(x[i]>Vergleichszahl && i>=0)    /*ab hier vergleich immer weiter nach unten, d.h. 6. Eingabe wird mit 5.,4.,3.,2. etc verglichen. Ist x[i]>Vergleichszahl nicht mehr erfüllt, geht die for Schleife mit folgendem Befehl weiter x[i+1]=Vergleichszahl; */
          {
          x[i+1]=x[i];
          i--;
          }
          x[i+1]=Vergleichszahl;
          }
          }
    


  • c-men schrieb:

    Ok gibt es auch noch Formatierungsmöglichkeiten, wenn man z.b. etwas in eine exceltabelle schreibt:
    welche spalte, spaltenbreite, etc...

    Und ob ASCII, UTF8 oder gar (z.B. PDFs) als Informationen die nichts mehr mit dem eigentlichen Text zu tun haben. Menschenlesbar sind die Formate von Word und Excel jedenfalls nicht. Mit fstream wird man jedenfalls keinen Erfolg haben, wenn man die Formatierung nicht kennt. Zumindest wenn das Dokument auch noch vom entsprechenden Programm gelesen werden soll.



  • Tobias_Hessen schrieb:

    ...Da es um das o.g. Thema geht, mache ich hier einfach mal weiter. Hoffe das ist ok...

    Eigentlich sollte man für jede neue Problematik ein neues Thema erstellen (und auch wenn dein Problem mit der gleichen Thematik zu tun hat, ist es aber ein Anderes).



  • asc schrieb:

    BasicMan01 schrieb:
    soll. Ob das, was dann angezeigt wird, schön ist, mag mal dahin gestellt sein, aber bei docs gibts da keine Probleme.

    Doch, zumindest wenn er mit einer doc-Datei eine Worddatei meint. Diese sind speziell formatiert.

    OK, wenn man eine bestehende beschreiben will. Aber zur Neuanlage dürfte es da keine Probleme mit Plaintext geben *nachdenk*

    c-men schrieb:

    Ok gibt es auch noch Formatierungsmöglichkeiten, wenn man z.b. etwas in eine exceltabelle schreibt:
    welche spalte, spaltenbreite, etc...

    Des seh ich etwas pessimistisch. du kannst CSV-Files anlegen und da entsprechend Spalten und Zeilen zusammenstellen, die dann im Excel mit entsprechenden Befehlen richtig angezeigt werden (keine Formatierung). Auch kannst du im XML-Format was zusammenstellen. Dort dürften auch Formatierungen zulässig sein. (http://en.wikipedia.org/wiki/Microsoft_Office_XML_formats)
    Aber fstream scheint mir da eher zu umständlich. Vielleicht gibts irgendwelche Bibliotheken für sowas.



  • asc schrieb:

    Tobias_Hessen schrieb:

    ...Da es um das o.g. Thema geht, mache ich hier einfach mal weiter. Hoffe das ist ok...

    Eigentlich sollte man für jede neue Problematik ein neues Thema erstellen (und auch wenn dein Problem mit der gleichen Thematik zu tun hat, ist es aber ein Anderes).

    Hallo nochmal, kann man den Beitrag dann ggf. löschen? Dann stelle ich die Frage nochmal neu - sorry...

    Grüße

    Tobias


Anmelden zum Antworten