Brauche Hilfe für C++



  • int main(){
    //bla bla dings
    
    system("PAUSE"); //wartet auf tastenbestätigung... geht unter win, linux, mac (maybe auch noch mehr)
    return 0;
    }
    




  • Und das nächste mal einen sinnvollen Titel wählen. Wenn Du keine Hilfe für C++ bräuchtest, dann würdest Du keine Frage im C++-Forum stellen. Ein Titel wie "Brauche Hilfe für C++" würde einfach zu jeder Anfrage hier passen.



  • ok erstes problem gelöst
    aber was muss ich machen um zahlen und text einzugeben, weil wen ich bei dem ersten "mainboard" z.b Abit AX78 eingebe überspringt er 3 sachen. ich glaube das liegt daran, weil ich text und zahl eintippe



  • das kann garnicht sein,wenn du strings benutzt..
    apropos,wo ist denn eigentlich das

    #include <string>
    

    bei dir?



  • also hier ist jetzt der neue code der zumindes bis zu ausgabe schaft durch die pause. aber jetzt ist das prob. das wen ich bei idem ersten ein text + zahl eingebe das er zwei abfrage überspringt. ich hab es mal mit char versucht da geht es auch nicht. ich glaube es liegt daran, das wen ich eine leerschritt mache das er mir zwei abfrage überspringt... z.b. ABIT AX78 eingebe überspringt er es weil ein leerschrit ist nach "ABIT"

    #include<iostream>
    #include<string>
        using namespace std;
    
        int main()
        {
          string mainboard;
          string gehauselufter;
          string ram;
          string grafikarte;
          string festplatte;
          string laufwerk;
          string cpu;
          string cpukuhler;
    
          cout<<"Bitte Mainboard eingeben\n";
          cin>>mainboard;
    
          cout<<"Bitte Gehauseluefter eingeben\n";
          cin>>gehauselufter;
    
          cout<<"Bitte RAM eingeben\n";
          cin>>ram;
    
          cout<<"Bitte Grafikkarte eingeben\n";
          cin>>grafikarte;
    
          cout<<"Bitte Festplatte eingeben\n";
          cin>>festplatte;
    
          cout<<"Bitte Laufwerk eingeben\n";
          cin>>laufwerk;
    
          cout<<"Bitte CPU eingeben\n";
          cin>>cpu;
    
          cout<<"Bitte CPU-Kuehler eingeben\n";
          cin>>cpukuhler;
    
          std::cout<<mainboard<<" "<<gehauselufter<<"\n"<<ram<<"\n"<<grafikarte<<"\n"<<festplatte<<"\n"<<laufwerk<<"\n"<<cpu<<"\n"<<cpukuhler<<"\n";
    
          system("PAUSE");
    
          return 0;
    }
    


  • das kann garnicht sein,wenn du strings benutzt..

    Natürlich kann das sein... So weit ich das weiß, liest string nur bis zum ersten Leerzeichen ein...

    std::getline

    ist deine Lösung



  • und wo bau ich das std::getline ein ???



  • damit er nicht bis zum ersten leerzeichen einliest sondern die gesamte zeile...

    übrigens:

    #include <iostream>
    #include <string>
    using namespace std; //das geht hier zwar in Ordnung, solltest du aber niemals in headern schreiben
    
    void eingabeaufforderung (const std::string &what)
      {
        std::cout << "Bitte " << what << " eingeben" << std::endl;
      };
    
    int main() 
        { 
          string mainboard, gehauselufter, ram, grafikarte, festplatte, laufwerk, cpu, cpukuhler; //wenn dir structs bzw klassen was sagen, könntest du das ja auch dahingehend auslagern?!
    
          eingabeaufforderung ("Mainboard");
          cin.getline (mainboard); //so sollte das stimmen
    
          eingabeaufforderung ("Gehaeuseluefter");
          cin >> gehauselufter;
    
          eingabeaufforderung ("RAM");
          cin >> ram;
    
          eingabeaufforderung ("Grafikkarte");
          cin >> grafikarte;
    
          eingabeaufforderung ("Festplatte");
          cin >> festplatte;
    
          eingabeaufforderung ("Laufwerk");
          cin >> laufwerk;
    
          eingabeaufforderung ("CPU");
          cin >> cpu;
    
          eingabeaufforderung ("CPU-Kuehler");
          cin >> cpukuhler;
    
          std::cout << mainboard << ", " << gehauselufter << "\r\n"
            << ram << "\r\n"
            << grafikarte << "\r\n"
            << festplatte << "\r\n"
            << laufwerk << "\r\n"
            << cpu << "\r\n"
            << cpukuhler << std::endl; 
    
          system ("PAUSE"); //klar ist das die einfachste lösung, aber mit dem SYSTEM ()-Zeugs solltest du dich nicht erst anfreunden...
    
          return 0; //kannst du auch weglassen, aber schaden tuts nicht...
    }
    

    ist finde ich sehr viel übersichtlicher...



  • ok danke dir 🙂

    habs herausgefunden 😃


Anmelden zum Antworten