Manueller Zeilenumbruch



  • Vielen Dank für die schnellen Antworten. Beide Vorschläge haben funktioniert ich habe mich für den von queer_boy entschieden. Mein Code sieht nun zur Vollständigkeit so aus:

    #include <iostream>
    using namespace std;
    
    int main( void )
    {
      char call[50 ];
       cout << "Bitte geben Sie Ihr Rufzeichen ein: " ;
       cin >> call;
    
      char qth[50 ];
       cout << "Bitte geben Sie Ihren Standort ein: " ;
       cin >> qth;
    
      char locator[50 ];
       cout << "Bitte geben Sie Ihren Locator ein: " ;
       cin >> locator;
    
      const char nl = '\n';
       cout << foo << nl;
    
       cout << "Ihr Rufzeichen ist " << call << endl;
       cout << "Ihr Standort ist " << qth << endl;
       cout << "Ihr Locator ist " << locator << endl;
       cout << "Ihre Angaben wurden in die Konfigurationsdatei gespeichert!" << endl;
    
    }
    

    Gruß,
    Mungo



  • Ach nee, Kommando zurück. Ich habe es mit der falschen Datei getestet. Der Vorschlag von darthdespotism hat funktioniert, bei dem von queer_boy kommt folgende Fehlermeldung:

    gerald@debian:~$ g++ /home/gerald/test/test.cc
    /home/gerald/test/test.cc: In function ‘int main()’:
    /home/gerald/test/test.cc:19: error: ‘foo’ was not declared in this scope

    Liegt es vielleicht daran, dass Windows und Linux auf unterschiedliche Formatierungen reagieren? Ich nutze Debian 4.0 unter Gnome, die Konsole ist die standardmäßige.



  • Mungo schrieb:

    Ach nee, Kommando zurück. Ich habe es mit der falschen Datei getestet. Der Vorschlag von darthdespotism hat funktioniert, bei dem von queer_boy kommt folgende Fehlermeldung:

    gerald@debian:~$ g++ /home/gerald/test/test.cc
    /home/gerald/test/test.cc: In function ‘int main()’:
    /home/gerald/test/test.cc:19: error: ‘foo’ was not declared in this scope

    Liegt es vielleicht daran, dass Windows und Linux auf unterschiedliche Formatierungen reagieren? Ich nutze Debian 4.0 unter Gnome, die Konsole ist die standardmäßige.

    sorry, ich habe überlesen, dass du das heute zum ersten mal machst.

    #include <iostream>
    using namespace std;
    
    int main( void )
    {
      char call[50 ];
       cout << "Bitte geben Sie Ihr Rufzeichen ein: " ;
       cin >> call;
    
      char qth[50 ];
       cout << "Bitte geben Sie Ihren Standort ein: " ;
       cin >> qth;
    
      char locator[50 ];
       cout << "Bitte geben Sie Ihren Locator ein: " ;
       cin >> locator;
    
       const char nl = '\n';
       cout << "\nIhr Rufzeichen ist " << call << nl;
       cout << "Ihr Standort ist " << qth << nl;
       cout << "Ihr Locator ist " << locator << nl;
       cout << "Ihre Angaben wurden in die Konfigurationsdatei gespeichert!" << endl;
    
    }
    


  • #include <iostream>
    #include <string>
    
    int main()
    {
        std::cout << "Rufzeichen: " << std::flush;
        std::string call;
        std::cin >> call;
    
        std::cout << "Standort: " << std::flush;
        std::string place;
        std::cin >> place;
    
        std::cout << "Locator: " << std::flush;
        std::string locator;
        std::cin >> locator;
        std::cout << std::endl;
    
        std::cout << "Ihr Rufzeichen ist " << call << std::endl;
        std::cout << "Ihr Standort ist " << qth << std::endl;
        std::cout << "Ihr Locator ist " << locator << std::endl;
        std::cout << "Ihre Angaben wurden in die Konfigurationsdatei gespeichert!" << std::endl;
    }
    

    was soll daran nicht gehen?



  • zur erklärung, was ich gemeint habe.

    Mungo schrieb:

    Ach nee, Kommando zurück. Ich habe es mit der falschen Datei getestet. Der Vorschlag von darthdespotism hat funktioniert, bei dem von queer_boy kommt folgende Fehlermeldung:

    gerald@debian:~$ g++ /home/gerald/test/test.cc
    /home/gerald/test/test.cc: In function ‘int main()’:
    /home/gerald/test/test.cc:19: error: ‘foo’ was not declared in this scope

    Liegt es vielleicht daran, dass Windows und Linux auf unterschiedliche Formatierungen reagieren? Ich nutze Debian 4.0 unter Gnome, die Konsole ist die standardmäßige.

    ich nutze auch linux 😉
    ich zitiere die wikipedia zu Foo:

    In der IT Branche werden die Begriffe foo, bar und foobar auch als Platzhalter und Beispielnamen (Metasyntaktische Variablen) für Dateien, Routinen, Verzeichnisse, Funktionen, Prozesse, Variablennamen etc. verwendet. Deren Namen sind vollkommen irrelevant und beliebig austauschbar.

    deshalb ist 'foo' in dem beispiel, das ich gegeben habe nur ein spaßwort, das natürlich nicht deklariert war ("`foo' was not declared in this scope") - das war also so gemeint, dass du x-beliebiges zeug statt foo einsetzen sollst. aber du wolltest das, was ich oben gepostet habe.

    @(D)Evil: das flush ständig ist nicht nötig, dafür sorgt cin. generell ist endl/flush oft überflüssig - deshalb ziehen es viele leute vor, statt endl const char nl = '\n'; zu verwenden (weil '\n' sich nicht so schnell schreiben lässt wie endl, auch wenn es kürzer ist)



  • @queer_boy: ist mir bekannt. ist ne Vorliebe von mir.



  • dann bist du in diesem forum anscheinend noch nie deshalb nieder gemacht worden 😉
    war eine zeitlang mal sehr in, dass in jedem thread, in dem endl verwendet wurde, "auszubessern" 😉

    (abgesehen davon, dass nl wirklich besser ist)



  • Hmm ... wird nur angemerkt. Kann mich ja einer versuchen nieder zu machen 😃

    Ne mal im ernst ...



  • queer_boy schrieb:

    Mungo schrieb:

    Ach nee, Kommando zurück. Ich habe es mit der falschen Datei getestet. Der Vorschlag von darthdespotism hat funktioniert, bei dem von queer_boy kommt folgende Fehlermeldung:

    gerald@debian:~$ g++ /home/gerald/test/test.cc
    /home/gerald/test/test.cc: In function ‘int main()’:
    /home/gerald/test/test.cc:19: error: ‘foo’ was not declared in this scope

    Liegt es vielleicht daran, dass Windows und Linux auf unterschiedliche Formatierungen reagieren? Ich nutze Debian 4.0 unter Gnome, die Konsole ist die standardmäßige.

    sorry, ich habe überlesen, dass du das heute zum ersten mal machst.

    #include <iostream>
    using namespace std;
    
    int main( void )
    {
      char call[50 ];
       cout << "Bitte geben Sie Ihr Rufzeichen ein: " ;
       cin >> call;
    
      char qth[50 ];
       cout << "Bitte geben Sie Ihren Standort ein: " ;
       cin >> qth;
       
      char locator[50 ];
       cout << "Bitte geben Sie Ihren Locator ein: " ;
       cin >> locator;
       
       const char nl = '\n';
       cout << "\nIhr Rufzeichen ist " << call << nl;
       cout << "Ihr Standort ist " << qth << nl;
       cout << "Ihr Locator ist " << locator << nl;
       cout << "Ihre Angaben wurden in die Konfigurationsdatei gespeichert!" << endl;
       
    }
    

    Dankeschön,jetzt funktioniert es super 😋 👍



  • wo wir schon dabei sind.. besser noch wäre natürlich (wenn man sich schon die haarapalterei zwischen nl und endl gibt wegen performancesachen):

    #include <string>
    #include <iostream>
    using namespace std;
    
    int main()
    {
       string call;
       cout << "Bitte geben Sie Ihr Rufzeichen ein: " ;
       cin >> call;
    
       string qth;
       cout << "Bitte geben Sie Ihren Standort ein: " ;
       cin >> qth;
    
       string locator;
       cout << "Bitte geben Sie Ihren Locator ein: " ;
       cin >> locator;
    
       cout << "\nIhr Rufzeichen ist " << call
            << "\nIhr Standort ist " << qth
            << "\nIhr Locator ist " << locator
            << "\nIhre Angaben wurden in die Konfigurationsdatei gespeichert!"
            << endl;
    }
    

    da sieht man mal, wohin einen der zwang, ständig nl statt endl zu benutzen, hinführt.


Anmelden zum Antworten