ImageVerifierCode 换一换
格式:DOCX , 页数:34 ,大小:637.10KB ,
资源ID:16907359      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/16907359.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(c语言课程设计分析报告日程表Word文档格式.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

c语言课程设计分析报告日程表Word文档格式.docx

1、5. 设计完成后提交课程设计报告和源代码文件的电子文档。三、 课程设计工作进度计划:第一天 选择课程设计题目,分析课题的要求,确定设计方案;第二天 总体设计,模块划分第三天绘制程序流程图;第四天 按功能模块编写详细设计说明;第五天 编写程序代码第六天 设计用户界面;第七天运行与调试程序;第八天写课程设计报告;第九天完成软件的设计准备答辩第十天 提交课程设计报告;面试或答辩。四、 主要参考资料 1谭浩强C程序设计(第三版)北京:清华大学出版社,2005 2谭浩强C程序设计题解与上机指导(第三版)北京:清华大学出版社,20053 Herbert SchildtC语言大全(第四版)北京:电子工业出版

2、社, 20044Samuel P.Harbison ,Guy L.SteeleC语言参考手册(第5版)北京:机械工业出版社,20035程序设计语言课程设计指导书指导教师(签名): 教研室主任(签名):2013年 7月1日 2013年 7 月 12日目录:1. 课程设计任务书*22. 目的及要求*62.1 课程设计目的2.2 课程设计要求3. 课程设计内容说明*73.1.程序功能介绍3.2程序设计整体设计说明 3.3数据结构设计3.4程序结构设计3.41程序子程序及功能设计3.42函数主要调用关系图3.43 各模块流程图4. 运行结果*175. 源程序代码分析*316.课程设计感悟*422.目的

3、及要求2.1 课程设计目的本课程设计是计算机科学与技术专业重要的实践性环节之一,是在学生学习完程序设计语言课程后进行的一次全面的综合练习。本课程设计的目的和任务:1) 巩固和加深学生对C语言课程的基本知识的理解和掌握;2) 掌握C语言编程和程序调试的基本技能;3) 利用C语言进行基本的软件设计;4) 掌握书写程序设计说明文档的能力5) 提高运用C语言解决实际问题的能力。1) 分析课程设计题目的要求;2) 写出详细设计说明;3) 编写程序代码,调试程序使其能正确运行;4) 设计完成的软件要便于操作和使用,有整齐、美观的使用界面;5) 设计完成后提交课程设计报告和源代码文件的电子文档。3.课程设计

4、内容说明本系统的主要功能是实现日程表的管理,有添加日程,删除日程,查询日程,显示日程,设置日程,修改日程,日程排序,读取日程,保存日程的功能。每个日程的信息包括:日程时间,日程名称,日程详情,日程提醒,日程标记。本系统的主函数是整个程序的核心,子函数之间也是有联系的,对日程的删除,查询,显示,修改,保存,必须是在添加了日程,或者读取了日程的情况下进行的。一些基本操作在子函数中多次重复使用,即可单独设定函数,多次调用即可。 运行程序 开始后进入主菜单,用户即可选择选择要进行的操作,例如,1为添加日程,用户需输入相应信息。选择2为删除日程,按照日期或者名称选中相应日程后,可以删除日程或者日程设置。

5、等等功能。当选择不存在时提示用户选择错误并提示重新选择。3.3题目要求3.31. 设计要求 基本功能:添加日程信息;删除日程信息;查询管理;设置管理;拓展功能:日程信息的修改;设置修改;设置删除;创新(自拟)功能:程序实现的其它功能由个人自拟。3.32. 设计要求具体说明 添加日程信息:需要输入日期、时间及相关的事件名称,并提示是否有时间冲突。删除日程信息:需要输入日期、时间后,显示相关的事件名称,由用户确认是否删除。查询功能:a) 查询提前提醒事件,即提示将要发生的日程信息;b) 查询某天的日程信息。对已经过去和将要发生的事件要区别显示。设置功能:a) 可以设置提前提醒的时间。b) 日程信息

6、需写入文件,文件的建立自我定义。c) 输入的日期、时间要进行合理性检查。d) 设置提前提醒的时间,并进行合理性检查。a) 能进行日程表信息的修改;b) 设置信息的修改、删除。3.33. 提示:定义合适的结构体类型,使用链表或数组的方式组织数据。3.4数据结构设计本系统包含的数据结构有:struct Date_time /定义时间结构体; int year; int month; int day; int hour; int min; ; struct richeng /定义日程结构体; struct Date_time date; struct Date_time remind_date; c

7、har name100; char detail200; struct richeng *next;3.5程序结构设计3.51程序子程序及功能设计int main() /主函数char Menu(); /显示菜单 int runnian(int year); /判断是否闰年 int time_panduan(struct Date_time time); /检查输入时间是否合法int date_panduan(int year,int month,int day); /检查输入日期是否合法struct richeng * select_name_program(); /按照名称选择日程 voi

8、d show(struct richeng *p); /显示指针指向的日程的信息 void set_remind_program(struct richeng *p) ; /设置日程提醒的时间 struct richeng * select_program(); /选择日程 void add (); /添加日程void delet_zhiding_richeng(struct richeng *p); /删除指定日程void delet(); /删除日程void search_zhiding_richeng(char name100); /按名称查询指定日程void search(); /查询

9、日程 void xiugai(); /修改事日程信息void read(); /读取日程文件void write(); / 写入日程文件 3.52函数主要调用关系图3.53 各模块流程图 添加日程 删除日程 查询日程 显示日程 修改程序 读取日程 保存日程4.运行结果1.点击运行,出现如下界面,可根据提示,选择菜单,进行相关操作;添加日程功能2.选择菜单,输入1,进入添加日程功能,第一步:提示输入日程的时间,第二步:提示输入日程的名称,第三步:提示输入日程的具体内容。第四步:进入设置界面,提示设置日程的提示时间。输入完成后回车,日程的添加功能就完成了。注意:在这个功能里,对于时间和日期的合法性

10、都有检查,如果输入的时间有错误,那么就会自动提示输入的不正确,请重新输入。保存日程的功能3.完成菜单一的添加日程功能后,按回车键返回主菜单,然后选择6,进入保存日程的功能,选择6后,点击回车,界面提醒“ 保存成功”,这时日程的保存就完成了,日程就保存在了“我的日程.txt”,文本文档里了。我们就完成了对日程的写入保存功能。文件的读取功能4.完成日程的保存写入功能之后,就会自动返回主菜单,选择5,进入文件的读取功能,点击回车,屏幕上会显示已保存的日程的全部信息,包括日程日期,日程名称,详细信息,提醒时间;进入查询日程功能5.完成读文件功能之后,点击回车,回到主菜单就可以选择其他功能进行操作,例如

11、选择3,进入查询日程功能,界面自动提醒:1.查询指定日程,2.退出操作,选择1,查询指定日程,提示输入查询日程的名称。输入要查询的日程的名称后,关于这条日程的详细信息就会显示。然后选择0,退出查询功能,返回主界面。注意;如果输入的日程名称不正确,系统会自动提醒,查找的日程不存在。修改功能6.返回主菜单后选择4,进入日程的修改功能,然后提示输入要修改的日程名称,输入名称,进入修改界面,1.修改日程时间,2.修改日程名称,3.修改日程详情,4.修改日程提醒时间, 0.退出。选择要修改的内容,如选择4修改日程的提醒时间,回车后,输入新的提醒时间,回车,选择0完成,回车,返回主菜单,然后选择6保存日程

12、,再选择5,读取日程,界面就显示修改后的新日程的新信息了,这样的话,修改就成功了。删除功能6. 完成修改功能后,回车进入主菜单,选择2,进入删除功能,输入要删除的日程名称,回车进入删除界面,选择1,确认删除,删除后,界面显示删除成功 。并返回主菜单。选择6,保存删除,选择5,读取日程,就看不到刚刚删除的那条日程信息了。5. 源程序代码:#include stdlib.h /stdlib 头文件里包含了C语言的一些函数string.h /字符串头文件 #define A sizeof(struct richeng) /宏定义 就是在程序编译前,用sizeof(struct richeng) 代替

13、A struct richeng /定义日程结构体; /包含了时间结构体 /提醒时间 *head=NULL,*p0= NULL; /*head指向开头,*p0指向末尾 char set20; /判断是否闰年 /检查输入时间是否正确 /检查输入日期是否正确 /显示指针指向的日程事件信息 /按名称选择日程 /选择日程 /设置日程提醒日期 /添加日程 /删除指定日程 /删除日程 /查询指定日程,按名称查询 /查询日程 /修改事日程 /读取日程 / 写入文件 int main() /主函数 struct richeng *p; /定义了结构体日程的指针 char x; char filename100

14、; do x=Menu(); switch(x) case0: printf(n*谢谢使用*nn); break;1 add();2 delet();3 search();4 xiugai();5 read();6 write(); default: printf(菜单选择错误!请重新选择! while(x != return 0;char Menu() /显示菜单 ; char x10;n*¥欢迎使用日程表系统¥*n 1)添加日程n 2)删除日程n 3)查询日程n 4)修改日程n 5)读取日程n 6)保存日程n 0)退出操作n*nn请选择菜单序号0-6: gets(x); return x0

15、; void add () /添加日程 ; struct Date_time time; char RC_name50; char RC_detail100; printf(请输入日程日期,时间(年-月-日 时:分):n scanf(%d-%d-%d %d:%2d,&time.year,&time.month,&time.day,&time.hour,&time.min); while(time_panduan(time)=0); /输入日程时间 日程名称(100个字符以内): scanf(%s,RC_name); /输入日程名称 详细描述 (200个字符以内):,RC_detail); /输

16、入日程详细信息 p=(struct richeng * )malloc(A); /Malloc 向系统申请分配指定size个字节的内存空间 strcpy(*p).name, RC_name); strcpy(*p).detail, RC_detail); (*p).date.year = time.year; /赋值 (*p).date.month = time.month; (*p).date.day = time.day; (*p).date.hour = time.hour; (*p).date.min = time.min;添加日程设置n /添加日程的同时是否添加日程设置 set_re

17、mind_program(p); /调用设置日程提醒时间的函数 if(head = NULL) /寻找插入位置,新添加的日程插到后面 head = p0 = p; p0-next = NULL; elsenext = p; p0 = p; /p0始终指向最后一个数据 n-按回车键返回-nint runnian(int year) /判断闰年; int RN=0; if( (year % 4 = 0 & year%100 != 0) | ( year % 400 = 0 ) ) RN=1; RN=0; return RN;int time_panduan(struct Date_time tim

18、e) /检查输入时间是否正确 int Y=1; int day_of_month12=31,28,31,30,31,30,31,31,30,31,30,31; if( runnian(time.year) = 1) day_of_month1=29; if(time.year 9999 | time.year 12 | time.month day_of_monthtime.month-1 | time.day 24 | time.hour 60 | time.min 9999 | year 12 | month day_of_monthmonth-1 | day remind_date.ye

19、ar,&remind_date.month,&remind_date.day,remind_date.hour,&remind_date.min); getchar(); while(time_panduan(p-remind_date) = 0); /对输入的时间进行判断 void delet () /删除日程 p=select_program(); /调用选择日程函数 if( p = NULL) return; getchar(); delet_zhiding_richeng(p); /调用删除指定日程的函数 void delet_zhiding_richeng(struct richeng *p) /删除指定日程 struct richeng *p_s; struct richeng *p_l; int s = 0; int sure = 0; p_s = p_l = head; while( p_s != NULL /指针不为空 & ( strcmp(p_s-name,p-name) != 0 | p_s-date.year != p-date.yeardate.month !date.month date.day !=

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1