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

Сколько дней осталось до конца года? - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 5.00
Bumer@ng
 Аватар для Bumer@ng
0 / 0 / 0
Регистрация: 20.08.2010
Сообщений: 69
10.11.2010, 20:27     Сколько дней осталось до конца года? #1
Написать програму которая спрашивает у пользователя дату в формате ДД ММ ГГГГ и вычисляет сколько дней осталось до конца года.

Я сначала хотел по простому, но наверное не выйдет, а массивом незнаю как, и возможно ли!

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include<iostream>
using namespace std;
void main()
{
    const int size =12;
    int Arr[size]={31,28,31,30,31,30,31,31,30,31,30,31};
    int y=365,d=0,m=0,r=0,mis=30 ;
    cout<<"Enter datu v formati DD MM YYYY:\t";
    cin>>d>>m>>r;
    for(int i=0;i<size;i++)
        
 
    cout<<"Do Kintsa roku:\t"<<y-((mis*m)+d)<<"\tdniv"<<endl;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
eld
2 / 2 / 0
Регистрация: 17.03.2010
Сообщений: 11
10.11.2010, 20:35     Сколько дней осталось до конца года? #2
ну вобщем а в чом проблема считаешь скока дней в году , считаешь какой щас по счету , + надо учесть високосный год. и воаля всем счастье
Bumer@ng
 Аватар для Bumer@ng
0 / 0 / 0
Регистрация: 20.08.2010
Сообщений: 69
10.11.2010, 22:04  [ТС]     Сколько дней осталось до конца года? #3
Да не сколько дней в году!, а сколько осталось после ввода пользователя!
Kalashnikov
 Аватар для Kalashnikov
14 / 14 / 1
Регистрация: 08.02.2009
Сообщений: 63
11.11.2010, 22:44     Сколько дней осталось до конца года? #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<iostream>
using namespace std;
void main()
{
const int size =12;
int Arr[size]={31,28,31,30,31,30,31,31,30,31,30,31};
int y=365,d=0,m=0,r=0,mis = 0 ;
cout<<"Enter datu v formati DD MM YYYY:\t";
cin>>d>>m>>r;
for(int i=m;i<size;i++)
{
    mis+=Arr[i];
}
 
cout<<"\nDo Kintsa roku:\t"<< mis+(Arr[m-1]-d) <<"\tdniv\n"<<endl;
system("PAUSE");
}
всего лишь немного переделал твой код, осталось добавить проверку на високосный год

Добавлено через 6 часов 54 минуты
и неплохо былоб добавить проверку данных что ввели на количество дней в месяце

Добавлено через 5 минут
типа так if( d<=Arr[m-1] ) и ещеб неплохо использовать unsingent int
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
11.11.2010, 23:42     Сколько дней осталось до конца года? #5
Да ну нафиг!
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 <stdio.h>
#include <time.h>
#include <string.h>
#include <stdlib.h>
 
int main(void){
    time_t tNow, tNYear;
    struct tm stmNow, stmNYear;
    
    tNow = time(NULL);
    stmNow = * localtime(&tNow);
    
    memset(&stmNYear, 0, sizeof(struct tm));
    stmNYear.tm_mday = 1;
    stmNYear.tm_min = 1;
    stmNYear.tm_year = stmNow.tm_year + 1;
    if ( ( tNYear = mktime(&stmNYear) ) == -1 ){
        perror("mktime");
        exit(1);
    }
    
    printf("%d days before New Year\n", (tNYear - tNow) / 60 / 60 / 24);
    
    exit(0);
}
Yandex
Объявления
11.11.2010, 23:42     Сколько дней осталось до конца года?
Ответ Создать тему
Опции темы

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