Zweiter if-Zweig wird in C++ nicht ausgeführt

lBr1anl

New member
Hi,
folgendes Problem: In meinem C++-Programm soll ein eingegebener String per Caesar-Verfahren ver- und auch wieder entschlüsselt werden. Das verschlüsseln funktioniert auch einwandfrei, sobald ich allerdings im "Hauptmenü" die 2 eingebe, verabschiedet es sich ohne Fehlermeldung. Ich bin mir sicher, dass ich da irgend'nen ganz ganz doofen Fehler übersehen habe, nur welchen?

Code:
#include <cstdlib>
#include <iostream>
#include <string>

using namespace std;

char verschluesseln(char klar, int schluessel)
{
char code;
int ascii = (int)klar;
ascii += schluessel;
code = (char)ascii;
return ascii;
}

char entschluesseln(char code, int schluessel)
{
char klar;
int ascii = (int)code;
ascii -= schluessel;
klar = (char)ascii;
return ascii;
}

int main()
{
bool auswahl;
string nachricht_klar;
string nachricht_code;
int schluessel;
int nachricht_laenge;

cout<<"(1) Verschluesseln"<<endl;
cout<<"(2) Entschluesseln"<<endl;
cin>>auswahl;

if(auswahl==1)
{
cout<<"Bitte die zu verschluesselnde Nachricht eingeben"<<endl;
cin>>nachricht_klar;
nachricht_laenge = nachricht_klar.length();

cout<<"Bitte den Schluessel eingeben (natuerliche Zahl)"<<endl;
cin>>schluessel;

for(int i=0;i<nachricht_laenge;i++)
{
nachricht_code[i]=verschluesseln(nachricht_klar[i],schluessel);
}

for(int i=0;i<nachricht_laenge;i++)
{
cout<<nachricht_code[i];
}
cout<<endl;

}
if(auswahl==2)
{
cout<<"Bitte die zu entschluesselnde Nachricht eingeben"<<endl;
cin>>nachricht_code;
nachricht_laenge = nachricht_code.length();

cout<<"Bitte den Schluessel eingeben (natuerliche Zahl)"<<endl;
cin>>schluessel;

for(int i=0;i<nachricht_laenge;i++)
{
nachricht_klar[i]=entschluesseln(nachricht_code[i],schluessel);
}

for(int i=0;i<nachricht_laenge;i++)
{
cout<<nachricht_klar[i];
}
cout<<endl;
}

cin.get();
cin.get();
}
 

b4ck

New member
bool ist doch nur 0 und 1 wenn ich mich net irre? :)
 

lBr1anl

New member
Narf! Das kommt davon, wenn man den Gedanken nicht zuende denkt -.- Danke, kann von mir aus zu... (ich fühl' mich so doof :( )
 
Oben