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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.63
SimplyZero
0 / 0 / 1
Регистрация: 09.07.2011
Сообщений: 18
#1

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

15.07.2011, 02:23. Просмотров 2536. Ответов 10
Метки нет (Все метки)

При помощи стандартной программы С(не С++) решить задачу
Даны натуральные числа a b c обозначающие число месяц и год.
Определить:
а) сколько осталось дней до конца года.
б)сколько плоных месяцев осталось до конца года.

за ранее спасибо за помощь.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.07.2011, 02:23
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Определить сколько дней до конца года С (C++):

Сколько дней осталось до конца года? - C++
Написать програму которая спрашивает у пользователя дату в формате ДД ММ ГГГГ и вычисляет сколько дней осталось до конца года. Я...

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

Определить сколько дней осталось до конца месяца - C++
Даны день, месяц и год. Вывести дату в виде «23 мая 1978 года.». Определить сколько дней осталось до конца месяца.

По введенным с клавиатуры номеру месяца и дня определить, сколько дней осталось до Нового Года - C++
Здравствуйте!Написал программу, но как то коряво получилось помогите пожалуйста привести к удобоваримому виду. Задание: Напишите...

Дан номер года (положительное целое число). Определить количество дней в этом году, учитывая, что обычный год насчитывает 365 дней, а високосный - C++
Дан номер года (положительное целое число). Определить количество дней в этом году, учитывая, что обычный год насчитывает 365 дней, а...

Вывести на экран монитора сколько прошло дней с нового года. - C++
помогите, пожалуйста.. дали задачу уже запарился, не как не пойму что тут к чему :wall: Задача : Ввести с клавиатуры дату в формате...

10
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;
}
0
SimplyZero
0 / 0 / 1
Регистрация: 09.07.2011
Сообщений: 18
16.07.2011, 11:09  [ТС] #3
чет не пашет...

setlocale(LC_ALL,"Rus"); не нравится эта команда.
0
zuq
95 / 95 / 2
Регистрация: 10.04.2011
Сообщений: 256
16.07.2011, 11:12 #4
SimplyZero, #include <clocale>
0
Zverit
Уничтожитель печенек
277 / 205 / 21
Регистрация: 07.02.2010
Сообщений: 723
16.07.2011, 12:30 #5
SimplyZero,
C++
1
setlocale(LC_ALL,"Rus");
это локализация. Т.е. устанавливает региональные предпочтения. Первый параметр устанавливает где будет влиять, второй язык. Действует не во всех компиляторах.
0
easybudda
Модератор
Эксперт CЭксперт С++
9683 / 5633 / 956
Регистрация: 25.07.2009
Сообщений: 10,813
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;
}
1
Gepar
1177 / 533 / 20
Регистрация: 01.07.2009
Сообщений: 3,517
16.07.2011, 22:05 #7
Если не работает Local ALL воспользуйтесь
C++
1
2
 SetConsoleCP(1251);
 SetConsoleOutputCP(1251);
Хотя я не знаю достаточно ли будет этого в вашем случае.
0
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 спасибо твоя программа работает) а то что я кинул фигня))
теперь надо сколько полных месяцев...
0
easybudda
Модератор
Эксперт CЭксперт С++
9683 / 5633 / 956
Регистрация: 25.07.2009
Сообщений: 10,813
18.07.2011, 12:35 #9
Цитата Сообщение от SimplyZero Посмотреть сообщение
теперь надо сколько полных месяцев...
Не смешно даже. Номер месяца (начиная с 1) от 12 отнять.
0
SimplyZero
0 / 0 / 1
Регистрация: 09.07.2011
Сообщений: 18
18.07.2011, 15:06  [ТС] #10
все заработало всем большое спасибо за помощь!!))
0
-=ЮрА=-
Заблокирован
Автор FAQ
18.07.2011, 16:34 #11
Цитата Сообщение от Gepar Посмотреть сообщение
SetConsoleCP(1251);
*SetConsoleOutputCP(1251);
Gpear, чтобы это работало нужно не забыть изменить в настройках консоли шрифт на Lusinda Console
0
18.07.2011, 16:34
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.07.2011, 16:34
Привет! Вот еще темы с ответами:

Программа определяет сколько дней от текущей даты осталось до нового года и дня рождения - C++
Программа определяет сколько дней от текущей даты осталось до нового года и дня рождения ,текущую дату и день рождения вводится с...

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

Определить количество дней в месяце для невысокосного года - C++
Дан номер месяца - целое число в диапазоне 1-12 (1-январь,2- февраль, т.д). Определить количество дней в этом месяце для невысокосного года.

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


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

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