Buongiorno, da poco programmo in c++ e stavo cercando di ricreare una sorta di macchina Enigma, tuttavia il programma non parte. Ho provato a compilarlo usando l'IDE dev c++, ma, dopo che la compilazione veniva completata correttamente, il programma crashava. Ho provato dunque ad eseguire la compilazione su Visual Studio 2017, ma, in questo il compilatore non riusciva nemmeno a trovare il file. Potreste spiegarmi come risolvere per favore? Ecco il codice che ho scritto
#include <stdafx.h>
#include <iostream>
#include <string.h>
#include <time.h>
#include <stdlib.h>
#include <fstream>
using namespace std;
int main() {
int n, i, l, q, j = 0, k = 0, p;
char s[n + 1], c, chiave[27], alf[27], a = 'a';
cout << "Inserire la capienza massima della stringa\n";
cin >> n;
cout << "Inserire il carattere di fine corsa\n";
cin >> c;
cout << "Caricare la stringa\n";
cin.getline(s, n + 1, c);
srand(time(NULL));
for (i = 0; i<26; i++) {
q = i;
i = 0;
chiave[q] = rand() % 'z' + 'a';
while (i<q) {
if (chiave[i] == chiave[q]) do {
chiave[q] = rand() % 'z' + 'a';
p = i;
i = 0;
while (i<q) {
if (chiave[i] == chiave[q]) k = 1;
i++;
}
i = p;
} while (k != 0);
i++;
}
i = q;
}
cout << "Ecco la chiave di lettura\n";
for (i = 0; i<26; i++)
cout << chiave[i] << "\n";
for (i = 0; i<27; i++) {
alf[i] = a;
a++;
cout << alf[i] << "\n";
}
l = strlen(s);
cout << "Ecco la stringa criptata\n";
for (i = 1; i<l; i++) {
do {
if (s[i] == alf[j]) {
s[i] = chiave[j];
break;
}
else j++;
} while (s[i] != alf[j]);
j = 0;
}
cout << s << "\n";
system("pause");
}
Grazie in anticipo per l'aiuto