Probleme Exercice sur Types et declaration svp

Résolu
djedu59 Messages postés 4 Date d'inscription dimanche 6 août 2006 Statut Membre Dernière intervention 21 avril 2007 - 6 août 2006 à 02:30
MuPuF Messages postés 536 Date d'inscription mercredi 27 avril 2005 Statut Membre Dernière intervention 22 août 2008 - 6 août 2006 à 21:36
bonjour tout le monde ,
je tient dabord a me presenter car je suis tout nouveau sur le site et dans le domaine de la programmation, voila il y a quelque jour j'ai recu mon livre "LANGAGE C++" de Bjarne Stroustrup et tout cela me plait mais je suis arriver sur les exercice de fin de chapitre et un exercice que j'essaye de resoudre depuis maintenant 3heures sans reussir a comprendre comment cela peut tout fonctioner.
je vais vous donner l'enoncer de l'exercice :
<hr size= "2" width="100%" /> "Ecriver un programme permetttant d'afficher les lettre 'a'...'z' et les chiffre '0'...'9' avec leurs valeurs entieres. Renouvelez la meme operation pour les autres caracteres imprimables. Repetez le processus en utilisant la notion hexadecimale. <hr size ="2" width="100%" />

malheuresement je coince sur cette exercice, pourriez vous me donner des conseils et une aide serait tres sympa de votre part
 merci d'avance a tous.

5 réponses

vinc1008881 Messages postés 257 Date d'inscription dimanche 22 août 2004 Statut Membre Dernière intervention 29 septembre 2010 3
6 août 2006 à 11:15
si j'ai bien compris il faut afficher 'a'...'z' puis le code ASCII de 'a'...'z' dans ce cas :

const char a = 'a';
const char z = 'z';      /*les variables a et z contienne les valeurs 'a' et 'z', en réalité 'a' et 'z' sont des nombres (voir tableau ASCII)*/

char x=a;

while (x <= 'z')/*on decrit l'alphabet de 'a' à 'z'*/
{
printf ("le caractere %c a pour valeur ASCII %d\n", x,(int)x);   /*2 manière d'interpreter x : comme un caractère avec %c ou comme un nombre avec %d*/
x++;    /*on se déplace vers 'b' puis 'c' puis 'd'*/
}

je ne sais pas si ça repond a ta question mais ça peut peut-être t'aider.
3
avelis Messages postés 22 Date d'inscription lundi 13 novembre 2000 Statut Membre Dernière intervention 6 août 2006
6 août 2006 à 12:29
Voila bien vu. Djedu tu peux déjà t'inspirer du code de Vinc c'est correct. Ensuite pour ta 2ème partie avec les valeurs hexa tu affiche "%x" au lieu de "%d".


Si tu veux afficher tous les caractères imprimables (32 à 127 sauf erreur), essaye ceci pour voir :


#include <stdio.h>

void affiche_char(void)
{
   int i;

   for (i=32; i<=128; i++)
   {
      printf("Caractère : %c, valeur entière : %d, valeur hexa : %x\n", i, i, i);
   }
}

void main(void)
{
   affiche_char();
}
3
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
6 août 2006 à 12:40
Si monsieur est en train d'apprendre le C++, autant lui montrer une solution en vrai C++.
Voici donc autre façon d'afficher tous les caractères imprimables, leur valeur décimale et hexadécimale:


#include

using namespace std;


int main()

{

  for(int i = 0; i < 255; i++)

  {

    if(isprint(i)) cout << "\'" << (char)i << "\' a
pour valeur " << dec << i << " = 0x" << hex
<< i << endl;

  }

}

_____________________________________
Un éditeur de ressources gratuit pour Windows
3
djedu59 Messages postés 4 Date d'inscription dimanche 6 août 2006 Statut Membre Dernière intervention 21 avril 2007
6 août 2006 à 20:04
Merci beaucoup Vecchio59 avelis et vinc de m'avoir aidez pour mon petit probleme qui etait assez simple a resoudre maintenant avoir trouvé une solution correcte
c'est tres agreables de trouver un forum comme celui ci ou je me plait beaucoup et je vais faire le necessaire pour aidez les autres si je peux aidez leurs problemes a bientot sur le forum
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
MuPuF Messages postés 536 Date d'inscription mercredi 27 avril 2005 Statut Membre Dernière intervention 22 août 2008
6 août 2006 à 21:36
Exelent choix pour le livre, accroche toi bien !! (pas conseillé au débutant, mais si tu survis, tu seras une bete )
0
Rejoignez-nous