Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.83
unipharma
0 / 0 / 0
Регистрация: 10.11.2012
Сообщений: 54
#1

По заданной дате (число, месяц, год, например, 6, 5, 2012) вычислить номер дня в году - C++

13.02.2013, 19:16. Просмотров 1783. Ответов 5
Метки нет (Все метки)

2)По заданной дате (число, месяц, год, например, 6, 5, 2012) вычислить номер дня в году (от 1до 365 или 366, если год високосный).
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.02.2013, 19:16
Здравствуйте! Я подобрал для вас темы с ответами на вопрос По заданной дате (число, месяц, год, например, 6, 5, 2012) вычислить номер дня в году (C++):

Вычислить число и месяц в невисокосном году по номеру дня - C++
Вычислить число и месяц в невисокосном году по номеру дня.

Перевести номер дня в году в дату и месяц - C++
Препод дал задачу. Условные операторы применять нельзя, вот в этом и касяк а то бы я сделал! Она звучит так:В году 365 дней (не...

По заданному году и порядковому номеру дня в году определять день недели и месяц этого дня - C++
Задачу не можем решить 3 людьми. ______________________________ Написать программу, которая бы позволяла по заданному году и...

По дате определить порядковый номер дня в году - C++
По введенной дате (месяц, год, число) определить порядковый номер дня в году

По дате d,m,y определить дату следующего дня d1,m1,y1( d-день , m-месяц, y-год). Использовать оператор switch - C++
По дате d,m,y определить дату следующего дня d1,m1,y1( d-день , m-месяц, y-год). Использовать оператор switch

программа которая по номеру дня в году выводит число и месяц - C++
программа которая по номеру дня в году выводит число и месяц (например, 7-й день года — 7 января) что б при запуске появилось сообщение...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
makShot
15 / 15 / 1
Регистрация: 07.07.2011
Сообщений: 38
15.02.2013, 08:42 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <iostream>
 
using namespace std;
 
int main(int argc, const char * argv[])
{
 
    int A[12] = {31,28,31,30,31,30,31,31,30,31,30,31};
    
    cout<<"Input your date: ";
    int day,month,year;
    cin>>day>>month>>year;
    
    int x = 0;
    
    if (year % 4 == 0)
        A[1]++;
    
    for (int i = 0; i < month-1; i++)
        x+=A[i];
    
    x+=day;
    
    cout<<endl<<x<<endl;
    
    return 0;
}
2
gazlan
3131 / 1906 / 285
Регистрация: 27.08.2010
Сообщений: 5,132
Записей в блоге: 1
15.02.2013, 11:24 #3
Вот здесь ошибка:

if (year % 4 == 0)
http://en.wikipedia.org/wiki/Leap_year
1
makShot
15 / 15 / 1
Регистрация: 07.07.2011
Сообщений: 38
15.02.2013, 13:06 #4
gazlan, да, достаточно крутая, серьезная и весомая ошибка в коде!
0
gazlan
3131 / 1906 / 285
Регистрация: 27.08.2010
Сообщений: 5,132
Записей в блоге: 1
15.02.2013, 13:25 #5
крутая, серьезная и весомая ошибка в коде!
Для всех лет кратных 100 (но не 400), для любой даты, начиная с марта, подсчет будет неверен. И если это бухгалтерский расчет, то будет не до шуток.

И да, это в самом деле "серьезная ошибка" - заведомо неправильные результаты легко диагностируются, а вот когда ответ "почти правилен", поиск ошибки может стать многодневным квестом.

Вот здесь http://gazlan.freetzi.com/block_note/cuckoo_egg.html можете почитать историю одного расследования:

Компьютерные счета не совсем сходились: за последний месяц они показывали недостачу в 75 центов при общей сумме 2.387 долларов.
0
makShot
15 / 15 / 1
Регистрация: 07.07.2011
Сообщений: 38
15.02.2013, 14:11 #6
Самое главное, что программа правильно делает свое дело.

А если человек блистает знаниями в области високосных годов, то ему не составит труда дописать необходимое условие в цикл if.

К сожалению, меня и всех людей, которых я лично знаю, в школе учили только тому, что високосный год кратен цифре 4 - вот такая плохая система образования. А для бухгалтера, кстати, будет очень важен расчет на 1700 год.

Теперь Вы мой кумир, без всяких сомнений.
2
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.02.2013, 14:11
Привет! Вот еще темы с ответами:

По номеру дня в году вывести число и месяц в общепринятой форме - C++
Составить программу, которая по номеру дня в году выводит число и месяц в общепринятой форме. Например, 33-ий день в году – 2 февраля.

Оформить в виде структуры год, месяц, число. Описать функцию для определения дня недели - C++
Оформить в виде структуры год, месяц, число. Описать функцию для определения дня недели, на который приходится заданная дата (учесть, что...

Определить номер дня недели для K-го дня года, если известно, что в этом году 1 января было вторником. - C++
Задача на С++ Вот условие: Дни недели пронумерованы следующим образом: 1 — понедельник, 2 — вторник, … , 6 — суббота, 7 — воскресенье....

10.23. Дата некоторого дня характеризуется гремя натуральными числами: g (год), m (порядковый номер месяца) и n (число). По заданным g, n и m определи - C++
10.23. Дата некоторого дня характеризуется гремя натуральными числами: g (год), m (порядковый номер месяца) и n (число). По заданным g, n и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
15.02.2013, 14:11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru