2 votes

comment créer un numéro d'identification qui ressemble à ceci : 00001...00002.... ?

Je dois créer plusieurs identifiants pour plusieurs structures. Je veux que chaque identifiant commence de 00001 à 99999.

par exemple :

  • l'id de la première structure est 00001
  • l'id de la deuxième structure est 00002
  • ...et ainsi de suite...

Maintenant, je dois scanf et ensuite printf pour que l'identifiant qui apparaît dans la fenêtre noire ressemble à ceci : The id of the first struct is: 00001

Comment dois-je m'y prendre ?

Dois-je utiliser des int o double ?

Et comment j'utilise une boucle for (i=0 ; i<99999 ;i++) alors que i est le dernier chiffre ?

Merci beaucoup !

2voto

Hans Kesting Points 17043

Pour une variable numérique, il n'y a pas de concept de "zéros de tête". Ainsi, si vous souhaitez utiliser "0001" dans votre code, vous devrez le convertir en une chaîne de caractères, en ajoutant des zéros non significatifs si nécessaire.

1voto

Vous pouvez stocker l'identifiant comme un int .

Lorsque vous avez besoin de l'imprimer, il vous suffit d'utiliser une méthode d'impression appropriée. chaîne de format para printf comme ça :

printf("id = %05d\n", i);

Un exemple fonctionnel est disponible aquí .

Dans la chaîne de format, le %05d signifie :

  • % signifie qu'il s'agit d'un paramètre de mise en forme
  • 0 signifie que vous voulez que le nombre soit complété par un zéro
  • 5 signifie que vous voulez une largeur de 5 chiffres
  • d signifie que c'est un nombre entier que vous voulez imprimer

0voto

Peter Tillemans Points 20129

Il existe des options de formatage qui peuvent être données à la chaîne de formatage printf :

 printf("The id of the first struct is: %05d",id);

voici un bon aperçu des options de formatage

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X