25. juli 2005 - 01:23
Der er
5 kommentarer og 1 løsning
C++ Hvad gør jeg forkert?
#include <iostream> #include <string> using namespace std; int main() { int kodeord; cout << "Indtast password:"; cin >> kodeord; if(kodeord == "h4x"){ cout << "Kodeordet er rigtigt!"; } else { cout << "Kodeordet matcher ikke!"; } system("PAUSE"); } -- hvad er fejlen? - den udskriver: ISO C++ forbids comparison between pointer and integer
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
problemet er den ikke vil udskrive "h4x" men gerne uden " og " også et tal!
kodeord er en int, dvs. et hel-tal. "h2x" er en const char *, dem kan man ikke sammenligne. Prøv med: #include <iostream> #include <string> using namespace std; int main() { std::string kodeord; cout << "Indtast password:"; std::getline(cin, kodeord); if(kodeord == "h4x"){ cout << "Kodeordet er rigtigt!" << std::endl; } else { cout << "Kodeordet matcher ikke!" << std::endl; } system("PAUSE"); }
"h4x" er en pointer til en streng kodeord er en integer så prøv at lave kodeord om til et char array char kodeord[80];
Jeg samler ikke på point.
Kurser inden for grundlæggende programmering