Caesar Verschlüsselung - Algorithmus für C++ ?

@Flegmon

getch() habe ich ausprobiert, aber so richtig scheint das nicht zu funktionieren.
Jedenfalls geht das Programm, wenn ich es in meinem Compiler (C++ BuilderX) starte nicht weiter. Es bleibt hängen, egal wie oft ich eine Taste drücke.
Wenn ich das Programm aber über die exe Datei öffne klappt es. Spinnt mein Compiler oder liegt das an der Funktion?

Viele Grüße,
Cyriad
 
Cyraid hat gesagt.:
Wenn ich das Programm aber über die exe Datei öffne klappt es. Spinnt mein Compiler oder liegt das an der Funktion?

wird wohl an der Funktion liegen. Wahrscheinlich führst du sie über die IDE im Debug-Modus aus.
Wenn nicht versuchs mal mit deepthroats variante
 
deepthroat hat gesagt.:
Das ist nicht so einfach zu sagen da die Antwort abhängig von der Umgebung (Betriebssystem/Terminal) ist. Aber unter Windows kannst du das Programm pause aufrufen:
C++:
cout << "Taste drücken..." << endl;
system("pause > nul");
Gruß

Jepp, damit geht es auch beim Ausprobieren im Compiler selbst.

Mir fällt aber gerade auf, dass z.B. die Funktion clrscr() im Compiler selbst auch nicht funktioniert...

Viele Grüße,
Cyraid
 
Flegmon hat gesagt.:
@deepthroat

ich hab nur kurz mit dem notepad nen blick drüber geworfen.
Schau dir nächstes Mal lieber eine STL Referenz an und nicht den Code von VS C++. Tatsächlich ist aber _Mysize als public definiert und man kann es nach Belieben ändern. Ich halte das für einen eklatanten Fehler - das kann ich so nicht nachvollziehen. Andere STL Implementation haben diese Membervariable natürlich nicht bzw. es gibt keinen Zugriff darauf. Zumindest wurde ein einzelner Unterstrich als Präfix benutzt um zu signalisieren das die Variable implementationsspezifisch ist.

Gruß
 
deepthroat hat gesagt.:
Tatsächlich ist aber _Mysize als public definiert und man kann es nach Belieben ändern. Ich halte das für einen eklatanten Fehler - das kann ich so nicht nachvollziehen.

hat mich ehrlich gesagt auch gewundert...
wollte mir den source trotzdem unbedingt mal anschauen, da man manchmal liest, dass es unnötig viel wäre und so nich gut für die performance sein soll.
 
@Flegmon und deepthroat

Danke an euch beide für eure Hilfe, alles klappt soweit! :)

Nur eines ist mir noch nicht ganz klar.
Warum funktioniert clrscr() beim Testen im Compiler selbst nicht, dafür aber beim Ausführen der exe Datei :confused:

Viele Grüße,
Cyriad
 
Cyraid hat gesagt.:
Nur eines ist mir noch nicht ganz klar.
Warum funktioniert clrscr() beim Testen im Compiler selbst nicht, dafür aber beim Ausführen der exe Datei :confused:
Wahrscheinlich benutzt die Borland Umgebung eine eigene Implementierung des Terminals in dem das Programm ausgeführt wird. Dieses Terminal wird wahrscheinlich nicht alle Befehle bzw. Escape Sequenzen implementieren die die Standard-DOS-Box von Windows kennt. Als Alternative kannst du ja mal versuchen den DOS Befehl cls per system() Funktion aufzurufen. Dieser Befehl benutzt evlt. andere Low-Level Funktionen um den Bildschirm zu löschen als die clrscr() von Borland.

Gruß
 

Neue Beiträge

Zurück