Har ett litet problem, jag gjorde en kod. Som fungerade valde sen att gra om den med classer och header. Sedan dess fungerar inte koden lngre, felkod r "expected primary-expression before '.' token".
Eftersom att koden fungerade bra innan jag valda att dela upp med klasser och flera olika source files antar jag att problemet ligger ngonstans i classerna och inte sjlva krypterings funktionen.
Nedan r koden:
main.cpp
Detta r header(KRYPTERING.h):
kryptering.cpp
Tack p frhand.
Eftersom att koden fungerade bra innan jag valda att dela upp med klasser och flera olika source files antar jag att problemet ligger ngonstans i classerna och inte sjlva krypterings funktionen.
Nedan r koden:
main.cpp
Kod:
#include <iostream> #include <string> #include <sstream> #include <fstream> #include <cmath> #include "KRYPTERING.h" using namespace std; int main () { string filename; int menyval1; cout << "Encryption program have started.\n"; while (menyval1 != 3) { cout << "Please select what you would like to do.\n\nPress 1 for encryption.\nPress 2 for decryption.\nPress 3 to end program.\nLock in your choice with enter.\n"; cin >> menyval1; if (menyval1 == 1) { cout << "Enter filename: "; cin >> filename; KRYPTERING encrypt; KRYPTERING.setfilename1(filename);//hr ska problemet vara KRYPTERING.setfilename2(filename);//hr ska problemet vara } else if (menyval1 == 2) { //ska gras senare } else { cout << menyval1 << " is not a valid option.\n\n"; } } return 0; }
Detta r header(KRYPTERING.h):
Kod:
#include <iostream> #include <string> #include <sstream> #include <fstream> #include <cmath> using namespace std; #ifndef KRYPTERING_H #define KRYPTERING_H class KRYPTERING { public: KRYPTERING(); KRYPTERING(string); void setfilename1(string); void setfilename2(string); int encrypt(); private: string newfilename1; string newfilename2; }; #endif
kryptering.cpp
Kod:
#include "KRYPTERING.h" KRYPTERING::KRYPTERING() { } void KRYPTERING::setfilename1(string filename) { filename+= ".txt"; newfilename1 = filename; } void KRYPTERING::setfilename2(string filename) { filename+= "_crypt.txt"; newfilename2 = filename; } int KRYPTERING::encrypt() const { char file [2][100]; string filename[2]; string text; string textarray[1024]; filename[0] = newfilename1 filename[1] = newfilename2 for (int n=0; n < 2; n++) { for (int i=0; i < 100; i++) { file [n][i]= filename[n][i]; } } ifstream myfile; myfile.open(file[0]); for (int n=0; getline (myfile,text); n++) { textarray[n] = text; } myfile.close(); for (int n=0; n < 1024; n++) { for (int i=0; i < textarray[n].size(); i++) { charline [n][i] = textarray[n][i]; } } ofstream myfile_crypt; myfile_crypt.open (file[1]); for (int n=0; textarray[n].size() > 0; n++) { for (int i=0; i < textarray[n].size(); i++) { myfile_crypt << 100+(int)charline [n][i]; } myfile_crypt << "\n"; } myfile_crypt.close(); cout << "\nYour file("<< filename[0] << ") is now encrypted.\nThe encrypted version is named: " << filename[1] << endl << endl; }
Tack p frhand.