Problème d'exécution
younes-zi
-
ElementW Messages postés 5690 Statut Contributeur -
ElementW Messages postés 5690 Statut Contributeur -
Bonjour
je cherche a chiffré et déchiffré une chaîne de caractère(string) avec une programmation #poo#c++# l'or de l'exécution l'icone Microsoft Visual c++ runtime library apparu
je sais pas d ou vient le problème qui m'empêche d'avancer !!
vola mon programme :
merci d'avance !!
je cherche a chiffré et déchiffré une chaîne de caractère(string) avec une programmation #poo#c++# l'or de l'exécution l'icone Microsoft Visual c++ runtime library apparu
je sais pas d ou vient le problème qui m'empêche d'avancer !!
vola mon programme :
#pragma once
#include <string>
#include <iostream>
#include <string>
#include <cstdlib>
#include <ctime>
using namespace std;
static const char alphanum[] =
"ABCDEFGHIJKLMNOPQRSTUVWXYZ";
int stringLength = sizeof(alphanum)-1;
char genRandom() // Random string generator function.
{
return alphanum[rand() % stringLength];
}
class OPT
{
string message;
string masque;
public:
OPT();
OPT(string);
OPT(const OPT&);
OPT operator=(const OPT&);
string chiffrer();
void afficher() const;
~OPT();
};
OPT::OPT()
{
}
OPT::OPT(string s)
{
message = s;
srand(time(0));
for (int z = 0; z < message.length(); z++)
{
masque+= genRandom();
}
}
OPT::OPT(const OPT &o)
{
message = o.message;
masque = o.masque;
}
OPT OPT::operator=(const OPT &o)
{
if (this != &o)
{
message = o.message;
masque = o.masque;
}
return *this;
}
string OPT::chiffrer()
{
//A = 65 ; Z= 90
//A= 0 ; Z = 25
string s;
for(int i=0;i<(int)masque.size();i++)
{
if((message[i]-65)+(masque[i]-65)<=25)
{
s[i]=(message[i]-65)+(masque[i]-65);
s[i]=s[i]+65;
}
else
{
s[i]=((message[i]-65)+(masque[i]-65)-25)+65;
}
}
return s;
}
void OPT::afficher() const
{
cout << message << endl;
cout << masque << endl;
}
OPT::~OPT()
{
}
int main()
{
OPT a("HELLO");
//a.chiffrer("WMCKL");
a.afficher();
//asci();
cout << a.chiffrer();
system("pause");
return 0;
}
merci d'avance !!
A voir également:
- Problème d'exécution
- Le service spouleur d'impression local n'est pas en cours d'exécution - Guide
- Net user des erreurs ont affecté l'exécution de la commande - Forum Windows
- Processus d'execution client serveur - Forum Windows 10
- Erreur d'exécution 13 incompatibilité de type ✓ - Forum Programmation
- Au démarrage de l’ordinateur, le d' se lance. il permet l’exécution des logiciels applicatifs et gère l’utilisation des ressources matérielles (mémoire, processeur, périphériques). - Forum Alimentation PC
1 réponse
'lut,
Aussi:
De plus, tu ne peux pas te permettre d'utiliser
l'or de l'exécution l'icone Microsoft Visual c++ runtime library apparuPeux-tu être plus clair? J'ai pas compris...
Aussi:
#pragma onceest inutile vu que c'est un fichier de source et non d'en-tête.
using namespace std;: utilisation déconseillée, précise le using seulement pour cout et string.
for (int z = 0; z < message.length(); z++): message.length() renvoie un entier non signé (
uint), or
zest un
int, c'est à changer.
De plus, tu ne peux pas te permettre d'utiliser
rand()comme tu le fais si tu veux pouvoir déchiffrer la chaine de caractère obtenue. Il faut enregistrer les valeurs qu'elle donne quelque part, ou s'en servir pour initialiser une clé de cryptage, qui sera sauvegardée ou écrite dans la console.