Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/48: Рейтинг темы: голосов - 48, средняя оценка - 4.50
0 / 0 / 1
Регистрация: 09.07.2011
Сообщений: 18
1

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

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

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

за ранее спасибо за помощь.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.07.2011, 02:23
Ответы с готовыми решениями:

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

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

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

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

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

setlocale(LC_ALL,"Rus"); не нравится эта команда.
0
95 / 95 / 5
Регистрация: 10.04.2011
Сообщений: 256
16.07.2011, 11:12 4
SimplyZero, #include <clocale>
0
Уничтожитель печенек
281 / 209 / 49
Регистрация: 07.02.2010
Сообщений: 724
16.07.2011, 12:30 5
SimplyZero,
C++
1
setlocale(LC_ALL,"Rus");
это локализация. Т.е. устанавливает региональные предпочтения. Первый параметр устанавливает где будет влиять, второй язык. Действует не во всех компиляторах.
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
12458 / 7482 / 1753
Регистрация: 25.07.2009
Сообщений: 13,762
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
1186 / 542 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
16.07.2011, 22:05 7
Если не работает Local ALL воспользуйтесь
C++
1
2
 SetConsoleCP(1251);
 SetConsoleOutputCP(1251);
Хотя я не знаю достаточно ли будет этого в вашем случае.
0
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
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
12458 / 7482 / 1753
Регистрация: 25.07.2009
Сообщений: 13,762
18.07.2011, 12:35 9
Цитата Сообщение от SimplyZero Посмотреть сообщение
теперь надо сколько полных месяцев...
Не смешно даже. Номер месяца (начиная с 1) от 12 отнять.
0
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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.07.2011, 16:34
Помогаю со студенческими работами здесь

Определить, сколько полных дней осталось до конца года
Числа a,b,c обозначают дату. Определить, сколько полных дней осталось до конца года.

Сколько дней до конца года
Написать программу &quot;Сколько дней осталось до конца года?&quot; Вводим дату\месяц\год.

Дан n день текущего года. определить сколько полных недель и сколько недель осталось до конца года
дан n день текущего года. определить сколько полных недель и сколько недель осталось до конца года...

Определить, сколько дней прошло с начала года
Формат день.месяц.год Определить сколько дней прошло с начала года, дату предыдущего дня Помогите...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru