2012-06-10 3 views
0

Мне нужна идея написать часть программы, которую я должен делать.Повестка/Планировщик/Календарь на C

Эта часть должна быть повесткой дня, мы могли запланировать что-то и проверить, какие конфликты у нас возникают при назначении нового назначения.

У меня есть хотя бы какие-то структуры, но я думаю, что я усложняю все это.

Я думал о создании структуры для года, структуре месяца и новой структуре для дня. Затем, год имел месячную структуру, и месяц имел дневную структуру. Но я чувствую, что это можно сделать более упрощенным, я просто не могу получить больше идей.

Как я могу сделать это более простым? Мне просто нужно сделать что-нибудь, чтобы хранить новую встречу в течение дня и часа, и то, что у нее не может быть двух назначений за одно и то же время.

Любая помощь, я буду признателен.

enum DiaSemana { Domingo, Segunda, Terca, Quarta, Quinta, Sexta, Sabado }; 

struct Dia { 
    int dia; 
    int semana; 
    char* horas[24][60]; 
}; 

struct Meses { 
    int mes; 
    char* nome[11]; 
    struct Dia dia; 
}; 

struct Ano { 
    int ano; 
    tipoAno tipo; 
    struct Meses jan; 
    struct Meses fev; 
    struct Meses mar; 
    struct Meses abr; 
    struct Meses mai; 
    struct Meses jun; 
    struct Meses jul; 
    struct Meses ago; 
    struct Meses set; 
    struct Meses out; 
    struct Meses nov; 
    struct Meses dez; 
}; 
typedef struct Ano ANO; 
typedef ANO *PANO; 

int validaBi(int ano) { 
    if(ano%4==0) 
     return 0; 
    else 
     return 1; 
} 
+1

Домашнее задание? Ваш вопрос действительно охватывает очень, очень простые темы. –

+0

Я знаю, что это так. Но это означало, что я не могу помочь какой-либо идее? Я не прошу кого-нибудь сделать код для меня. Просто какая-то более простая идея сделать повестку дня. Спасибо за вашу помощь. – kuly

+0

Вы действительно не знаете? Попробуйте объяснить, что у вас есть. – m0skit0

ответ

3

Когда имеешь дело с проблемой, как это, вы, по сути есть, чтобы понять, какую информацию вы хотите поместить в приложение и что вы хотите от него .

  1. Я понимаю, что вы начинаете с пустого календаря - пока нет событий.
  2. Затем вы хотите разместить мероприятие, скажем, в 2012-06-11/10: 00 до 2012-06-11/12: 00.

Итак, что мы можем видеть сейчас, у нас есть событие с началом и концом. Простите меня, используя немного ООП здесь, но он по-прежнему относится к C.

typedef struct 
{ 
    DateTime Start, End; 
} Event; 

Отлично. Однако, что такое DateTime? Нам тоже понадобится.

typedef struct 
{ 
    int Year, Month, Day; 
    int Hour, Minute; 
} DateTime; 

Теперь я буду очень скучаю «++» часть в C++, но все-таки ...

typedef struct 
{ 
    int EventCount; 
    Event Events[MAX_EVENTS]; 
} Calendar; 

Опять же, простите мне мое невежество в С. Так что мы создали вот основная концепция нашей системы. Как вы, вероятно, видите сейчас, следующим шагом будет функция Add(Calendar, Event), но теперь вам решать, как это понять.

Я не говорю, что вышеупомянутое решение является лучшим, единственным и полным. Я просто хотел дать вам намек на решение таких проблем.

+0

Вы все еще принимаете часть C++ ... В C определение структуры не подразумевает typedef. – wildplasser

+0

Не забывайте об этом -.- –

+0

Я понимаю идею. Это может быть хороший подход. Позвольте мне попробовать. Благодаря! – kuly

Смежные вопросы