|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
15.10.2020, 21:47 | #1 |
Пользователь
Регистрация: 15.10.2020
Сообщений: 20
|
Преобразование переменной через цикл
Программа
Код:
в конечном виде хочется видеть это так Код:
пробовал вот так Код:
Код:
Код:
помогите пожалуйста написать правильно цикл думаю ошибка банальная, но не могу её найти p.s. надеюсь понятно объяснил проблему. |
15.10.2020, 22:00 | #2 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,341
|
Особо не вглядывался в саму идею ифов, но сравнение на равенство пишется "==", а проверка на истинность двух условий через && (как в вашем последнем примере).
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
15.10.2020, 22:16 | #3 |
Пользователь
Регистрация: 15.10.2020
Сообщений: 20
|
BDA,
а можно ли тогда так записывать ? Код:
ну наверное кроме того что m=d; m=d1; m1=d; m1=d1; хотя они несут разные значения, но код не работает ( что я делаю не так ? может что то не учел ? |
15.10.2020, 22:23 | #4 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,341
|
Можно рассматривать только случаи, меняющие год:
Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
15.10.2020, 22:30 | #5 |
Пользователь
Регистрация: 15.10.2020
Сообщений: 20
|
BDA,
спасибо за такое упрощение , даже не думал в таком ключе ( в итоге всё заработало я даже поменял код на ответе , = не поменял на == в одном месте и из за этого не работало ) но осталась лишь одна проблема с годами 2000 2400 2800 , программа не считает их за высокосный год , а считает за обычный , вот именно эти 3 года ) в чем может быть проблема ?) upd: 2800 считает |
15.10.2020, 22:40 | #6 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,341
|
Честно говоря, не понимаю, почему в коде вычитается 1920 или 1800, если в структуре должно храниться количество лет с 1900 (т.е. вычитать нужно 1900). Второе замечание: зависит от постановки задачи, но, скорее всего, ожидается самостоятельный подсчет дней до дня рождения, а не через ctime плюшки.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
15.10.2020, 22:45 | #7 |
Пользователь
Регистрация: 15.10.2020
Сообщений: 20
|
BDA,
потому что если прописать 1900 то он не будет затрагивать 1920 год а мне нужно от 1920 до 3000 включительно и методом подбора я решил это для себя так( upud: буду признателен если посоветуете где почитать про самостоятельный подсчет Последний раз редактировалось ep1ckby; 15.10.2020 в 22:52. |
15.10.2020, 23:09 | #8 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,341
|
Идея самостоятельного подсчета. Завести массив количества дней в месяцах [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]. Завести переменную для подсчета суммы. Пробегаться по месяцам от m1+1 до 12 и от 1 до m-1 (если день рождения уже был) или от m1+1 до m-1 (если еще не было). Складывать количество дней. Прибавить к этой сумме дни с краев (в месяце m1 вычесть уже прошедшие дни, а в месяце m просто прибавить d дней). Не забыть учитывать високосность текущего года (если цикл пройдет по февралю).
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
Последний раз редактировалось BDA; 15.10.2020 в 23:11. |
15.10.2020, 23:20 | #9 |
Пользователь
Регистрация: 15.10.2020
Сообщений: 20
|
BDA,
спасибо , как раз этим тогда и займусь) а по поводу Код:
|
16.10.2020, 01:24 | #10 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,341
|
Ну если исходить из того, что структура поддерживает года от 1900, то должно правильно считаться от него же. Вероятность, что ошибка в самой библиотеке, крайне низка. Поэтому, легче предположить, что ошибка или в коде или в неверной интерпретации результата. Чтобы это определить, выложите тогда текущий исходный код, входные данные, полученный результат работы программы и ожидаемый результат. В принципе, имеет смысл довести до ума вариант с ctime, чтобы потом сравнивать результат самостоятельного подсчета с ним.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
[решено] Преобразование строки из переменной в дату через datetime.strptime - Python | lazgo | Python | 3 | 28.06.2018 14:47 |
Цикл for...to... глюк переменной | mosq | Общие вопросы Delphi | 15 | 04.03.2015 10:23 |
преобразование переменной даты в постоянную | strannick | Microsoft Office Excel | 6 | 25.12.2011 09:14 |
Преобразование данных таблицы переменной в переменную | xap4o | PHP | 4 | 24.02.2010 19:41 |
преобразование переменной AnsiString в PAnsiChar для использования в процедуре loadlibrary | The Best | Общие вопросы Delphi | 2 | 12.07.2009 20:42 |