Как создать идентификационный номер, который выглядит следующим образом: 00001 ... 00002 ....? - PullRequest
2 голосов
/ 03 июня 2011

Мне нужно создать несколько идентификаторов для нескольких структур. Теперь я хочу, чтобы каждый идентификатор начинался с 00001 до 99999

например:

  • идентификатор первой структуры 00001
  • идентификатор второй структуры 00002
  • ... и так далее ...

Теперь мне нужно scanf, а затем printf, чтобы идентификатор, показанный в черном окне, выглядел так: The id of the first struct is: 00001

Как мне это сделать?

Нужно ли использовать обычные int или double?

А как мне использовать цикл for (i=0 ; i<99999 ;i++) пока я последние цифры?

Большое спасибо!

Ответы [ 3 ]

2 голосов
/ 03 июня 2011

Для числовой переменной отсутствует понятие «ведущих нулей». Поэтому, если вы хотите использовать «0001» в своем коде, вам придется преобразовать его в строку, добавив, при необходимости, начальные 0.

1 голос
/ 03 июня 2011

Вы можете сохранить идентификатор как обычный int.

Когда вам нужно распечатать его, просто используйте соответствующую строку формата для printf, например так:

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

Рабочий пример доступен здесь .

В строке формата %05d означает:

  • % означаетэто параметр форматирования
  • 0 означает, что вы хотите, чтобы число дополнялось нулями
  • 5 означает, что вы хотите, чтобы оно было 5 цифр шириной
  • d означает, чтоцелое число, которое вы хотите напечатать
0 голосов
/ 03 июня 2011

Существуют параметры форматирования, которые можно задать для строки форматирования printf:

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

вот хороший обзор параметров форматирования

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...