数据结构课程设计之日程计划管理..pdfVIP

  • 10
  • 0
  • 约1.58万字
  • 约 21页
  • 2021-03-07 发布于福建
  • 举报
第一题: 1,【实验题目及要求】 [ 问题描述 ] 设计一个程序,记录并管理日程计划。 [ 基本要求 ] (1)日程计划信息包括日程计划 ID 号,日程计划开始日期和时间,日程计划 结束日期和时间,日程计划名,日程计划参与人员,日程计划地点,日程计划 提醒日期和时间。 (2)采用双向循环链表表示日程计划信息。采用三个双向循环链表: 第一个双向循环链表表示未开始的日程计划信息, 按照日程计划开始日期和 时间先后排序; 第二个双向循环链表表示正在进行的日程计划信息(可以多项计划同时进 行),按照日程计划开始日期和时间先后排序; 第三个双向循环链表表示已过期的日程计划信息, 按照日程计划开始的日期 和时间倒序排序。 (3)日程计划信息采用文件方式输入。 日程计划信息信息示例如下,每条信息一行: 日程计划 ID 号 开始日期 开始时间 结束日期 结束时间 计划名 … 20141011001;2014-10-11 ;8:00:00; 2014-10-11 ;10:00:00; 数据结构上课; 张三 ; 6202 ;2014-10-11 ;7:40:00 (4)要求模拟数据中日程计划信息至少 30 条以上。 (5) 实现以下功能: a. 输入新的计划; b. 根据当前时间查询未开始的计划,包括当天未开始的计划、本周或本月 未开始的计划; c. 查询并输出已结束的计划; d. 查询正在进行的计划; e. 根据当前时间,输出正提醒即将开始的计划。 (6)可在此要求基础上进行功能扩展,比如周期性重复计划的设置和提醒等。 2,【源代码(C 语言)】 #include stdio.h #include stdlib.h #include time.h #include string.h #define NAMESIZE 20 // 宏定义名字最大长度 #define PLACESIZE 20 // 地名最大长度 #define OK 1 #define ERROR 0 typedef struct People { char peoName[ NAMESIZE ]; struct People *next; }People ; // 定义日程计划参与人员结构体 typedef struct Team { int peoNumber; // 参与人数 People *peo; // 参与人员的具体姓名 }Team ; // 定义日程计划结构体(核心) typedef struct Plan { char ID[12]; // 日程 ID time_t strartTime, finishTime, warnTime; // 开始时间和结束时间 char name[ NAMESIZE ]; // 日程名称 Team people; // 参与人员 char place[ PLACESIZE]; // 地点 struct Plan *pre, *next; }Plan ; // 定义个人日程结构体 typedef struct { char name[ NAMESIZE ]; // 个人姓名 time_t firstTime; int prePlanNum, presentPlanNum, postPlanNum; // 开启日

文档评论(0)

1亿VIP精品文档

相关文档