In meinem aktuellen Programm habe ich vom Benutzer eine Nummer eingegeben, die in einer Char-Liste gespeichert wird. Danach gehe ich durch die Liste und versuche, diese Nummer einer int-Variablen zuzuordnen. Da kommt es zu einem Fehler. Dies ist ein Auszug aus meinem Code.Wie kann man ein Zeichen mit einer Zahl vergleichen? C++
if (list1[j]=='1');
z=1;
if (list1[j]=='2');
z=2;
if (list1[j]=='3');
z=3;
if (list1[j]=='4');
z=4;
Das Problem ist, dass z immer 4 wird, auch wenn Liste [j] = 3. Ich weiß, dass ich meine Vergleiche falsch mache, aber ich konnte sie nicht finden. Ich würde Ihre Hilfe schätzen. Diese
ist, wie ich die Liste definieren:
char list1[32];
Und das ist, wie ich es füllen:
for(int i=0;i<(2*c);i+=2)
{
cin>>list1[i]>>list1[i+1];
}
Entfernen Sie die Semikolons von Ihren if-Anweisungen. – pstrjds
Semikolons nach dem Schließen lassen paren: 'if (list1 [j] == '1')/* kein Semikolon hier * /' –
Ja, mein Fehler. Aber was es jetzt tut ist, dass es immer die Nummer als 1 statt 4 betrachtet. –