Bitte um Hilfe #1
-
Abend
Folgendes Problem...
Ich müsste mit dem if zwei Bedingungen gleichzeitig abfragen aber iwie nimmt der Compiler das && nicht an
Wo liegt der Fehler ?
[code="cpp"]
#include "stdafx.h"
#include "iostream"
#include "string"using namespace std;
using namespace system;string Bn1 = "Max";
int pin1 = 1111;
int kartenn1 = 837495;
int konton1 = 84027493;string Bn2 = "Maxx";
int pin2= 2222;
int kartenn2 = 284057;
int konton2 = 94026496;string Bn3 = "Maxxx";
int pin3= 3333;
int kartenn3 = 948572;
int konton3 = 84026491;int _tmain(int argc, _TCHAR* argv[])
{string BN;
string PIN;cout << "Benutzername :" << endl;
cin >> BN;
cout << "PIN :" << endl;
cin >> PIN;if ( BN == Bn1 && PIN = pin1 )
{
cout << "1";
}
else if ( BN == Bn2 && PIN = pin2 )
{
cout << "2";
}
else if ( BN == Bn3 && PIN = pin3 )
{
cout << "3";
}
else
{
cout << "Error 00" << endl;}
system("pause");
return 0;
}Und wo wir schon dabei sind, gibt es eine Möglichkeit den Code in einem Rahmen einzufügen auf dieser Website ? Wenn ja wie ?
-
...
-
Kommen keine mehr hinzu ist nur der anfang von nem bankprogramm muss auch eh alles noch in while schleife einfügen und paar sachen ranschreiben, mich verwirrt nur das dass && nicht funktioniert
is da iwein fehler im code oder einfach nur Compilerfehler ?
test
naja wenigstens das mit dem rahmen funzt xD
-
Der Fehler sitzt hier eindeutig VOR dem Computer.
// Wer auch Kommentare liest ist klar im Vorteil ;-)
-
Oh hab sie überlesen war in Eile xD
#include "stdafx.h" // War der Computer, nicht ich, habs da einfach stehn lassen :D #include "iostream" #include <string> using namespace std; string Bn1 = "Max"; // Nur so als Globale angelegt, macht ja kein unterschied oder ? int pin1 = 1111; int kartenn1 = 837495; int konton1 = 84027493; string Bn2 = "Maxx"; int pin2 = 2222; int kartenn2 = 284057; int konton2 = 94026496; string Bn3 = "Maxxx"; int pin3 = 3333; int kartenn3 = 948572; int konton3 = 84026491; int main() { string BN; string PIN; cout << "Benutzername :" << endl; cin >> BN; cout << "PIN :" << endl; cin >> PIN; if ( BN == Bn1 && PIN == pin1 ) { cout << "1"; } else if ( BN == Bn2 && PIN == pin2 ) { cout << "2"; } else if ( BN == Bn3 && PIN == pin3 ) { cout << "3"; } else { cout << "Error 00" << endl; } system("pause"); // Nur vorübergehnd da ;) }
Jetzt meint der Compiler das die zweiten "==" keine Operatoren sind -.-
-
Fehler: error C2678: Binärer Operator '==': Es konnte kein Operator gefunden werden, der einen linksseitigen Operanden vom Typ 'std::string' akzeptiert (oder keine geeignete Konvertierung möglich)
Ja klar weil du keinen string mit einen int vergleichen kannst, dann musste schon eins von beiden umwandeln
if ( BN == Bn1 && atoi(PIN.c_str()) == pin1 ) { cout << "1"; } else if ( BN == Bn2 && atoi(PIN.c_str()) == pin2 ) { cout << "2"; } else if ( BN == Bn3 && atoi(PIN.c_str()) == pin3 ) { cout << "3"; } else { cout << "Error 00" << endl; }
so zum beispiel, fehlerausgabe von VS sollte man schon lesen
-
Ich Idiot
Danke
#closed