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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 145, средняя оценка - 4.94
programist alenka
0 / 0 / 0
Регистрация: 18.03.2009
Сообщений: 22
#1

Проверить, является ли год високосным - C++

24.03.2009, 15:45. Просмотров 20825. Ответов 24
Метки нет (Все метки)

1.Написать програму которая проверяет являєтся год вісокосним

2.составить програму которая выводит на екран меню 1.Первое 2.Второе 3.Трете.И взависимости от вибраного пункта выдает одно из сообщений(получите суп,получите картошку,получите кампот,оставайтесь голодным)
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.03.2009, 15:45     Проверить, является ли год високосным
Посмотрите здесь:
C++ Проверить, является ли год високосным
является ли год високосным C++
Программа, вычисляющая, является ли год високосным C++
C++ Написать программу, которая проверяет, является ли год високосным
C++ Дано натуральное число n. Определить, является ли високосным год с таким номером
C++ Написать программу, которая предлагает пользователю ввести год, проверяет, является ли он високосным
Написать программу, которая предлагает пользователю ввести год, проверяет, является ли он високосным (кратен 4, если заканчивается на 00, то еще кр C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
odip
Эксперт С++
7155 / 3295 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
30.08.2009, 18:55     Проверить, является ли год високосным #21
В libc нашел макрос:
C
1
#define isleap(y) (((y) % 4) == 0 && (((y) % 100) != 0 || ((y) % 400) == 0))
novi4ok
551 / 504 / 8
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
30.08.2009, 22:39     Проверить, является ли год високосным #22
я хотя и не люблю макросы, но в данном случае это, наверное, наиболее удачный вариант.
wariorswars
2 / 2 / 0
Регистрация: 12.08.2011
Сообщений: 29
30.09.2013, 03:10     Проверить, является ли год високосным #23
Цитата Сообщение от odip Посмотреть сообщение
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
#include <stdio.h>
#include <stdlib.h>
 
int is_leap_year( int year );
 
int main( int argc, char *argv[] ) {
    
int i, year;
 
argc--; argv++;
for ( i= 0; i<argc; i++ ) {
    year= atoi( argv[i] );
    printf( "year=%d leap=%d\n", year, is_leap_year( year ) );
}
return 0;
 
} /* main() */
 
 
int is_leap_year( int year ) {
 
return (year%100 == 0) ? (year%400 == 0) : (year%4 == 0);
 
} /* is_leap_year() */
А можно и так:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
    int year;
    char str[] = "Високостный", str1[] = "Не високостный";
    system("chcp 1251 > nil");
    
    printf("Ввести вреамя года и напечатать является ли он високостным\n");
    scanf("%d", &year)&&
        printf("%s\n",(year%4==0 || (year%100!=0 && year%400==0)) ?  str : str1);
    
    system("pause");
}
numizmat
0 / 0 / 0
Регистрация: 18.01.2015
Сообщений: 4
08.09.2015, 11:07     Проверить, является ли год високосным #24
Добавлю может кому понадобиться. Здесь еще проверяется ввод дней в феврале..
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
28
    int visokos;
    int year, month, day;
    int k = 0;
    int days_v_godu[13] = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
    string mes = "Вы ввели неправильно значение, повторите ввод";
 
    while (k != 1)
    {
        cout << "Введите год = ";
        cin >> year;
        if (year >= 0){
            visokos = (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) ? 1 : 0;
            k = 1;
        }
        else cout << mes << endl;
    }
    
        for (;;)
        { cout << "Введите месяц ="; cin >> month;
            if ((month >= 1) && (month <= 12))
             { cout << "Введите день ="; cin >> day;
                 { if ((day <= days_v_godu[month+visokos]) && (day >= 0))
                      break;
                    else cout << mes << endl;
                 }
             }
            else cout << mes << endl;
            }
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.10.2015, 15:20     Проверить, является ли год високосным
Еще ссылки по теме:
C++ Используя функцию year проверки ли год високосным
C++ Проверка для заданного года, является ли он високосным
C++ Определить, является ли введенное значение года високосным, если введено корректное значение
Проверить, является ли целое число трёхзначным, является ли оно квадратом C++
Проверить, образуют ли заданные день/месяц/год правильную дату C++

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

Или воспользуйтесь поиском по форуму:
SmittWesson
120 / 169 / 17
Регистрация: 04.06.2014
Сообщений: 1,286
21.10.2015, 15:20     Проверить, является ли год високосным #25
Знаю, что некротема. Знаю, что ТС уже никогда не появится. Но, стала задача, получить старшее число месяца, учитывая все високосные годы, включая "особые" такие как 2000, 2400 и т.д.
Вот, что у меня получилось:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
struct SDateTime
{
  int time;// Время в формате hour * 100 + minute
  unsigned short
  day,    // день недели 0-6
  number,// число 1-31
  month, // месяц 1-12
  year;  // год
};
 
SDateTime date = ParseDateTime(Now());// Получаем текущую дату, день недели и время, не важно как
  int num[12] = {31,28,31,30,31,30,31,31,30,31,30,31};
  // Определяем високосный или не високосный год
  int year = date.year;
  if(date.month == 2)// это февраль? Если февраль, делаем проверку
    if((year % 4 == 0 && year % 100 == 0 && year % 400 == 0) ||// Проверяем, делится ли год на все делители
      (year % 4 == 0 && year % 100 != 0 && year % 400 != 0)) // Проверяем, делится ли год на 4 без остатка и на 100-400 с остатком
      date.number = num[date.month-1] + 1;// Високосный - прибавляем единичку
    else date.number = num[date.month - 1];// Не високосный - просто переписываем.
Yandex
Объявления
21.10.2015, 15:20     Проверить, является ли год високосным
Ответ Создать тему
Опции темы

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