027
01.11.2005, 23:30 Uhr
predator
|
öhm..., konntest du den Code so kompilieren? Die Funktionen verschluesselung und entschluesselung geben doch keinen Wert zurück, das dürfen also keine int, sondern void Funktionen sein. Außerdem sind bei deinen Dateioperationen einige Fehler: Du öffnest die gleiche Datei einmal als ifstream und einmal als ofstream. Und das ios::in(zum Lesen öffnen) hat bei ofstream ja wohl nichts zu suchen...
Ich poste jetzt einfach mal meinen Code, vielleicht hilft er dir ja.
| C++: |
#include <iostream> #include <fstream> using namespace std;
void encodeFile(); void decodeFile();
int main() { int i=0; while(i!=3) { cout << "\t--------------------------" << endl; cout << "\tVerschluesselungs-Programm" << endl; cout << "\t--------------------------" << endl; cout << "[1] Datei verschluesseln" << endl; cout << "[2] Datei entschluesseln" << endl; cout << "[3] Beenden\n" << endl; cout << "Auswahl: "; cin >> i; switch(i) { case 1: encodeFile(); cout << endl << "OK" << endl; break; case 2: decodeFile(); cout << endl << "OK" << endl; break; case 3: break; default: cout << endl << "Gueltige Auswahlzahl eingeben!\n" << endl; } }
return 0; }
void encodeFile() { char original, asci, bild; ifstream fin("text.txt"); ofstream fout("encoded.txt");
fin.get(original); while (fin.good()) { asci = original; asci += 13; bild = asci; fout << bild; fin.get(original); //Zeichen holen }
fin.close(); fout.close(); }
void decodeFile() { char original, asci, bild; ifstream fin("encoded.txt"); ofstream fout("decoded.txt");
fin.get(original); while (fin.good()) { asci = original; asci -= 13; bild = asci; fout << bild; fin.get(original); //Zeichen holen }
fin.close(); fout.close(); }
|
Bei mir funktioniert so alles, auch das mit den Zeilenumbrüchen. -- Gruß predator
| Zitat von Edsger W. Dijkstra: |
Es ist praktisch unmöglich, einem Studenten gutes Programmieren beizubringen, wenn er vorher in BASIC programmiert hat. Als potenzielle Programmierer sind sie geistig verstümmelt ohne Hoffnung auf Erholung.
|
|