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++/CLI Discussion :

[Débutant] code incorrect et incompler


Sujet :

C++/CLI

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Avatar de geforce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2010
    Messages
    1 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 1 055
    Par défaut [Débutant] code incorrect et incompler
    Bonjour,

    Environnement:
    Système : Ubuntu 10.4
    IDE: MonoDevelop
    Version 2.4

    le 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
    /* sample code written in C */
    /* modify/rewrite for a better C++/OO version */
    #define UPCASE_VALUE    27
     
    /* return the string passed as parameter with first letter upcased */
    char *GetUpperCasedName(char *Str)
    {
      char *Ret;
      int Letter;
     
      Ret=  strdup(Str);
      Letter=(int)(*Str)+UPCASE_VALUE;
      *Ret=Letter;
      return Ret;
    }
     
    /* test the function */
    void TestCode()
    {
        printf("%s %s\n","hello",GetUpperCasedName("hello"));
    }
    1- je arrive pas bien à comprendre la signification ou l’utiliser de ce bout de code ?
    2- il y a la fonctionne "strdup" qui n'est pas reconnu par mon éditeur ou par visuelStudion 2008 ?
    3- j'ai besoin de transformer ce code C en Code C++ en orienter Objet ? je cherche comment je peut le faire, mais comme je ne suis pas très alaise syntaxiquement j'ai quelque difficulté ? (si possible de me fournir un bloc de base) et je voudrais savoir ces quoi la difference avec entre ce code C et sont équivalant en C++ à pare l'orienter objet ?

    Merci d'avance

  2. #2
    Membre chevronné

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    426
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 426
    Par défaut
    Salut,
    1)Je crois que ta fonction 'char *GetUpperCasedName(char *Str)' revoie une copie de la chaine 'Str' en transformant le premier caractère en majuscule. ( c'est écrit à la ligne 5 : "/* return the string passed as parameter with first letter upcased */" )
    Par exemple : 'GetUpperCasedName ( "salut" )' renvoie "Salut"
    2)Je pense que 'strdup' crée une copie de la chaine rentrée en paramètre
    3)Pour transformer ce code, tu peux remplacer les 'char*' par des 'string', et ne plus utiliser 'printf' mais plutot 'std::cout'

    Bye

  3. #3
    Membre éprouvé
    Avatar de geforce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2010
    Messages
    1 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 1 055
    Par défaut
    ma solution:
    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
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    /* sample code written in C */
    /* modify/rewrite for a better C++/OO version */
     
    //Des includes très importants en C++
    #include <iostream>
    #include <string> // Pour utiliser std::string
     
    /* toupper example */
    #include <stdio.h>
    #include <ctype.h>
     
    using namespace std;
     
    #define UPCASE_VALUE    32
     
        /* return the string passed as parameter with first letter upcased */
        std::string GetUpperCasedName(std::string Str)
        {
          std::string Ret;
          int Letter, strLength, i=-1;
          std::string firstLetter;
     
          if(Str.empty()) return Str;
     
          strLength = Str.length();
          Ret = Str; //Pour dupliquer une chaine de caractère, c'est simple : maChaineDupliquee = maChaineADupliquer;
     
            do
            {
             i++;
             Letter = Str[ i ];
            }while(Letter == UPCASE_VALUE && (i+1) < strLength);
     
      try
      {
           firstLetter = toupper(Str[ i ]);
           Ret = Str.replace(i, 1, firstLetter);
     
      }catch(exception& e)
        {
             cerr << "Exception : " << e.what() << endl;
        }
     
          return Ret;
        }
     
        /* test the function */
        void TestCode()
        {
            std::cout << "hello : " << GetUpperCasedName("    hello") << endl;
        }
     
        int main (int argc, char *argv[])
        {
            cout << "Hello world!" << endl;
     
            TestCode();
     
            return 0;
        }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [débutant]Code VBA ou Macro ?
    Par Sarune dans le forum VBA Access
    Réponses: 2
    Dernier message: 20/03/2007, 09h38
  2. Débutante - Code VBA pour MsgBox avec actions multiples
    Par kisscool35 dans le forum Access
    Réponses: 5
    Dernier message: 22/08/2006, 17h43
  3. Réponses: 4
    Dernier message: 13/06/2006, 15h11
  4. Réponses: 8
    Dernier message: 12/06/2006, 22h40
  5. DÉBUTANT - Code de couleurs
    Par vdumont dans le forum OpenGL
    Réponses: 7
    Dernier message: 03/04/2006, 07h58

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