Ciao a tutti ho creato un programma in c++ sono ancora alle prime armi e avrei bisogno di una mano(come compilatore uso devc++)
la parte di codice che mi da problemi è questa
if (a==2)
{
cout<<(int)parola[0]+z<< " "<< z << " " <<(int)parola[1]+x<<" " <<x<<endl;
}
fin qui nessun problema ma quando (a==20)
if (a==20)
{cout<<(int)parola[0]+z<< " "<< z << " " <<(int)parola[1]+x<<" " <<x<< " " <<(int)parola[2]+c<<" "<<c<<" "<<(int)parola[3]+v<<" "<<v<<" "<<(int)parola[4]+b<<" "<<b<<" "<<(int)parola[5]+n<<" "<<n<<" "<<(int)parola[6]+z<<" "<<z<<" "<<(int)parola[7]+z<<" "<< z << " " <<(int)parola[8]+x<<" " <<x<< " " <<(int)parola[9]+c<<" "<<c<<" "<<(int)parola[10]+v<<" "<<v<<" "<<(int)parola[11]+b<<" "<<b<<" "<<(int)parola[12]+n<<" "<<n<<" "<<(int)parola[13]+z<<" "<<z<<" "<<(int)parola[14] +z<< " "<< z << " " <<(int)parola[15]+x<<" " <<x<< " " <<(int)parola[16]+c<<" "<<c<<" "<<(int)parola[17]+v
<<" "<<v<<" "<<(int)parola[18]+b<<" "<<b<<" "<<(int)parola[19]+n<<" "<<n<<endl; }
ecco xD vorrei sapere se esiste qualche metodo per diminuire questo codice dato che a dovrebbe arrivare a 100-1000 o comunque numeri ben più alti di 20 spero di essermi spiegato
codice sorgente di tutto il programma:
[list]#include<iostream>
#include<ctime>
#include <string>
#include <windows.h>
#include <fstream.h>
using namespace std;
main ()
{
cout<<"ciao! benvenuto vuoi criptare(seleziona 1) o decriptare(seleziona 2)?"<<endl;
int z,x,c,v,b,n,sel;
srand((unsigned)time(NULL));
z=rand()%700;
x=rand()%700;
c=rand()%700;
v=rand()%700;
b=rand()%700;
n=rand()%700;
system ("pause");
system ("cls");
cout<<"inserisci la parola"<<endl;
string parola;
std::getline(std::cin, parola);
int a;
a=-1;
while(parola[++a]) ;
string d;
if (a==1)
{ cout<<(int)parola[0]+z<< " "<< z <<endl; }
if (a==2)
{ cout<<(int)parola[0]+z<< " "<< z << " " <<(int)parola[1]+x<<" " <<x<<endl; }
if (a==3)
{ cout<<(int)parola[0]+z<< " "<< z << " " <<(int)parola[1]+x<<" " <<x<< " " <<(int)parola[2]+c<<" "<<c<<endl; }
if (a==4)
{ cout<<(int)parola[0]+z<< " "<< z << " " <<(int)parola[1]+x<<" " <<x<< " " <<(int)parola[2]+c<<" "<<c<<" "<<(int)parola[3]+v
<<" "<<v<<endl; }
if (a==5)
{ cout<<(int)parola[0]+z<< " "<< z << " " <<(int)parola[1]+x<<" " <<x<< " " <<(int)parola[2]+c<<" "<<c<<" "<<(int)parola[3]+v
<<" "<<v<<" "<<(int)parola[4]+b<<" "<<b<<endl; }
if (a==6)
{cout<<(int)parola[0]+z<< " "<< z << " " <<(int)parola[1]+x<<" " <<x<< " " <<(int)parola[2]+c<<" "<<c<<" "<<(int)parola[3]+v
<<" "<<v<<" "<<(int)parola[4]+b<<" "<<b<<" "<<(int)parola[5]+n<<" "<<n<<endl;}
if (a==7)
{cout<<(int)parola[0]+z<< " "<< z << " " <<(int)parola[1]+x<<" " <<x<< " " <<(int)parola[2]+c<<" "<<c<<" "<<(int)parola[3]+v
<<" "<<v<<" "<<(int)parola[4]+b<<" "<<b<<" "<<(int)parola[5]+n<<" "<<n<<" "<<(int)parola[6]+z<<" "<<z<<endl; }
if (a==8)
{cout<<(int)parola[0]+z<< " "<< z << " " <<(int)parola[1]+x<<" " <<x<< " " <<(int)parola[2]+c<<" "<<c<<" "<<(int)parola[3]+v<<" "<<v<<" "<<(int)parola[4]+b<<" "<<b<<" "<<(int)parola[5]+n<<" "<<n<<" "<<(int)parola[6]+z<<" "<<z<< " "<<(int)parola[7]+z<<" "<< z<<endl;}
......
system("pause");
system ("cls");
cout<<"vuoi che copi la parola criptata in un file di testo?(rispondi si o no)"<<endl;
cin>>d;
system ("cls");
if (d=="si")
{
ofstream f("cripto.txt");
if(!f)
{
cout << "Impossibile aprire cripto.txt.";
system("pause");
return main();
}
if (a==1)
{f <<(int)parola[0]+z<< ' '<< z<<endl;}
if (a==2)
{f <<(int)parola[0]+z<< " "<< z << " " <<(int)parola[1]+x<<" " <<x<<endl;}
if (a==3)
{f <<(int)parola[0]+z<<' '<<z<<' '<<(int)parola[1]+z<<' '<<z<<' '<<(int)parola[2]+z<<' '<<z<<' '<<endl;}
if (a==4)
{f <<(int)parola[0]+z<< " "<< z << " " <<(int)parola[1]+x<<" " <<x<< " " <<(int)parola[2]+c<<" "<<c<<" "<<
(int)parola[3]+v <<" "<<v<<endl;}
if (a==5)
{f <<(int)parola[0]+z<< " "<< z << " " <<(int)parola[1]+x<<" " <<x<< " " <<(int)parola[2]+c<<" "<<c<<" "<<
(int)parola[3]+v<<" "<<v<<" "<<(int)parola[4]+b<<" "<<b<<endl; }
if (a==6)
{f<<(int)parola[0]+z<< " "<< z << " " <<(int)parola[1]+x<<" " <<x<< " " <<(int)parola[2]+c<<" "<<c<<" "<<
(int)parola[3]+v<<" "<<v<<" "<<(int)parola[4]+b<<" "<<b<<" "<<(int)parola[5]+n<<" "<<n<<endl;}
if (a==7)
{f<<(int)parola[0]+z<< " "<< z << " " <<(int)parola[1]+x<<" " <<x<< " " <<(int)parola[2]+c<<" "<<c<<" "<<
(int)parola[3]+v<<" "<<v<<" "<<(int)parola[4]+b<<" "<<b<<" "<<(int)parola[5]+n<<" "<<n<<" "<<(int)parola[6]+z<<" "<<z<<endl; }
f.close();
cout<<"codice copiato in cripto.txt (nella stessa cartella in cui e' situato questo \nprogramma)"<<endl;
system("pause");
system ("cls");
}
else
{
cout<<"vuoi tornare all'inizio del programma?(rispondi si o no)"<<endl;
cin>>d;
if (d=="si")
{
system("cls");
return main ();
}
else if (d=="no")
{
return 0;
}
else
{
cout<<"carattere non valido"<<endl;
return 0;
}
}
cout<<"vuoi tornare all'inizio del programma?(rispondi si o no)"<<endl;
cin>>d;
if (d=="si")
{
system("cls");
return main ();
}
else if (d=="no")
{
return 0;
}
else
{
cout<<"carattere non valido"<<endl;
return 0;
}
}[/list]