String erstellen



  • huhu zusammen 🙂

    ich versuche die ganze zeit ein String zuschaffen aber irgendwie klappt das nicht ... ich habe sämtliche Tutorials oder auch Videos durchsucht und kriege es einfach nicht hin ... vll könntet ihr mir ja helfen wie das geht

    Mein Code :

    #include <stdio.h>
    #include <stdlib.h>
    #include "main.h"
    #include <string>
    
    using namespace std;
    
    int main(int argc, char *argv[])
    {
        string Test;
        scanf("%s", &Test);
        printf("%s", Test);
    
        system("PAUSE");
        getch();
        return 0;
    }
    


  • Hm, erst mal eine Grundsatzfrage - willst du C oder C++ programmieren?
    Das ist bei Strings ein deutlicher Unterschied, wenn du die Möglichkeiten der Sprachen nutzt.

    Und benötigst du den:

    #include "main.h"
    

    😕

    MfG f.-th.



  • c++ und vergessen main.h rauszunehmen 😃



  • C++ header wären dann <cstdio> oder auch <cstdlib>. Aber trotzdem sind es alte C Header. scanf() mit "%s" erwartet übrigens einen Zeiger auf freien Speicher, den lieferst du aber nicht. Also zusammengenommen scheinst du so ziemlich gar nichts verstanden zu haben. Sorry wenn ich das so deutlich sage, aber der Code da ist einfach unglaublich falsch. 😉
    Aber na gut, Eingabe läuft in C++ eher über Streams, das sieht dann so aus:

    #include <iostream>
    #include <string>
    
    int main()
    {
      std::string s;
      std::cin >> s;
      std::cout << s;
    }
    

  • Mod

    Trekarraz schrieb:

    c++ und vergessen main.h rauszunehmen 😃

    #include <iostream> // statt stdio.h
    #include <cstdlib>  // statt stdlib.h
    // #include "main.h"
    #include <string>
    
    using namespace std;
    
    int main(int argc, char *argv[])
    {
        string Test;
        cin >> Test;
        cout << Test;
    
        system("PAUSE");  // Guck mal in FAQ für Alternativen
        // getch();       // Wozu?
        // return 0;      // In C++ in main implizit
    }
    

    Und letzter Tipp: Keine Internettutorials für Grundlagen benutzen. Da kommt nur halbgarer, verworrener Mist bei rum und du bist ein Paradebeispiel dafür. Siehe FAQ für Buchtipps.



  • hmmmmm schon mal danke das ich jetzt weiss das ich in der schule nur scheiße lerne 😕
    hab jetzt mal probiert wie ihr es gemacht habt aber es kommt ständig ein fehler auf :S
    und zwar sollen die beiden Dateien string und iostream nicht vorhanden sein ...
    liegt das jetzt daran das ich die daten wirklich nicht hab 😕



  • Trekarraz schrieb:

    und zwar sollen die beiden Dateien string und iostream nicht vorhanden sein

    Welchen Compiler nutzt du? Bist du dir sicher, dass du C++ und nicht C lernen sollst?
    Probier mal:

    #include <stdio.h>
    
    int main(void)
    {
      char buf[100] = {0};
      scanf("%99s", buf);
      puts(buf);
      return 0;
    }
    


  • omg das funktioniert ...
    aber ich bin mir sicher das ich C++ lernen soll weil ich schon seid nen halbes Jahr dabei C++ zulernen und die lehrer sagen auch immer C++ und das wurde auch schon 1000 mal gefragt -.- jetzt werd ich langsam wütend auf meine lehrer -.-



  • Du hast die Frage nach dem Compiler nicht beantwortet. 😉
    Im Falle von GCC gibt es nämlich den gcc (C) und den g++ (C++) Compiler. Kompilierst du über die Konsole oder nutzt du eine IDE? Wenn ja welche?

    PS: Du wirst langsam wütend auf deine Lehrer? Keine Sorge, ich kann dir versichern, das ist ganz normal.



  • ich nutze Dev-C++ Ver. 4.9.9.2
    und compiler ... keine ahnung wo ich das nachgucken kann bei mir steht nur unter compiler : Default Compiler



  • Dein DEV-IDE hat meist den MinGW 3.4.2 oder 3.4.5 als Compiler. Der basiert auf dem gcc und ist inzwischen ein wenig älter.

    Aber, wenn du nicht eine extrem angepasste Version nutzt müsste selbst dieses alte Entwicklungssystem mit den Headern klar kommen. Oder habt ihr da etwas so eingestellt das alle Quelltexte als C interpretiert werden?

    Wenn du mal neuere Varianten des DEV sehen willst =>
    http://orwellengine.blogspot.com/2011/12/dev-c-5100-released.html

    Aber vielleicht willst du ja wegen der Schule bei deiner Version bleiben 🙄

    Speicherst du deine Quelltextdatei mit der Endung .c oder .cpp?
    Für C++ solltest du .cpp wählen.

    Das richtige Projekt hast du ja gewählt ehe du den Quelltext eingibst?

    MfG f.-th.



  • Dazu kann ich nix sagen ...
    wir haben das Programm fertig zugestellt bekommen und wir haben selbst bei Programmieren eine fertige Datei zugesteckt bekommen in dem wir nur noch unser Code rein schreiben müssen und der Datentyp heißt .c
    ich fühl mich sooo unwissend 😃

    Code der Schule:

    #include <stdio.h>
    #include <stdlib.h>
    #include "main.h"
    
    int main(int argc, char *argv[])
    {
        //ENTER YOUR CODE BELOW
    
        // ENTER YOUR CODE ABOVE
        system("PAUSE");
        getch();
        return 0;
    }
    


  • Da ist keine einzige Zeile C++.



  • Trekarraz schrieb:

    wir haben das Programm fertig zugestellt bekommen und wir haben selbst bei Programmieren eine fertige Datei zugesteckt bekommen in dem wir nur noch unser Code rein schreiben müssen und der Datentyp heißt .c

    Dann sollt ihr wohl C und kein C++ schreiben.



  • am liebsten würde ich den Lehrern eine runter hauen -.-
    ich glaube ich sollte mir nen buch besorgen und es selber in die hand nehmen c++ zulernen da brauch ich nicht so bescheuerte lehrer zuhaben die mir sagen das das c++ sei grrr 😡



  • Es ist leider so, dass sich so ein Halbwissen wie das deines Lehrers (sollte er wirklich immer von "C++" reden), relativ leicht fortpflanzt. Sich ein Buch zu kaufen, wo C++ draufsteht, ist z.B. auch kein Garant dafür, dass man "richtig C++" lernt; denn es gibt genug C++ Bücher, die man in der Pfeiffe rauchen kann.

    Guck doch mal, ob das hier was für Dich ist:
    http://www.amazon.de/Intensivkurs-Schneller-Einstieg-über-Standardbibliothek/dp/3827372585
    (Ich kenne das englische Original und das macht einen guten Eindruck.)



  • vielen dank
    war auch eben schon am schreiben ob mir jemand ein gutes buch empfehlen kann 😃



  • SeppJ schrieb:

    Und letzter Tipp: Keine Internettutorials für Grundlagen benutzen. Da kommt nur halbgarer, verworrener Mist bei rum und du bist ein Paradebeispiel dafür. Siehe FAQ für Buchtipps.

    Trekarraz schrieb:

    aber ich bin mir sicher das ich C++ lernen soll weil ich schon seid nen halbes Jahr dabei C++ zulernen und die lehrer sagen auch immer C++ und das wurde auch schon 1000 mal gefragt -.- jetzt werd ich langsam wütend auf meine lehrer -.-

    War doch nicht das pöse Internet und beim falschen Buch kommt genauso viel Müll raus.



  • meld mich hier nochmal und
    da ich ja eigendlich in der schule C lerne und nicht C++ sollte ich mir doch lieber nen C Buch besorgen oder nicht ?
    könnte jemand mir eins gutes Empfehlen ? 🙂



  • Ein Buch habe ich gerade nicht parat, aber das Tutorial hier finde ich ganz nett: http://www.tutorials.at/c/01-programmaufbau-headerdateien.html



  • cooky451 schrieb:

    das Tutorial hier finde ich ganz nett: http://www.tutorials.at/c/01-programmaufbau-headerdateien.html

    Hier im Tutorial gefunden:

    fflush(stdin);   /* Eingabepuffer loeschen; bzw. zumindest versuchen .. */
    

    Also schön auf SeppJ hören, wenn der sagt

    SeppJ schrieb:

    Keine Internettutorials für Grundlagen benutzen. Da kommt nur halbgarer, verworrener Mist bei rum

    Und zum Buch: der K&R ist ganz gut.


Anmelden zum Antworten