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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 51, средняя оценка - 4.80
include
2 / 2 / 0
Регистрация: 02.02.2010
Сообщений: 5
13.02.2010, 22:21     По заданному году и номеру месяца определить количество дней в этом месяце #1
Помогите. Не могу решить.

Составить программу для решения текстовой задачи с помощью оператора выбора.

Составить программу, которая по заданным году и номеру месяца определяет количество дней в этом месяце.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.02.2010, 22:21     По заданному году и номеру месяца определить количество дней в этом месяце
Посмотрите здесь:

C++ Дан номер года (положительное целое число). Определить количество дней в этом году, учитывая, что обычный год насчитывает 365 дней, а високосный
создать программу, которая печатает название месяца и количество дней в месяце. год вводится с клавиатуры C++
Составить программу, которая по введенному номеру месяца и номеру года выводит количество дней в этом месяце(использовать операторы printf и scanf) C++
C++ Составить программу, которая в зависимости от порядкового номера месяца выводит на экран количество дней в этом месяце
Определить число дней в году по номеру года C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jony Wocker
45 / 45 / 2
Регистрация: 19.11.2009
Сообщений: 362
13.02.2010, 23:21     По заданному году и номеру месяца определить количество дней в этом месяце #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 <conio.h>
#include <iostream.h>
#include <vcl.h>
//---------------------------------------------------------------------------
int main()
{clrscr();
int w;
cout<<"Vvedite No mesyaca:\n"; cin>>w;
switch(w)
{case 1: cout<<"31";break;
 case 2: cout<<"28";break;
 case 3: cout<<"31";break;
 case 4: cout<<"30";break;
 case 5: cout<<"31";break;
 case 6: cout<<"30";break;
 case 7: cout<<"31";break;
 case 8: cout<<"31";break;
 case 9: cout<<"30";break;
 case 10: cout<<"31";break;
 case 11: cout<<"30";break;
 case 12: cout<<"31";break;}
cout<<" dnei";
getch();
return 0;
}
//---------------------------------------------------------------------------
Day
 Аватар для Day
1149 / 954 / 57
Регистрация: 29.10.2009
Сообщений: 1,384
14.02.2010, 12:05     По заданному году и номеру месяца определить количество дней в этом месяце #3
Цитата Сообщение от Jony Wocker Посмотреть сообщение
А вот как при этом года применить...
C
1
2
3
4
5
6
7
8
 
int is_leap_year(int year) /* Возвращает 1 если год високосный  */
{
   if ((year % 4) == 0 && (year % 4000) != 0 &&
      ((year % 100) != 0 || (year % 400) == 0))
   return (1);
   else  return (0);
}
exclaim1
 Аватар для exclaim1
1 / 1 / 0
Регистрация: 10.02.2010
Сообщений: 32
14.02.2010, 13:22     По заданному году и номеру месяца определить количество дней в этом месяце #4
Почему не могу компилировать? Ошибки находит. Пользуюсь Visual Studio 2008. Може для нее чтото надо переделать. Помогите, что именно?
krocodil7632
0 / 0 / 0
Регистрация: 12.02.2010
Сообщений: 14
14.02.2010, 13:41     По заданному году и номеру месяца определить количество дней в этом месяце #5
наверное библиотека
C++
1
#include <iostream>
odip
Эксперт C++
 Аватар для odip
7224 / 3286 / 58
Регистрация: 17.06.2009
Сообщений: 14,165
14.02.2010, 18:21     По заданному году и номеру месяца определить количество дней в этом месяце #6
Какой-то слишком мудренный код,
и так не понял зачем проверять деление на 4000 ?

Вот примерное так делается проверка в системных библиотеках:

C
1
2
3
4
5
int is_leap_year( int year ) {
 
return (year%100==0) ? (year%400==0) : (year%4==0);
    
} /* is_leap_year() */
exclaim1
 Аватар для exclaim1
1 / 1 / 0
Регистрация: 10.02.2010
Сообщений: 32
14.02.2010, 22:13     По заданному году и номеру месяца определить количество дней в этом месяце #7
Цитата Сообщение от krocodil7632 Посмотреть сообщение
наверное библиотека
Код C++1 #include <iostream>
Это я исправил но немогу разобратся с этой ошибкой: fatal error C1083: Не удается открыть файл include: vcl.h: No such file or directory
ccoder
 Аватар для ccoder
8 / 8 / 3
Регистрация: 05.02.2010
Сообщений: 41
14.02.2010, 23:29     По заданному году и номеру месяца определить количество дней в этом месяце #8
Цитата Сообщение от exclaim1 Посмотреть сообщение
Это я исправил но немогу разобратся с этой ошибкой: fatal error C1083: Не удается открыть файл include: vcl.h: No such file or directory
Если вы используете не Borland, то и включение данного хэдера vcl.h абсолютно ни к чему!
exclaim1
 Аватар для exclaim1
1 / 1 / 0
Регистрация: 10.02.2010
Сообщений: 32
14.02.2010, 23:35     По заданному году и номеру месяца определить количество дней в этом месяце #9
Цитата Сообщение от ccoder Посмотреть сообщение
Если вы используете не Borland, то и включение данного хэдера vcl.h абсолютно ни к чему!
если полностю убрать
C++
1
#include <vcl.h>
тогда еще хуже :
error C3861: clrscr: идентификатор не найден
error C2065: cout: необъявленный идентификатор
и таких ошибок 16!!! Как правильно заменить для Visual Studio?
ccoder
 Аватар для ccoder
8 / 8 / 3
Регистрация: 05.02.2010
Сообщений: 41
14.02.2010, 23:41     По заданному году и номеру месяца определить количество дней в этом месяце #10
C++
1
2
3
4
5
6
7
#include <iostream.h>
#include <conio.h>
using namespace std; // Использовать стандартное пространство имен и будет вам счастье ;)
int main()
{
// код...
}
exclaim1
 Аватар для exclaim1
1 / 1 / 0
Регистрация: 10.02.2010
Сообщений: 32
14.02.2010, 23:51     По заданному году и номеру месяца определить количество дней в этом месяце #11
Вот код с которым я щас работаю (пока пытаюсь разобратся тока с днями):
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 <iostream>
#include <conio.h>
using namespace std; // Использовать стандартное пространство имен
int main()
{clrscr();
int w;
cout<<"Vvedite No mesyaca:\n"; cin>>w;
switch(w)
{case 1: cout<<"31";break;
 case 2: cout<<"28";break;
 case 3: cout<<"31";break;
 case 4: cout<<"30";break;
 case 5: cout<<"31";break;
 case 6: cout<<"30";break;
 case 7: cout<<"31";break;
 case 8: cout<<"31";break;
 case 9: cout<<"30";break;
 case 10: cout<<"31";break;
 case 11: cout<<"30";break;
 case 12: cout<<"31";break;}
cout<<" dnei";
getch();
system ("payse")
return 0;
}
И всеровно невыходит: error C3861: clrscr: идентификатор не найден
Что-то опять не то... только что?
ccoder
 Аватар для ccoder
8 / 8 / 3
Регистрация: 05.02.2010
Сообщений: 41
14.02.2010, 23:53     По заданному году и номеру месяца определить количество дней в этом месяце #12
Вместо clrscr();, напишите system("cls");.
Хотя я честно говоря не совсем понял зачем там очистка экрана в коде
exclaim1
 Аватар для exclaim1
1 / 1 / 0
Регистрация: 10.02.2010
Сообщений: 32
15.02.2010, 00:03     По заданному году и номеру месяца определить количество дней в этом месяце #13
что значит: fatal error LNK1120: 1 неразрешенных внешних элементов ?
PS: я только недавно начал изучать С++, так что извеняюсь за излишнюю доставаемость.
ccoder
 Аватар для ccoder
8 / 8 / 3
Регистрация: 05.02.2010
Сообщений: 41
15.02.2010, 00:16     По заданному году и номеру месяца определить количество дней в этом месяце #14
Цитата Сообщение от exclaim1 Посмотреть сообщение
что значит: fatal error LNK1120: 1 неразрешенных внешних элементов ?
PS: я только недавно начал изучать С++, так что извеняюсь за излишнюю доставаемость.
Хм. Странно. Вы проект как создавали ? Только что проверил в VS2008 - всё скомпилилось.
И еще одно замечание:
C++
1
2
3
4
5
switch(w)
{case 1: cout<<"31";break;
 // остальные операторы case...
 default: cout << "You entered wrong digit. It must be in 1-12 diapazon\n";
}
Всегда предусматривайте default действие в switch. например в вашем случае, если пользователь введет неверное значение (в диапазоне больше > 12, например), ему будет выдано сообщение "You entered wrong digit. It must be in 1-12 diapazon"...
Hi-Hi
0 / 0 / 0
Регистрация: 16.11.2010
Сообщений: 18
16.11.2010, 19:03     По заданному году и номеру месяца определить количество дней в этом месяце #15
fatal error C1083: Cannot open include file: 'Base.h': No such file or directory
а ето в vcl.h.
что мне делать,Помогите,что делать?????????????????????
Nema|ameN
3 / 3 / 1
Регистрация: 21.10.2010
Сообщений: 10
17.11.2010, 01:38     По заданному году и номеру месяца определить количество дней в этом месяце #16
вот моя програма, возможно поможет....
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include <stdio.h>
int main(void)
{
    int day, month, year;
    int leapYear;
    printf("Enter number of Year: ");
    scanf("%d", & year);
    printf("Enter number of Month: ");
    scanf("%d", & month);
    if( (month < 1) || (month > 12) ){
                 printf("there is no such month in our galaxy\n\The input is not correct\n");
                 }
                 if( (month >= 1) && (month <=12) ){
                      printf("Enter number of Day: ");
                      scanf("%d", & day);
                      if(day < 1 || day > 31) printf("Impossible number of days\n");
                      }
                      if( (month == 1) || (month == 3) || (month == 5) || (month == 7) || (month == 8) || (month == 10) || (month == 12) ){
                           if( (day >= 1) && (day <= 31) ){
                               printf("This day belongs to Month %d\n\The input is correct\n", month);
                               }
                               else
                               printf("This day does not belongs to Month %d\n\The input is not correct\n", month);
                               }
                               if( (month == 4) || (month == 6) || (month == 9) || (month == 11) ){
                                    if( (day >= 1) && (day <=30) ){
                                        printf("This day belongs to Month %d\n\The input is correct\n", month);
                                        }
                                        else
                                        printf("This day does not belongs to Month %d\n\The input is not correct\n", month);
                                        }
                                        if( (month == 2) && (year%4 == 0) ){
                                             if( (day >= 1) && (day <=29) ){
                                                 printf("This day belongs to Month %d\n\The input is correct\n", month);
                                                 }
                                                 else 
                                                 printf("This day doesn't belong to leap year!\n\The input is not correct\n");
                                                 }
                                                 if(month == 2){
                                                      if( (day >= 1) && (day <=28) ){
                                                          printf("This day belongs to Month %d\n\The input is not correct", month);
                                                          }
                                                          else
                                                          printf("This day does not belongs to Month %d\n\The input is not correct\n", month);
                                                          }
system("pause");
return 0;
}
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
17.11.2010, 01:51     По заданному году и номеру месяца определить количество дней в этом месяце #17
Nema|ameN, Да вы батенька наркоман...

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 <stdio.h>
 
int main()
{
    int month=0, days=31, year=0;
    fprintf(stdout, "Enter number of month: ");
    fscanf(stdin, "%d", &month);
    fprintf(stdout, "Enter year: ");
    fscanf(stdin, "%d", &year);
    if((month<0||month>12) || (year<0))
    {
        fprintf(stderr, "Wrong input data\n");
    }
    switch(month)
    {
        case 4: case 6: case 9: case 11:
            days=30;
        break;
        case 2:
        {
            (year%100==0) ? (year%400==0&&year%4==0) ? days=29 : days=28 : (year%4==0) ? days=29 : days=28;
        }
        break;
     }
     fprintf(stdout, "In %d month in %d year is %d days", month, year, days);
     return 0;
}
Nema|ameN
3 / 3 / 1
Регистрация: 21.10.2010
Сообщений: 10
17.11.2010, 01:59     По заданному году и номеру месяца определить количество дней в этом месяце #18
Цитата Сообщение от ForEveR Посмотреть сообщение
Nema|ameN, Да вы батенька наркоман...
Я только начал учить, а что там не так? чуток переделать и будет работать...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.11.2010, 02:02     По заданному году и номеру месяца определить количество дней в этом месяце
Еще ссылки по теме:

C++ Напишите функцию, определяющую количество дней в этом году
C++ Составить программу, которая в зависимости от порядкового номера месяца выводит на экран количество дней в этом месяце
По номеру месяца вывести на печать количество дней в нем C++

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

Или воспользуйтесь поиском по форуму:
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
17.11.2010, 02:02     По заданному году и номеру месяца определить количество дней в этом месяце #19
Nema|ameN, Ничего, просто слишком жестоко. Ну да, это я понимаю. У меня у самого коды были мягко скажем жесткие. Тут просто лучше задействовать switch нежели городить барьер из if-ов
Yandex
Объявления
17.11.2010, 02:02     По заданному году и номеру месяца определить количество дней в этом месяце
Ответ Создать тему
Опции темы

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