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

Определить сколько дней до конца года С - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.63
SimplyZero
0 / 0 / 1
Регистрация: 09.07.2011
Сообщений: 18
15.07.2011, 02:23     Определить сколько дней до конца года С #1
При помощи стандартной программы С(не С++) решить задачу
Даны натуральные числа a b c обозначающие число месяц и год.
Определить:
а) сколько осталось дней до конца года.
б)сколько плоных месяцев осталось до конца года.

за ранее спасибо за помощь.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.07.2011, 02:23     Определить сколько дней до конца года С
Посмотрите здесь:

C++ Вывести на экран монитора сколько прошло дней с нового года.
C++ сколько дней осталось до конца года
Сколько дней осталось до конца года C++
C++ Дан номер года (положительное целое число). Определить количество дней в этом году, учитывая, что обычный год насчитывает 365 дней, а високосный
C++ Определить количество дней в месяце для невысокосного года
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
An1ka
65 / 70 / 2
Регистрация: 30.06.2011
Сообщений: 176
15.07.2011, 04:37     Определить сколько дней до конца года С #2
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
#include <stdlib.h>
 unsigned how_many_days ( unsigned year, unsigned month, unsigned day)
{
  const unsigned month12[12] = { 31,29,31,30,31,30,31,31,30,31,30,31};
  unsigned days = month12[month-1] - day;
  if ( year % 4 && month <= 2) days--;
  while ( month < 12 )
    days += month12[month++];
  return days;
}
 int main ( )
{
   setlocale(LC_ALL,"Rus");
   unsigned year, month, day;
   printf ("Введите день, месяц, год : ");
   scanf ( "%d%d%d", &day, &month, &year);
   printf ( "Осталось до конца года полных дней : %d, осталось до конца года полных месяцев : %d \n", how_many_days( year, month, day), 12-month);
  system ( "pause");
 return 0;
}
SimplyZero
0 / 0 / 1
Регистрация: 09.07.2011
Сообщений: 18
16.07.2011, 11:09  [ТС]     Определить сколько дней до конца года С #3
чет не пашет...

setlocale(LC_ALL,"Rus"); не нравится эта команда.
zuq
 Аватар для zuq
95 / 95 / 2
Регистрация: 10.04.2011
Сообщений: 256
16.07.2011, 11:12     Определить сколько дней до конца года С #4
SimplyZero, #include <clocale>
Zverit
Уничтожитель печенек
 Аватар для Zverit
277 / 205 / 21
Регистрация: 07.02.2010
Сообщений: 723
16.07.2011, 12:30     Определить сколько дней до конца года С #5
SimplyZero,
C++
1
setlocale(LC_ALL,"Rus");
это локализация. Т.е. устанавливает региональные предпочтения. Первый параметр устанавливает где будет влиять, второй язык. Действует не во всех компиляторах.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
16.07.2011, 13:36     Определить сколько дней до конца года С #6
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#include <time.h>
 
int main(void){
    time_t curTime, nyTime;
    struct tm ny;
    
    curTime = time(NULL);
    ny = *localtime(&curTime);
    ny.tm_year += 1;
    ny.tm_mon = 0;
    ny.tm_mday = 1;
    ny.tm_hour = 0;
    ny.tm_min = 1;
    nyTime = mktime(&ny);
    
    printf("%d days to New Year.\n", ( nyTime - curTime ) / 60 / 60 / 24);
    
    return 0;
}
Gepar
 Аватар для Gepar
1173 / 529 / 20
Регистрация: 01.07.2009
Сообщений: 3,512
16.07.2011, 22:05     Определить сколько дней до конца года С #7
Если не работает Local ALL воспользуйтесь
C++
1
2
 SetConsoleCP(1251);
 SetConsoleOutputCP(1251);
Хотя я не знаю достаточно ли будет этого в вашем случае.
SimplyZero
0 / 0 / 1
Регистрация: 09.07.2011
Сообщений: 18
18.07.2011, 12:28  [ТС]     Определить сколько дней до конца года С #8
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
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
unsigned how_many_days ( unsigned year, unsigned month, unsigned day)
{
const unsigned month12[12] = { 31,29,31,30,31,30,31,31,30,31,30,31 };
unsigned days = month12[month-1] - day;
 
if ((year % 4 == 0 && year % 100) || year % 400 == 0);  // Кратный 4 и не кратный 100, или кратный 400
 
 
while ( month < 12 )
days += month12[month++];
return days;
}
int main ( )
{
setlocale(LC_ALL,"Rus");
unsigned year, month, day;
printf ("Введите день, месяц, год : ");
scanf ( "%d%d%d", &day, &month, &year);
printf ( "Осталось до конца года полных дней : %d, осталось до конца года полных месяцев : %d \n", how_many_days( year, month, day), 12-month);
system ( "pause");
return 0;
}
добавил пару строк но всеравно не работает хотя ошибок нету пишет Output:
1 Disallowed system call: SYS_fork x
как быть!? во вторник уже на практику ехать а прога не пашет...

Добавлено через 8 часов 53 минуты
easybudda спасибо твоя программа работает) а то что я кинул фигня))
теперь надо сколько полных месяцев...
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
18.07.2011, 12:35     Определить сколько дней до конца года С #9
Цитата Сообщение от SimplyZero Посмотреть сообщение
теперь надо сколько полных месяцев...
Не смешно даже. Номер месяца (начиная с 1) от 12 отнять.
SimplyZero
0 / 0 / 1
Регистрация: 09.07.2011
Сообщений: 18
18.07.2011, 15:06  [ТС]     Определить сколько дней до конца года С #10
все заработало всем большое спасибо за помощь!!))
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.07.2011, 16:34     Определить сколько дней до конца года С
Еще ссылки по теме:

C++ Программа определяет сколько дней от текущей даты осталось до нового года и дня рождения
Определить число дней в году по номеру года C++
По введенным с клавиатуры номеру месяца и дня определить, сколько дней осталось до Нового Года C++

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

Или воспользуйтесь поиском по форуму:
-=ЮрА=-
Заблокирован
Автор FAQ
18.07.2011, 16:34     Определить сколько дней до конца года С #11
Цитата Сообщение от Gepar Посмотреть сообщение
SetConsoleCP(1251);
*SetConsoleOutputCP(1251);
Gpear, чтобы это работало нужно не забыть изменить в настройках консоли шрифт на Lusinda Console
Yandex
Объявления
18.07.2011, 16:34     Определить сколько дней до конца года С
Ответ Создать тему
Опции темы

Текущее время: 21:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru