Fonction qui génère un code en chaine
Résolu/Fermé
A voir également:
- Fonction qui génère un code en chaine
- Fonction si et - Guide
- Code asci - Guide
- Chaine tnt gratuite sur mobile - Guide
- Comment générer un qr code - Guide
- Code puk bloqué - Guide
4 réponses
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 835
18 janv. 2009 à 23:41
18 janv. 2009 à 23:41
Ou tout simplement :
#include <stdio.h> char *create_id(const int i, char *id) { snprintf(id,6,"%05d",i); return id; } int main(void){ char id[6]; create_id(402,id); puts(id); return 0; }
Utilisateur anonyme
19 janv. 2009 à 00:18
19 janv. 2009 à 00:18
merci pour les réponse,
j'ai trouvé une réponse plus longue que les votre mais qui après une semaine devant le poste à programmer avec VS et à debiogger me satisfait plainement
je crois que la solution de azureus d'aller faire un n'est pas mal non plus aller Bon8 à tous et merci
j'ai trouvé une réponse plus longue que les votre mais qui après une semaine devant le poste à programmer avec VS et à debiogger me satisfait plainement
char num[10] = {'0','1','2','3','4','5','6','7','8','9'}; for(int i = 0;i<9;i++){ id[0] = num[i]; for(int j = 0;j<9;j++){ id[1] = num[j]; for(int k = 0;k<9;k++){ id[2] = num[k]; for(int h = 0;h<9;h++){ id[3] = num[h]; for(int m = 0; m<9 ;m++){ id[4] = num[m]; goto end; } } } } } end:
je crois que la solution de azureus d'aller faire un n'est pas mal non plus aller Bon8 à tous et merci
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 835
19 janv. 2009 à 00:30
19 janv. 2009 à 00:30
Oui, mais bon pourquoi recoder des fonctions qui font déjà le boulot à notre place. En plus elles sont souvent plus optimisés et plus fiables. De plus, si tu veux refaire quand même la fonction. Tu peux faire beaucoup plus simple.
Mais bon, snprintf suffit. Et sinon n'oublie pas de terminer une chaîne par un \0 sinon tu risques d'avoir des surprises.
#include <stdio.h> char *create_id(int nb, char *id) { int i; for(i=4;i>=0;i--){ id[i]=nb%10+'0'; nb/=10; } id[5]='\0'; return id; } int main(void){ char id[6]; create_id(402,id); puts(id); return 0; }
Mais bon, snprintf suffit. Et sinon n'oublie pas de terminer une chaîne par un \0 sinon tu risques d'avoir des surprises.
saluts a tous j une personne sur forum qui a besoin aide pour son prog
aller voir se lien svp
[url]http://www.commentcamarche.net/forum/affich 10576093 souci de ligne dans mon c[/url]
aller voir se lien svp
[url]http://www.commentcamarche.net/forum/affich 10576093 souci de ligne dans mon c[/url]
azureus33
Messages postés
49
Date d'inscription
vendredi 16 janvier 2009
Statut
Membre
Dernière intervention
7 février 2010
7
18 janv. 2009 à 23:33
18 janv. 2009 à 23:33
decompose ton int en 5 variable int.
unite, dizaine, centaine, millier, dizaine_millier ; exemple : dizaine_millier =ton_int%10000; ton_int=ton_int-dizaine_millier ; millier=ton_int%1000 ; ton_int=ton_int-millier ; etc... ensuite pour chaque variable traduit en char exemple : char Cuniter='0'+unité ; etc... tu met tout dans un tableau dans l'odre et c'est finit
18 janv. 2009 à 23:44
mon choix étant de resté générique quelque soit le langage n'aillant pas été explicitement donné.
Bien que implicite par la déclaration de la fonction.
18 janv. 2009 à 23:47
18 janv. 2009 à 23:56
c'est la logique de tous.
En effet on simplifie toujours mais on ne complique que rarement et encore.
Cela prouve que l'on recheche toujours compliqué quand t-on pouvais faire simple.
Hum je suis fatiguer moi ... dodo go :)