Wegen leerzeichen wird nur das 1. Wort benutzt ! Ich suche ne ÄNDERUNG!Bitte Hilft mir!
-
Hallo Leutz,
Ich sitze hier in der Schule und wir sollen ein Programm schreiben(Console). Caeser Verschlüsselung.
Ich habe ein menu gemacht beidem ich entscheiden kann ob ich
1. eine eingabe von einem Wort.
2. eingabe von einem Text.
3. Verschlüsselung von einem Text
haben will.
Alles schön und gut aber wenn ich bei der eingabe von einen text ein leerzeichen mache dann kommt bei der ausgabe(Verschlüsselung) nur das erste wort heraus!
Wie kann ich den ganzen text verschlüsseln?
Quelltext 1:#include <iostream.h>
string zeichenkette1;
string menu1;
#include "menu.h"
#include <ctype.h>
#include <string>int main()
{
menu();
cout<<"\t\t****************************\n";
cout<<"\t\tCaeser Verschluesselung\n";
cout<<"\t\t****************************\n";//char zeichenkette[]="Es Geht!";
int i;
int a;
//cout<<zeichenkette1.length();
for(i = 0; i < zeichenkette1.length(); i++)
{
a = zeichenkette1[i];
char c = a+2;
// cout << "Zeichen: \t" << zeichenkette1[i] << "\t ASCII: \t" << a << "\t Zeichen von ASCII+2: \t" << c << endl;
}system("pause");
return 0;
}*******************************************************************************
Quelltext 2:int menu()
{
int menue_eingabe;
cout<<"1 Eingabe eines Wortes\n";
cout<<"2 Eingabe mehrer Woerter\n";
cout<<"3 Verschluesselung der Woerter\n";
cin>>menue_eingabe;
switch (menue_eingabe) //Menue-Auswahl
{
case 1: //menu 1 Text eingeben
{
cin>>zeichenkette1;
system("Pause");
break;
}case 2: //Menu 2 Ausgabe einer Zeichenkette
{
cin>>zeichenkette1;
cout<<zeichenkette1;
break;
system("pause");}
case 3: //Menu 3 Verschluesselung
{
cin>>zeichenkette1;
int i;
int a;
cout<<sizeof(zeichenkette1);
for(i = 0; i < zeichenkette1.length(); i++)
{
a = zeichenkette1[i];
char c = a+2;
cout << "Zeichen: \t" << zeichenkette1[i] << "\t ASCII: \t" << a << "\t Zeichen von ASCII+2: \t" << c << endl;
}
}
}
}
-
versuchs mal mit getline
-
Der >> Operator erwartet einen string. Den findet er und beim ersten Leerzeichen meint er, der string wäre zu Ende, was ja auch richtig ist. cin.getline wird dich weiterbringen. Musst dann aber bei der Verschlüsselung drauf achten, ob du das Blank mit verschlüsseln willst oder nicht