IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C++ Discussion :

programme de chiffrement de message


Sujet :

C++

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Novembre 2015
    Messages : 5
    Par défaut programme de chiffrement de message
    Bonjour,
    J'ai besoin d'aide pour faire un programme d'une classe MessageCode. Cette classe contiendra trois champs privés :
    un champs message (une chaîne de caractère - objet string 1) dont le contenu ne sera jamais accessible à l'utilisateur, un
    champs messageCode (une chaîne de caractère - objet string) qui correspondra à une version codé du message (accessible
    à tous) ainsi qu'un champs clef qui sera un entier permettant de coder un message et/ou de décoder un messageCode.

    J'ai créer 3 fichiers: MessageCode.h MessageCode.cpp et Main.cpp
    J'ai créer un constructeur MessageCode(),et Je veux créer 2 constructeurs: le 1er: un constructeur à partir d'un objet constant de type string.et le 2eme: constructeur à partir d'une chaîne de caractère constante (de type char[])
    je joint l’énoncé de l'exercice m1en3889_enonceTp.pdf
    et le programme que j'ai réalisé: dans le fichier MessageCode.h:
    Nom : code.jpg
Affichages : 341
Taille : 45,4 Ko

    le fichier MessageCode.cpp et Main:
    Nom : code2.jpg
Affichages : 276
Taille : 47,8 KoNom : code1.jpg
Affichages : 266
Taille : 112,2 Ko

    Merci.

  2. #2
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    URGENT, lire l'article IV-N de la charte du forum.

    Puisque tu ne poses pas de question, je suis heureux de constater que tu as un projet, et la volonté de le terminer.

    Par ailleurs, pour qu'on puisse éventuellement t'aider correctement, utiliser la balise [code] (le bouton #) pour présenter ton code, comme ca, on pourra sélectionner, et copier, ton code, pour le compiler, par exemple.

  3. #3
    Membre Expert
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    1 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 711
    Par défaut
    Hello,

    Un copier / coller des sources est quand même plus simple.

    Un ctor qui prend des paramètres, c'est comme une fonction classique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    class Msg {
    private:
       std::string m_msg;
     
    public:
       Msg(): m_msg("msg par défaut") { }
       Msg(std::string const& msg): m_msg(msg) { }
    };
     
    Msg msg;
    Msg msg2("blah");
    Sinon pas mal d'horreurs dans ton code:
    - dtor inutillement virtuel
    - const correctness non respectée
    - using namespace std; dans un .h
    - copies inutiles
    etc..

    M'enfin, vu que ton code compiles (à vu d'oeil) et que c'est "urgent" (TP à rendre dans l'aprem ?) je suppose qu'osef ?

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Novembre 2015
    Messages : 5
    Par défaut
    Bonsoir,
    Iradrille,Leternel merci pour votre aide et je m'excuse je suis nouveau sur le forum. Iradrille j'ai copier le code que tu m'a donner mais lors de la compilation je ne vois pas le résultat.
    merci encore une fois, je vais mettre mon code en utilisant la balise [code]

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    #ifndef MESSAGECODE_H_
    #define MESSAGECODE_H_
    #include <iostream>
    #include <string>
    #include <cstdlib>
    using namespace std;
     
    class MessageCode {
    private:
    	string Message;
    	string Messagecode;
    	int Clef;
     
    public:
    	void SetMessage(string);
    	string GetMessage();
    	void SetMessagecode(string);
    	string GetMessagecode();
    	void SetClef(int);
    	int GetClef();
    	void affichemessagecode();
     
    	MessageCode();
    	virtual ~MessageCode();
    };
     
    class Msg {
    	private:
    	   std::string m_msg;
     
    	public:
    	   Msg(): m_msg("msg par défaut") { }
    	   Msg(std::string const& msg): m_msg(msg) { }
    	};
     
    #endif /* MESSAGECODE_H_ */
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    using namespace std;
    #include "MessageCode.h"
    #include <string>
    #include <cstdlib>
    #include <iostream>
     
    MessageCode::MessageCode() {
    	// TODO Auto-generated constructor stub
    Message = "";
    Messagecode = "";
    Clef = rand()%25+1;
    cout <<"je suis le constructeur \n"<<"le message:            "<<Message<<"     le message codé:            "<<Messagecode<<"     la clef: "<<Clef<< endl;
    }
     
    MessageCode::~MessageCode() {
    	// TODO Auto-generated destructor stub
    cout <<"je suis le destructeur"<<endl;
    }
     
    void MessageCode::SetMessage(string m){
    	Message =m;
    }
    string MessageCode::GetMessage(){
    	return Message;
    }
    void MessageCode::SetMessagecode(string n){
    	Messagecode = n;
     
    }
    string MessageCode::GetMessagecode(){
    	return Messagecode;
    }
    void MessageCode::SetClef(int p){
    	Clef= p;
    }
    int MessageCode::GetClef(){
    	return Clef;
    }
     
    void MessageCode::affichemessagecode(){
    	cout <<"le message: "<<Message<<"       le message codé: "<<Messagecode<<"          la clef: "<<Clef<<endl;
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    #include <iostream>
    using namespace std;
    #include "MessageCode.h"
    #include <string>
     
    int main() {
    MessageCode P1;
     
    P1.SetMessage("le message");
    string a=P1.GetMessage();
     
    P1.SetMessagecode("sfxxnr");
    string b=P1.GetMessagecode();
     
    P1.SetClef(5);
    int c=P1.GetClef();
     
    P1.affichemessagecode();
     
    Msg msg;
    Msg msg2("blah");
     
    	return 0;
    }

  5. #5
    Membre émérite Avatar de SkyZoThreaD
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juillet 2013
    Messages
    585
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2013
    Messages : 585
    Par défaut
    Bonsoir. La solution est d'utiliser la librairie domyhomework.ru Malheuresement ils te demandent un numéro de cb pour la télécharger.
    nah sérieux on te dit de lire la charte ! pas seulement de copier le code dans une balise. Y'a une classe qui fait rien et pas de question...

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Novembre 2015
    Messages : 5
    Par défaut
    Bonjour,
    J'ai réussi a afficher le constructeur de const string, mais je n'arrive pas a créer un constructeur de type const char[], pourriez vous m'aider ?
    Merci.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    class String {
    	private:
    	   string m_msg;
    	   char m_car[];
    	public:
    	   String(): m_msg("msg par défaut") {
    		   cout <<"constructeur sans argument  "<<m_msg<<endl;
    	   }
    	   String(string const& msg): m_msg(msg) {
    cout <<"Je suis le constructeur string:   "<<m_msg<<endl;
    	   }
    	   String(const char[]& car): m_car[](car) {
    		   cout <<"je suis le constructeur char:    "<<m_car<<endl;
    	   }

  7. #7
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par défaut
    Tu ne peux pas utiliser de tableau à taille non-spécifiée dans une classe, c'est le chemin vers la folie (et c'est déjà assez dur comme ça avec les structures "Plain Old Data").

    Normalement, tes deux constructeurs devraient initialiser la string m_msg.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

Discussions similaires

  1. Besoin d'aide pour faire un programme
    Par jd13800 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 23/10/2010, 01h21
  2. Réponses: 42
    Dernier message: 11/03/2007, 14h09
  3. Urgent besoin d'aide pour regxp
    Par vodevil dans le forum Langage
    Réponses: 6
    Dernier message: 31/12/2005, 16h48
  4. Besoin d'aide pour faire un script
    Par shinux2004 dans le forum Langage
    Réponses: 4
    Dernier message: 16/07/2005, 16h44
  5. Réponses: 3
    Dernier message: 10/01/2005, 12h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo