Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/145: Рейтинг темы: голосов - 145, средняя оценка - 4.75
2 / 2 / 0
Регистрация: 02.02.2010
Сообщений: 5

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

13.02.2010, 22:21. Показов 29626. Ответов 18
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите. Не могу решить.

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

Составить программу, которая по заданным году и номеру месяца определяет количество дней в этом месяце.
1
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.02.2010, 22:21
Ответы с готовыми решениями:

По номеру месяца в году найти количество дней в этом месяце
Даны номер месяца и номер года. Найдите сколько дней в этом месяце. При вводе неверного номера...

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

Дан номер месяца года n. По номеру месяца определить, сколько дней в этом месяце. Где здесь ошибки?
#include <iostream> #include <cstdlib> using namespace std; int main(int argc, char** argv) {...

18
45 / 45 / 3
Регистрация: 19.11.2009
Сообщений: 362
13.02.2010, 23:21
С месяцами проще.
А вот как при этом года применить...

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;
}
//---------------------------------------------------------------------------
1
Day
 Аватар для Day
1180 / 990 / 83
Регистрация: 29.10.2009
Сообщений: 1,385
14.02.2010, 12:05
Цитата Сообщение от 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);
}
1
 Аватар для exclaim1
1 / 1 / 0
Регистрация: 10.02.2010
Сообщений: 32
14.02.2010, 13:22
Почему не могу компилировать? Ошибки находит. Пользуюсь Visual Studio 2008. Може для нее чтото надо переделать. Помогите, что именно?
0
0 / 0 / 0
Регистрация: 12.02.2010
Сообщений: 14
14.02.2010, 13:41
наверное библиотека
C++
1
#include <iostream>
0
Эксперт С++
 Аватар для odip
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
14.02.2010, 18:21
Какой-то слишком мудренный код,
и так не понял зачем проверять деление на 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() */
0
 Аватар для exclaim1
1 / 1 / 0
Регистрация: 10.02.2010
Сообщений: 32
14.02.2010, 22:13
Цитата Сообщение от krocodil7632 Посмотреть сообщение
наверное библиотека
Код C++1 #include <iostream>
Это я исправил но немогу разобратся с этой ошибкой: fatal error C1083: Не удается открыть файл include: vcl.h: No such file or directory
0
 Аватар для ccoder
8 / 8 / 4
Регистрация: 05.02.2010
Сообщений: 41
14.02.2010, 23:29
Цитата Сообщение от exclaim1 Посмотреть сообщение
Это я исправил но немогу разобратся с этой ошибкой: fatal error C1083: Не удается открыть файл include: vcl.h: No such file or directory
Если вы используете не Borland, то и включение данного хэдера vcl.h абсолютно ни к чему!
0
 Аватар для exclaim1
1 / 1 / 0
Регистрация: 10.02.2010
Сообщений: 32
14.02.2010, 23:35
Цитата Сообщение от ccoder Посмотреть сообщение
Если вы используете не Borland, то и включение данного хэдера vcl.h абсолютно ни к чему!
если полностю убрать
C++
1
#include <vcl.h>
тогда еще хуже :
error C3861: clrscr: идентификатор не найден
error C2065: cout: необъявленный идентификатор
и таких ошибок 16!!! Как правильно заменить для Visual Studio?
0
 Аватар для ccoder
8 / 8 / 4
Регистрация: 05.02.2010
Сообщений: 41
14.02.2010, 23:41
C++
1
2
3
4
5
6
7
#include <iostream.h>
#include <conio.h>
using namespace std; // Использовать стандартное пространство имен и будет вам счастье ;)
int main()
{
// код...
}
0
 Аватар для exclaim1
1 / 1 / 0
Регистрация: 10.02.2010
Сообщений: 32
14.02.2010, 23:51
Вот код с которым я щас работаю (пока пытаюсь разобратся тока с днями):
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: идентификатор не найден
Что-то опять не то... только что?
0
 Аватар для ccoder
8 / 8 / 4
Регистрация: 05.02.2010
Сообщений: 41
14.02.2010, 23:53
Вместо clrscr();, напишите system("cls");.
Хотя я честно говоря не совсем понял зачем там очистка экрана в коде
0
 Аватар для exclaim1
1 / 1 / 0
Регистрация: 10.02.2010
Сообщений: 32
15.02.2010, 00:03
что значит: fatal error LNK1120: 1 неразрешенных внешних элементов ?
PS: я только недавно начал изучать С++, так что извеняюсь за излишнюю доставаемость.
0
 Аватар для ccoder
8 / 8 / 4
Регистрация: 05.02.2010
Сообщений: 41
15.02.2010, 00:16
Цитата Сообщение от 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"...
0
0 / 0 / 0
Регистрация: 16.11.2010
Сообщений: 18
16.11.2010, 19:03
fatal error C1083: Cannot open include file: 'Base.h': No such file or directory
а ето в vcl.h.
что мне делать,Помогите,что делать?????????????????????
0
3 / 3 / 0
Регистрация: 21.10.2010
Сообщений: 10
17.11.2010, 01:38
вот моя програма, возможно поможет....
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;
}
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
17.11.2010, 01:51
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;
}
0
3 / 3 / 0
Регистрация: 21.10.2010
Сообщений: 10
17.11.2010, 01:59
Цитата Сообщение от ForEveR Посмотреть сообщение
Nema|ameN, Да вы батенька наркоман...
Я только начал учить, а что там не так? чуток переделать и будет работать...
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
17.11.2010, 02:02
Nema|ameN, Ничего, просто слишком жестоко. Ну да, это я понимаю. У меня у самого коды были мягко скажем жесткие. Тут просто лучше задействовать switch нежели городить барьер из if-ов
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.11.2010, 02:02
Помогаю со студенческими работами здесь

По заданному номеру месяца определить количество дней в месяце
#include &lt;vcl.h&gt; #pragma hdrstop #include &quot;Unit1.h&quot;...

Используя оператор switch напишите программу определяющую количество дней в месяце по заданному месяцу и году
Подскажите можно ли писать if внутри switch, и в чем ошибка, почему не выводится ответ Используя...

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

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

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


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

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru