031
04.11.2005, 08:03 Uhr
~DoppleR
Gast
|
Nach ein paar kleinen Änderungen habe ich dein Programm nochmal durchlaufen lassen:
C++: |
#include <iostream> //geändert #include <fstream> //geändert #include <limits> //geändert
void verschluesselung(); void entschluesselung();
int main() //Standart-Auswahl Menü { using namespace std; //geändert char auswahl; while (auswahl != 'b') { system("clear"); //geändert cout << " -Verschluesselungsprogramm-" << "\n\n\n\n\n"; cout << " [V] - Datei verschluesseln" << "\n"; cout << " [E] - Datei entschluesseln" << "\n"; cout << " [B] - Beenden" << "\n";
cin >> auswahl; //geändert cin.ignore(std::numeric_limits<std::streamsize>::max(),'\n'); //geändert switch (auswahl) { case 'v' : verschluesselung(); break; case 'e' : entschluesselung(); break; } } return 0; }
void verschluesselung() //Verschluesselung der Datei { using namespace std; //geändert char original, bild, pfad[256]; int asci; system("clear"); //geändert cout << "Pfad der zu verschluesselnden Datei eingeben: "; cin.getline(pfad,256); ifstream datei_l (pfad); //zum Lesen öffnen ofstream datei_s (pfad,ios::in); //ohne ios::in wird datei überschrieben(trunc) datei_l.seekg(0); //hier die Anfangsposition einsetzen datei_s.seekp(0); //hier Anfangs-Schreibposition einsetzen datei_l.get(original); //erstes Zeichen holen while ( datei_l.good()) { asci = original; if (asci > 128) asci = 256 + asci; asci += 13; bild = asci; datei_s << bild; datei_l.get(original); //Zeichen holen } datei_l.close(); datei_s.close();
cin.ignore(std::numeric_limits<std::streamsize>::max(),'\n'); //geändert }
void entschluesselung() //Entschluesselung der Datei { using namespace std; //geändert char original, bild, pfad[256]; int asci; system("clear"); //geändert cout << "Pfad der zu entschluesselnden Datei eingeben: "; cin.getline(pfad,256); ifstream datei_l (pfad); //zum Lesen öffnen ofstream datei_s (pfad,ios::in); //zum Schreiben öffnen datei_l.seekg(0); //hier die Anfangsposition einsetzen datei_s.seekp(0); //hier Anfangs-Schreibposition einsetzen datei_l.get(bild); //erstes Zeichen holen while ( datei_l.good()) { asci = bild; if (asci > 128) asci = 256 + asci; asci -= 13; original = asci; datei_s << original; datei_l.get(bild); //Zeichen holen } datei_l.close(); datei_s.close();
cin.ignore(std::numeric_limits<std::streamsize>::max(),'\n'); //geändert }
|
system("cls"); musste ich ändern, weil es bei mir kein cls gibt. conio.h habe ich nicht, daher habe ich die getch() durch standardkonforme Sachen ersetzt. Und ich habe statt iostream.h bzw. fstream.h iostream bzw. fstream eingebunden und dafür using namespace std; hingeschrieben, weil sonst bei mir eine Warnung wegen veralteter Header kommt.
Was das Programm macht, ist immernoch das gleiche wie in meinem letzten Post. Es funktioniert also tadellos. Wie sieht denn deine Ausgabedatei aus, wenn du
übersetzt? Und mit welchem Viewer siehst du sie dir an? |