Fonction_c++

Résolu
julia -  
 julia -
Bonjour,
Bonjour,
j'ai fais une fonction qui transfrome un char en int .. en c++ la voila :

include<iostream.h>
using namespace std;
int main(){
char c;
int a;
cout<<"donner un caractére"<<endl;
cin>>c;
a=c;
cout<<"son code ascii est "<<a
system("pause");
return 0;
}

comment je peux la modifier pour obtenire le code ascii d'une chaine de caractére et n'est pas un caractére????
merci
Configuration: Windows XP
Internet Explorer 6.0

4 réponses

  1. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 940
     
    En fait ton programme comporte quelques erreurs :
    - de nos jours on n'inclue plus <iostream.h> mais <iostream>,
    - tu peux laisser le "using namespace std;" (ce qui évite d'avoir à mettre les std::) mais attention à ne pas le faire dans des headers (fichiers .hpp). Personnellement je te conseille plutôt de mettre les std:: même si c'est un peu plus lourd à écrire,
    - évite le system("pause"); qui est spécifique à windows et utilise plutôt la fonction getchar(); (header <cstdio>).

    Voici ce que ça donne à la fin :
    #include <iostream>
    
    int main(){
        char c;
        int a;
        std::cout << "donner un caractére" << std::endl;
        std::cin >> c;
        a = c;
        std::cout << "son code ascii est " << a << std::endl;
        getchar();
        return 0;
    }

    Et à l'exécution :
    donner un caractére
    f
    son code ascii est 102

    Bonne chance
    1
    1. julia
       
      bah en faite mon programme marche trés bien sous dev c++... maintenat c qui compte comment créér une fonction qui converti une chaine de cara en code ascii
      par exemple :
      donner une chaine de caracter
      mamiemando
      le code ascii est
      23445445436




      c just un ex
      0
  2. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 940
     
    Je sais que ton code marchera sous windows tel que tu l'as donné, mais je t'invite néanmoins à y apporter les corrections que je t'ai donnée afin qu'il soit propre, actualisé et portable. En outre il manquait un # et un ; dans ton code de départ. Je sais que c'est un exercice mais il faut prendre les bonnes habitudes dès le début ;-) Après tu fais comme tu veux :p

    Pour la suite de ton exercice il suffit de lire une chaîne (std::string, header <string>) au lieu d'un caractère et de la parcourir avec une boucle for.
    https://community.hpe.com/t5/custom/page/page-id/HPPSocialUserSignonPage?redirectreason=permissiondenied&referer=https%3A%2F%2Fcommunity.hpe.com%2Ft5%2FServers-Systems-The-Right%2FSGI-com-Tech-Archive-Resources-now-retired%2Fba-p%2F6992583

    Tu peux facilement récupérer la longueur d'une chaîne avec la méthode avec la méthode size(). Je te donne le début et je te laisse finir ton exercice :
    #include <iostream>
    #include <string>
    #include <cstdio>
    
    int main(){
        char c;
        int a;
        std::cout << "tapez une chaine" << std::endl;
        std::cin >> s;
        std::cout << "son code ascii est ";
        for(std::size_t i = 0 ; i <s.size() ;++i){
            //... à toi de jouer
        }
        std::cout << std::endl;
        getchar();
        return 0;
    }

    Bonne chance
    1
    1. julia
       
      merci grave :)
      0
  3. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 940
     
    À votre service ;-)

    Bonne continuation !
    0
    1. julia
       
      svp.... pouvez vous m'expliquer le principe de fonction random ???
      0
  4. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 940
     
    Oui mais dans un nouveau sujet (forum programmation). Dans un premier temps cherche sur google (ou tape dans un terminal sous linux) :
    man srand

    Bonne chance
    0
    1. julia
       
      ok... en tt cas merci infiniment
      0