begin process at 2010 03 15 06:49:33
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Débutant(e)

 > 

boucle for : asser d'un entier en caractère


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

boucle for : asser d'un entier en caractère

dimanche 28 décembre 2008 à 12:38:46 | boucle for : asser d'un entier en caractère

Pilotwings

Bonjour, j'ai à ma disposition un petit programme contenant une boucle for avec un entier "i". Je vous présente le petit programme :

#include <iostream>
int main()
{
   for (int i = 0; i<128; i++)
   std::cout << i;
   system ("pause");
   return 0;
}

Voilà ce que je veux faire, je souhaiterai changer mon entier "i" en char (caractère). Savez vous comment y parvenir ?

dimanche 28 décembre 2008 à 13:53:41 | Re : boucle for : asser d'un entier en caractère

goodboy21

fait un cast.
std::cout<<(char) i;
dimanche 28 décembre 2008 à 14:46:24 | Re : boucle for : asser d'un entier en caractère

lglandeur

il y a encore plus simple que de faire un cast, il suffit de fair sa boucle for avec un caractère au lieu d'un entier.

for(char c=0; c<128; c++)
std::cout << c;
dimanche 28 décembre 2008 à 15:47:06 | Re : boucle for : asser d'un entier en caractère

magic_Nono

Membre Club
wep, et là il va boucler indéfiniement son mini soft ^^

en tout cas sous ubuntu , j'ai checké mon modifié et il s'arrête bien à 127 comme je le supposais


//#include <stdio.h>    // printf...
#include <iostream>    // cout ...


int main (int argc, char* argv[])
{
for(char c=100; c>0; c++)
std::cout << (int)c << '\n';
  return 0;
}


___________________________________________________________
Magicalement
Nono
dimanche 28 décembre 2008 à 18:18:05 | Re : boucle for : asser d'un entier en caractère

Pilotwings

lglandeur, j'ai essayer ton programme avant que tu l'écrive. J'ai du rallumer mon pc lol !!
Alors, merci Magic_Nono car ton programme fonctionne

#include <iostream>   
int main (int argc, char* argv[])
{
for(char c=100; c>0; c++)
std::cout << (int)c << '\n';
system ("pause");
  return 0;
}

Mais peux tu m'expliquer la ligne int main (int argc, char* argv[]) stp ?

Encore merci ^^

dimanche 28 décembre 2008 à 23:18:45 | Re : boucle for : asser d'un entier en caractère

magic_Nono

Membre Club
Tu aurais pu couper ton programme avec CTRL+C,

à l'avenir, plus besoin de rebooter pour si peu.


plus d'explication sur la ligne du main ici, dernier com:
http://www.vbfrance.com/forum/sujet-AFFICHER-CARACTERE-DANS-CHAINE_1243526.aspx


ce truc n'était pas dans la bonne section (VB) mais bon...suis tombé dessus par hasard.


en résumé
c'est pour les paramètres à l'appel de ton exécutable
[code]
#include <stdio.h>
int main( int argc, const char* argv[] )
{
// Prints each argument on the command line.
for( int i = 0; i < argc; i++ )
printf( "arg %d: %s\n", i, argv[i] );
}
[/code]



pense à valider les réponses satisfaisantes,

Bon bout d'an
++
___________________________________________________________
Magicalement
Nono
lundi 29 décembre 2008 à 11:59:47 | Re : boucle for : asser d'un entier en caractère

Pilotwings

Merci de ton aide car ton programme fonctionne. J'ai regardais le lien que tu m'as écris et je n'ai pas beaucoup compris la ligne
(int argc, char* argv[])
J'ai appris que agrc était un nombre et que argv[] était un paramètre. Mais pourquoi faire char*argv[] ?

lundi 29 décembre 2008 à 12:04:41 | Re : boucle for : asser d'un entier en caractère

snake7682

c quoi ce bordel? c une boucle infinie, si vous lui dites dans la condition c>0, quand est ce que ca va s'arreter?' c 'est tjrs >0.
lundi 29 décembre 2008 à 13:07:05 | Re : boucle for : asser d'un entier en caractère

lglandeur

c'est vrais que tester le fait que se soit >0 peut paraitre bizarre, mais en fait il ne faut pas oublier que par défaut les type sont signé en C et C++ (chose qui m'était sortie de la tête au moment de l'écriture de mon bout de code).

Donc quand on déclare une variable de type char (codé sur un octet) les valeur possible vont de -128 à 127. par conséquence une foi que l'on est a la valeur 127 et qu'on lui rajoute 1 il ne passe pas a 128, mais a -128.

c'est pour cela que mon programme boucle a l'infini et que celui de Magic_nono fonctionne.

sinon pour que mon programme fonction il suffit de déclaré la variable en type unsigned char, et la les valeur possible sont 0 à 255.

voila j'espère avoir était clair.
lundi 29 décembre 2008 à 17:12:22 | Re : boucle for : asser d'un entier en caractère

stephane57

Bonjour à tous,

j'ai lu avec attention les messages des uns et des autres et je constate avec plaisir que le forum est toujours aussi actif.

j'ai testé les différentes solutions proposées et je propose donc un petit source très simple qui n'est que la synthèse de tout ce qui a été brillament développé dans ce forum:

#include

<iostream>

unsigned

shortint main()

{

for (unsignedchar valeur=0 ; valeur<128 ; valeur++)

{

std::cout << valeur ;

}

return

0;

}


1 2

Cette discussion est classée dans : boucle, caractère, asser, for, entier


Répondre à ce message

Sujets en rapport avec ce message

Le cast entier ------> Caractère EN C [ par golum ] comment caster un entier en caractere EN C ? Pbl : caract=(char) intres jusqu'a 127 tout marche bien mais apres!!!!!! à partir de la 2eme moitié dela boucle avec for,petite question! [ par chris5874 ] bonjour à tous,j'aimerai savoir si dans une boucle for(initialisation;condition;expression),bref,une boucle normale,j'aimerai savoir si la condition e stopper une boucle for et la recommencer [ par danis56 ] Bonjour , J'ai un probleme avec une partie de mon programme . Je doit bloquer une boucle for a l'interieur de son code et je n'y arrive pas , j'ai ess URGENT: 2 boucles for en une? [ par bethany ] Bonjour a tous et a toutes,Dans mon programme j'ai 2 boucles for du stylefor(i=0; i{.............} for(i=0; i{..........}Sachant que le nombre auquel BOUCLE for [ par juliansk ] je cherche comment générer une suite logque a 4 termes.ex:2 4 8 16. J'ai imaginé le faire de cette manière: je génère un premier chiffre avec la fonct ralentir boucle for [ par neo_00110010101 ] Alors voilà mon problème :for(debut; arrivee; avance1++) { cout (avance1 + rand1 == avance1); if (avance1 >= arrivee)break; }Cette boucle est trop problème avec une boucle for!! [ par speeddo ] Bonjour,dans mon programme, je récupère dans une variable tampon des éléments appelés attibuts.Puis je voudrais m'en occuper, les envoyer vers excel p boucle for [ par skyman272 ] Bonjour,   Est ce que quelqu'un connait la signification d'un for (;;) ... return 0;   C'est une boucle for dans un programme linux que je dois modifi La boucle FOR [ par C++ ] Ou est l erreur svp :for (int i=0;i MessageBox (i); Impossible de rentrer dans une boucle for [ par fred100582 ] Salut, j'ai un gros probleme qui me laisse sans réponse, je n'arrive pas à rentrer dans la boucle for suivante:for(i=0;i              { &


Nos sponsors


Appels d'offres

Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,780 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales