Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.05.2012, 19:02   #1
McFrey
Форумчанин
 
Аватар для McFrey
 
Регистрация: 15.10.2011
Сообщений: 306
По умолчанию Си. Структуры.

Задача такова: описать функцию предшествует ли время t1 времени t2. Уважаемые форумчане, где в моем коде ошибка? Буду благодарен.
P.S. результат выдает всегда что t2 предшествует t1.
Код:
# include<stdio.h>
# include<conio.h>
# include<stdlib.h>

struct time
{ 
       int hour,minute;
} t1, t2;

//---------------------------------------------------------------------
//ввод момента времени
void input_t(time t)
{
int flag;
  do
  {
    printf(" \n часы=");
    scanf("%i",&t.hour);
    if ((t.hour<0)||(t.hour>24))
    {
      printf("\n Ошибка! Повторите ввод! \n");
      flag=1;
    }
    else
      flag=2;
  }
  while (flag!=2);

   do
  {
    printf(" \n минуты=");
    scanf("%i",&t.minute);
    if ((t.minute<0)||(t.minute>60))
    {
      printf("\n Ошибка! Повторите ввод! \n");
      flag=1;
    }
    else
      flag=2;
  }
  while (flag!=2); 
}


//---------------------------------------------------------------------
//сравнение времени
void before(time t1, time t2)
{
if ((t1.hour < t2.hour)||((t1.hour==t2.hour)&(t1.minute<t2.minute)))
 printf("\n Время t1 предшествует времени t2");
else
 printf(" \n Время t2 предшествует времени t1");  
}

//---------------------------------------------------------------------
int main()
{  
    printf("\n Введите время t1  ");
    input_t(t1);
    printf("\n Введите время t2  ");
    input_t(t2);
    before(t1,t2);    
    getch();
    return 0;
}
Если твоя программа выполняет мистические действия, значит, ты сделал что-то невероятно тупое...
McFrey вне форума Ответить с цитированием
Старый 10.05.2012, 21:16   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
предшествует ли время t1 времени t2
Хм...
Код:
void before(time t1, time t2)
{
 int a=t1.hour*3600+t1.minute*60;
 int b=t2.hour*3600+t2.minute*60;

if (a<b)
 printf("\n Время t1 предшествует времени t2");
else
 printf(" \n Время t2 предшествует времени t1");  
}
идея ясна?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 10.05.2012, 22:11   #3
McFrey
Форумчанин
 
Аватар для McFrey
 
Регистрация: 15.10.2011
Сообщений: 306
По умолчанию

идея понятна, перевести все в секунды....вставил вместо своей функции эту.....опять тоже самое....может компилятор чудит???....dev-c++
Если твоя программа выполняет мистические действия, значит, ты сделал что-то невероятно тупое...
McFrey вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Написание программ (древовидные структуры, структуры неспециального вида и т.д.) Green Gin Фриланс 2 27.04.2012 15:26
Управляющие структуры. Программирование алгоритмов разветвляющейся структуры. Лёнка Компоненты Delphi 1 23.04.2012 15:03
Структуры с++ SoMoN Помощь студентам 0 12.12.2010 16:44
С++ структуры KOLYTFR Помощь студентам 2 24.05.2009 19:02
Структуры BaSk Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 16.05.2009 15:33