Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [С] Оформить как функцию


Автор: wolf_f 16.11.2006, 13:07
Код

 #include <stdio.h>
int mes[12]={0, 31,  59,  90,  120, 151, 181, 
              212, 243, 273, 304, 334 };      
 main()
{
 int d,m,g;              
 int d2,m2,g1,g2;           
 int c;
 c=mes[m-1]-d2+365*(g2-g1)+mes[m2-1]+d2;      

if(!g%4) if(m<3) c++;                        

if(!g2%4) if(m>2) c++; 
c=c+(g2-g)/4;
printf("%d",c);
return (0);



дольше нет предложений???? smile 
 

M
alexeis1
Модератор: не забывайте выделять код.



Автор: Dov 16.11.2006, 18:38
Цитата(wolf_f @  16.11.2006,  13:07 Найти цитируемый пост)
дольше нет предложений????

wolf_f,  а что она делает и что  должна делать  smile 

Автор: Sartorius 16.11.2006, 19:10
 Мои врожденные телепатические способности подсказывают мне, что  wolf_f, пытается разницу в днях между двумя датами получить smile 

Автор: wolf_f 16.11.2006, 21:41
Я же писал  smile  что ее надо оформить как функцию.... smile 

Автор: Dov 16.11.2006, 21:48
wolf_f, ты по-русски понимаешь? Тебя спрашивают, что твоя программа делает. Или что она должна делать?

Автор: Dov 17.11.2006, 00:01
Цитата(wolf_f @  16.11.2006,  21:41 Найти цитируемый пост)
 ее надо оформить как функцию....

Считает твоя прога не правильно, имхо.
Код
#include <stdio.h>

int between(int d, int m, int g, int d2, int m2, int g2);

int mes[12]={0, 31,  59,  90,  120, 151, 181, 212, 243, 273, 304, 334 };     
      
int main()
{
    int d, m, g;              
    int d2, m2, g2;           
    int numDays;

    puts("Enter first date: "); 
    scanf("%d%d%d", &d, &m, &g);

    puts("Enter second date: ");          
    scanf("%d%d%d", &d2, &m2, &g2);

    numDays = between(d, m, g, d2, m2, g2);

    printf("\nDays between: %d\n", numDays); 

    return 0;
}
int between(int d, int m, int g, int d2, int m2, int g2)
{
    int num;

    num = mes[m - 1] - d + 365 * (g2 - g) + mes[m2 - 1] + d2;

    if(!(g % 4))
        if(m < 3)
            num++;

    if(!(g2 % 4))
        if(m2 > 2)
            num++;
            
    num += (g2 - g) / 4; 

    return num;
}


Автор: wolf_f 17.11.2006, 07:33
чет ты  smile, выше же написано было .... подсчет количества дней между двумя датами  smile 

Автор: Гениальный123Робот 17.11.2006, 11:00
Цитата(Sartorius @ 16.11.2006,  19:10)
Мои врожденные телепатические способности подсказывают мне, что  wolf_f, пытается разницу в днях между двумя датами получить smile

 smile 
а у нас учет в сутках! ;)

Автор: Sartorius 17.11.2006, 11:00
 Ура...Угадал smile 
wolf_f, а без шуток  Dov полностью прав, никто не обязан догадываться , что делает твой код... Так что ты в следующий раз или коментов напиши или так расскажи... smile 

Автор: wolf_f 17.11.2006, 16:30
 smile  признаю свою ашибку ...... задание подсчет количества дней между двумя датами ...
но его надо оформить как ыункцию............ ппппппплллллииииизззззззззз...... smile  если можно с описанием методов, что и как.... 
   

Автор: Dov 17.11.2006, 21:42
Цитата(wolf_f @  17.11.2006,  16:30 Найти цитируемый пост)
но его надо оформить как функцию.

wolf_f,  а я как оформил?
Цитата(wolf_f @  17.11.2006,  16:30 Найти цитируемый пост)
если можно с описанием методов, что и как.... 

А метод здеся один. Я взял твой код и перенёс его в функцию between(). 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)