Другие языки программирования и технологии
Программирование на си
дан порядковый номер дня месяца, вывести на экран количество дней оставшихся до конца месяца
#include<stdio.h>
int daysLeft(int monthNumber, int dayNumber)
{
int daysInMonth = 0;
switch (monthNumber)
{
case 2: daysInMonth = 28; break;
case 1: case 3: case 5: case 7: case 8: case 10:
case 12: daysInMonth = 31; break;
case 4: case 6: case 9:
case 11: daysInMonth = 30; break;
default: return -1;
}
return daysInMonth - dayNumber;
}
int main()
{
int monthNumber, dayNumber;
printf("Enter number of month (1 - 12): ");
scanf("%d", &monthNumber);
printf("Enter current day (1 - 31): ");
scanf("%d", &dayNumber);
int days = daysLeft(monthNumber, dayNumber);
if (days < 0) printf("Incorrect number of month!");
else printf("Days are left: %d", days);
return 0;
}
int daysLeft(int monthNumber, int dayNumber)
{
int daysInMonth = 0;
switch (monthNumber)
{
case 2: daysInMonth = 28; break;
case 1: case 3: case 5: case 7: case 8: case 10:
case 12: daysInMonth = 31; break;
case 4: case 6: case 9:
case 11: daysInMonth = 30; break;
default: return -1;
}
return daysInMonth - dayNumber;
}
int main()
{
int monthNumber, dayNumber;
printf("Enter number of month (1 - 12): ");
scanf("%d", &monthNumber);
printf("Enter current day (1 - 31): ");
scanf("%d", &dayNumber);
int days = daysLeft(monthNumber, dayNumber);
if (days < 0) printf("Incorrect number of month!");
else printf("Days are left: %d", days);
return 0;
}
Жека Дробышев
Это на си ++,а мне нужно на си
// Для текущего месяца
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <stdbool.h>
_Bool is_leap(int year) {
bool result;
if (year % 4 != 0) result = false;
else if (0 == year % 400) result = true;
else if (0 == year % 100) result = false;
else result = true;
return result;
}
int main(void) {
int day;
time_t tt = time(NULL);
struct tm* pt = localtime(&tt);
int months[] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
if (is_leap(pt->tm_year + 1900)) ++months[1];
printf(">>> ");
scanf_s("%i", &day);
printf("<<< %i\n", months[pt->tm_mon] - day);
system("pause");
}
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <stdbool.h>
_Bool is_leap(int year) {
bool result;
if (year % 4 != 0) result = false;
else if (0 == year % 400) result = true;
else if (0 == year % 100) result = false;
else result = true;
return result;
}
int main(void) {
int day;
time_t tt = time(NULL);
struct tm* pt = localtime(&tt);
int months[] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
if (is_leap(pt->tm_year + 1900)) ++months[1];
printf(">>> ");
scanf_s("%i", &day);
printf("<<< %i\n", months[pt->tm_mon] - day);
system("pause");
}
А год - дан? А то вот есть такой месяц - февраль!
Абилкасым Жарымбет
Даже не известно - дан ли месяц? Точно известен только день месяца, а какого месяца - ХеЗ. А ты говоришь "год" ! ☺
Жека Дробышев
Там без разницы
Похожие вопросы
- Посоветуйте книги по программированию на Си.
- программирование на си++
- Помогите с программированием на Си
- программирование в си
- Программирование на Си++
- Есть вопрос по программированию в СИ
- Программирование на Си. нужно написать прогу
- Помогите с программированием на си
- программирование в Си
- Привет, помогите с программированием на СИ, передача массива в функцию..