我需要有一个想法,写一个我应该做的程序的一部分。
这部分是一个议程,我们可以安排一些事情并检查我们在进行新约会时会发生什么冲突。
我虽然使用了某种结构,但我想我使整个事情变得复杂。
我正在考虑拥有一年的结构,一个月的结构和一天的新结构。然后,年份有月结构,月份有日结构。但我觉得这可以变得更简单,我只是无法获得更好的想法。
我怎样才能让这更简单? 我只需要制作一些东西来存储一天和几小时的新约会,以及它不能同时进行两次约会。
任何帮助,我将不胜感激。
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;
}
答案 0 :(得分:3)
在处理这样的问题时,你基本上要弄清楚你想要什么信息投入应用,你想要什么从中。
所以我们现在可以看到,我们有一个开始和结束的事件。原谅我在这里使用了一些OOP,但它仍然适用于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;
再次,请原谅我在C中的无知。所以我们在这里创造的是我们系统的基本概念。正如您现在可能看到的那样,下一步将是Add(Calendar, Event)
函数,但现在由您来解决这个问题。
我不是说上述解决方案是最好的,唯一的,也不是完整的。我只想给你一个解决这个问题的提示。