• 大小: 14KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-06-06
  • 语言: C/C++
  • 标签:

资源简介

数据结构综合课程作业,可以查询日历以及针对任意一天添加日常并对日常进行管理

资源截图

代码片段和文件信息

#include“stdio.h“
#include“conio.h“
#include“string.h“
#include“stdlib.h“
#include “time.h“
#include “windows.h“
typedef struct e{
int yearmonthdayhour;     //记录事件发生的具体时间 
char address[10]remark[20]; //记录事件的地点和备注 
int len;  //记录日程个数
struct e *next; //指向下一个事件 
}Event;
//标记是否保存了
int save=0; 
int g_MonthDays [13]={0312831303130313130313031};
//判断年是否是闰年,是返回1,不是返回0
int LeapYear(int n);
//计算从1年到year-1年的总天数  
int CountYearDays(int year);  
//计算1月到month-1月的天数 
int CountMonthDays(int month);
//计算year年month月的天数
int MonthDays(int year int month);
// 计算year年month月day天是星期几并打印 
void PrintDay(Event *event int year int month int day);
//查找在event中是否有时间为year年month月day天的日程
void Find(Event *event int year int month int day); 
//计算year年month月的日历情况并打印
void PrintMonth(int year int month);
//计算year年全年的日历情况并全部打印   
void PrintYear(int year);
//显示提示信息
void Show();  
//判断输入的信息是否合理
void Check(Event *event int c); 
//添加日程安排 
void AddEvent(Event *event); 
//添加日程安排的时间 (修改时间是调用这个函数以及CheckTime函数) 
Event *AddTime(Event *event);
//对添加的日程时间判断是否合理及是否重复
int CheckTime(Event *eventEvent *qint hour); 
//添加日程安排的地址(修改地址时也调用这个函数)
Event *AddAddress();
//添加日程安排的备注 (修改备注是也调用这个函数)  
Event *AddRemark(); 
//打印全部日程安排   
void PrintEvent(Event *event); 
//修改某一日程 
void Modify(Event *event);
//删除某一日程 
void Delete(Event *event);
//获取当前时间并查询当前是否有日程,并输出提示
void GetTime(Event *event); 
int LeapYear(int n){
if((n%4==0&&n%100!=0)||n%400==0)
   return (1);         
    else  return (0);     
}
int CountYearDays(int year){
int iflagdays=0;
for(i=1;i   flag=LeapYear(i);            
   if(flag)  days=days+366;     
   else      days=days+365;     
   }
   return (days);                   
}
int CountMonthDays(int month){
int idays=0;
for(i=0;i    days=days+g_MonthDays [i];
    return (days);
}
int MonthDays(int year int month){
int daysflag;
days=g_MonthDays[month];
flag=LeapYear(year);                
if(flag&&month>2)
     days++;
return days;  
}
void PrintDay(Event *eventint Year int Month int Day){
Event *Ev; Ev=event;
int tyear=Yearmonth=Monthday=Dayflagydaysmdaysalldaysmondays;
ydays=CountYearDays(year);          
mdays=CountMonthDays(month);        
flag=LeapYear(year);                
if(flag&&month>2)
mdays++;     
    alldays=ydays+mdays+day;             
    t=alldays%7;                       
    printf(“\n%d年%d月%d日是:“yearmonthday);
    switch (t){
    case 0:printf(“星期日\n“); break;
    case 1:printf(“星期一\n“); break;
     case 2:printf(“星期二\n“); break;
     case 3:printf(“星期三\n“); break;
     case 4:printf(“星期四\n“); break;
     case 5:printf(“星期五\n“); break;
     case 6:printf(“星期六\n“); break;
    }; 
    Find(Evyearmonthday);
}  
void Find(Event *event int year int month int day){
Event *pre; pre=event->next;
int flag=0;
for(pre; pre!=NULL; pre=pre->next){
if(pre->year==year &

评论

共有 条评论