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

Написать программу, которая вычисляет дату следующего дня - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Указатели http://www.cyberforum.ru/cpp-beginners/thread213338.html
Всем привет! Я начал разбираться с указателями, почитал литературу, но не смог впихнуть в свою мини-прожку. Помогите пожалуйста, объясните принцип впихивания!:)Возможно, вам помешает то, что я работаю в редкой библиотеке TXLib, созданной моим преподавателем. Очень прошу о помощи:) #include "TXLib.h" void DrawCircle (int x, int y, int r); void Draw2Circle (int x2, int y2, int r); void...
C++ Матрица смежности В галактике «Milky Way» на планете «Snowtlake» есть N городов, некоторые из которых соединены дорогами. Император галактики «Milky Way» решил провести инвентаризацию дорог на планете «Snowtlake». Но, как оказалось, он не силен в математике, поэтому он просит вас сосчитать количество дорог. Требуется написать программу, помогающую императору сосчитать количество дорог на планете «SnowHake».... http://www.cyberforum.ru/cpp-beginners/thread213335.html
C++ создать блок схемы
#include <stdlib.h> #include <stdio.h> #include <string.h> #define MAX_WORDS 20 /* максимальное количество слов */ #define MAX_WORDLEN 20 /* максимальная длина слова */ int main(void) { int i = 0, j = 0, count = 0, len;
Описание класса для определения одномерных массивов строк фиксированной длины C++
Составить описание класса для определения одномерных массивов строк фиксированной длины. Предусмотреть возможность обращения к отдельным строкам массива по индексам, контроль выхода за пределы массива, выполнения операций поэлементного сцепления двух массивов с образованием нового массива, сцепление двух массивов с исключением повторяющихся элементов, вывод на экран элемента массива по...
C++ Gjvjubnt/ C++ http://www.cyberforum.ru/cpp-beginners/thread213299.html
Задание : дана строка со словами между которыми 2 пробела. Вывести новую строку в которой один пробел между словами и слова расположены в алфавитном порядке. Просьба сделать на примитивном уровне ( желательно с разъяснениями) ))) Спасибо заранее)
C++ вычислить процент помогите пожалуйста!!!! необходимо написать программу, которая обрабатывает результаты экзамена. для каждой оценки прога должа вычислить процент от общего колличества оценок подробнее

Показать сообщение отдельно
Temirlan90
 Аватар для Temirlan90
131 / 131 / 8
Регистрация: 30.09.2010
Сообщений: 333
17.12.2010, 18:01     Написать программу, которая вычисляет дату следующего дня
Написать программу, которая вычисляет дату следующего дня.
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
#include <iostream>
#include <conio.h>
 
int main() {
    setlocale(LC_ALL,"Russian");
    int day, month, year, last;     
    printf("Введите цифрами сегодняшнюю дату (число, месяц, год) -> ");
    scanf("%i%i%i", &day, &month, &year);
    last = 0;
    if (month == 2) {
        if ((year % 4) && day >= 28) {
            last = 1;
        }
        if ((year % 4) && day >= 29) {
            last = 1;
        }       
    }
    else if ((month == 4 || month == 6 || month == 9 || month == 11) && day >= 30) {
        last == 1;
    }
    else if (day == 31) {
        last = 1;
    }
    if (last == 1) {
        printf("Последний день месяца!\n");
        day = 1;
        if (month == 12) {
            month = 1;
            year++;
            printf("C наступающим Новым годом!\n");
        }
        else 
            month++;
    }
    else 
        day++;
    printf("Завтра %i %i %i",day, month, year);
    printf("\nДля завершения нажмите <Enter>");
    getch();
}
Если я ввожу 30 11 2000 то выводит 31 11 2000, и с високосным годом тоже косяк 29 2 2000 вывод 30 2 2000. Вроде в коде нет ошибок...посмотрите в чем проблема прошу.

Добавлено через 41 минуту
все исправил =)
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
#include <iostream>
#include <conio.h>
 
int main() {
    setlocale(LC_ALL,"Russian");
    int day, month, year, last;     
    printf("Введите цифрами сегодняшнюю дату (число, месяц, год) -> ");
    scanf("%i%i%i", &day, &month, &year);
    last = 0;
    if (month == 2) {
        if ((year % 4) != 0 && day == 28) {
            last = 1;
        }       
        if ((year % 4) == 0 && day == 29) {
            last = 1;
        }
    }       
    else if ((month == 4 || month == 6 || month == 9 || month == 11) && day == 30) {
        month++;
        day = 0;
        printf("Последний день месяца!\n");
    }
    else if (day == 31) {
        last = 1;
    }
    if (last == 1) {
        printf("Последний день месяца!\n");
        day = 1;
        if (month == 12) {
            month = 1;
            year++;
            printf("C наступающим Новым годом!\n");
        }
        else 
            month++;
    }
    else 
        day++;
    printf("Завтра %i %i %i",day, month, year);
    printf("\nДля завершения нажмите <Enter>");
    getch();
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 08:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru