Brauche Hilfe für C++
-
Starte das Programm von der Konsole aus
-
meinst du die anwendung die in dem ordner ist ?? wen ja geht nicht hab es schon versucht
-
Warum sollte das nicht gehen?
-
Nächstes Mal bitte zuerst Forensuche verwenden.
Übrigens nette Tipps, Kischeninadek???? :p
-
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

