ImageVerifierCode 换一换
格式:DOC , 页数:49 ,大小:1.51MB ,
资源ID:4512377      下载积分:5 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

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

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     留言反馈    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(c语言专业课程设计方案报告.doc)为本站上传会员【二***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

c语言专业课程设计方案报告.doc

1、上海应用技术学院课 程 设 计-第二学期设计题目:日程管理1.课程设计任务书上海应用技术学院课程设计任务书课程名称程序设计语言课程设计课程代码B704010设计题目1 算术练习2 个人收支管理3 通讯录4 成绩统计簿5 图书借阅管理6 日程表管理题目序号6设计时间 7 月1 日 年 7 月 12日系(院)计算机和信息工程学院专业班级一、 课程设计任务(条件)、具体技术参数(指标)1. 在指导书提供课程设计题目中选择一题或自选(但需经过指导老师认可)2. 每个题目限一人完成,题目选定后不可更换。3. 用户提供主操作界面应该方便用户操作。4. 最终提交课程设计结果包含:a)课程设计汇报电子稿。c)

2、源程序文件。d)可实施程序文件。二、 对课程设计结果要求(包含课程设计说明书、图纸、图表、实物等软硬件要求)1. 分析课程设计题目标要求;2. 写出具体设计说明;3. 编写程序代码,调试程序使其能正确运行;4. 设计完成软件要便于操作和使用,有整齐、美观使用界面;5. 设计完成后提交课程设计汇报和源代码文件电子文档。三、 课程设计工作进度计划:第一天 选择课程设计题目,分析课题要求,确定设计方案;第二天 总体设计,模块划分第三天绘制程序步骤图;第四天 按功效模块编写具体设计说明;第五天 编写程序代码第六天 设计用户界面;第七天运行和调试程序;第八天写课程设计汇报;第九天完成软件设计准备答辩第十

3、天 提交课程设计汇报;面试或答辩。四、 关键参考资料 1谭浩强C程序设计(第三版)北京:清华大学出版社, 2谭浩强C程序设计题解和上机指导(第三版)北京:清华大学出版社,3 Herbert SchildtC语言大全(第四版)北京:电子工业出版社, 4Samuel P.Harbison ,Guy L.SteeleC语言参考手册(第5版)北京:机械工业出版社,5程序设计语言课程设计指导书指导老师(署名): 教研室主任(署名): 7月1日 7 月 12日目录:1. 课程设计任务书*22. 目标及要求*62.1 课程设计目标2.2 课程设计要求3. 课程设计内容说明*73.1.程序功效介绍3.2程序设

4、计整体设计说明 3.3数据结构设计3.4程序结构设计3.41程序子程序及功效设计3.42函数关键调用关系图3.43 各模块步骤图4. 运行结果*175. 源程序代码分析*316.课程设计感悟*422.目标及要求2.1 课程设计目标本课程设计是计算机科学和技术专业关键实践性步骤之一,是在学生学习完程序设计语言课程后进行一次全方面综合练习。本课程设计目标和任务:1) 巩固和加深学生对C语言课程基础知识了解和掌握;2) 掌握C语言编程和程序调试基础技能;3) 利用C语言进行基础软件设计;4) 掌握书写程序设计说明文档能力5) 提升利用C语言处理实际问题能力。2.2 课程设计要求1) 分析课程设计题目

5、标要求;2) 写出具体设计说明;3) 编写程序代码,调试程序使其能正确运行;4) 设计完成软件要便于操作和使用,有整齐、美观使用界面;5) 设计完成后提交课程设计汇报和源代码文件电子文档。3.课程设计内容说明3.1.程序功效介绍本系统关键功效是实现日程表管理,有添加日程,删除日程,查询日程,显示日程,设置日程,修改日程,日程排序,读取日程,保留日程功效。每个日程信息包含:日程时间,日程名称,日程详情,日程提醒,日程标识。3.2程序设计整体设计说明 本系统主函数是整个程序关键,子函数之间也是有联络,对日程删除,查询,显示,修改,保留,必需是在添加了日程,或读取了日程情况下进行。部分基础操作在子函

6、数中数次反复使用,即可单独设定函数,数次调用即可。运行程序 开始后进入主菜单,用户即可选择选择要进行操作,比如,1为添加日程,用户需输入对应信息。选择2为删除日程,根据日期或名称选中对应日程后,能够删除日程或日程设置。等等功效。当选择不存在时提醒用户选择错误并提醒重新选择。3.3题目要求3.31. 设计要求 基础功效: 添加日程信息; 删除日程信息; 查询管理; 设置管理; 拓展功效: 日程信息修改; 设置修改; 设置删除; 创新(自拟)功效: 程序实现其它功效由个人自拟。 3.32. 设计要求具体说明 添加日程信息: 需要输入日期、时间及相关事件名称,并提醒是否有时间冲突。 删除日程信息:

7、需要输入日期、时间后,显示相关事件名称,由用户确定是否删除。 查询功效: a) 查询提前提醒事件,即提醒将要发生日程信息; b) 查询某天日程信息。对已经过去和将要发生事件要区分显示。 设置功效: a) 能够设置提前提醒时间。 b) 日程信息需写入文件,文件建立自我定义。 c) 输入日期、时间要进行合理性检验。 d) 设置提前提醒时间,并进行合理性检验。 拓展功效: a) 能进行日程表信息修改; b) 设置信息修改、删除。 3.33. 提醒: 定义适宜结构体类型,使用链表或数组方法组织数据。3.4数据结构设计本系统包含数据结构有:struct Date_time /定义时间结构体; int y

8、ear;int month;int day;int hour;int min; struct richeng/定义日程结构体; struct Date_time date; struct Date_time remind_date; char 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); /检验输

9、入时间是否正当int date_panduan(int year,int month,int day);/检验输入日期是否正当struct richeng * select_name_program();/根据名称选择日程 void show(struct richeng *p); /显示指针指向日程信息 void set_remind_program(struct richeng *p);/设置日程提醒时间 struct richeng * select_program();/选择日程 void add ();/添加日程void delet_zhiding_richeng(struct ri

10、cheng *p); /删除指定日程void delet();/删除日程void search_zhiding_richeng(char name100);/按名称查询指定日程void search();/查询日程 void xiugai();/修改事日程信息void read();/读取日程文件void write();/ 写入日程文件 3.52函数关键调用关系图3.53 各模块步骤图l 添加日程l 删除日程l 查询日程l 显示日程 l 修改程序l 读取日程l 保留日程4.运行结果1.点击运行,出现以下界面,可依据提醒,选择菜单,进行相关操作;添加日程功效2.选择菜单,输入1,进入添加日程功

11、效,第一步:提醒输入日程时间,第二步:提醒输入日程名称,第三步:提醒输入日程具体内容。第四步:进入设置界面,提醒设置日程提醒时间。输入完成后回车,日程添加功效就完成了。注意:在这个功效里,对于时间和日期正当性全部有检验,假如输入时间有错误,那么就会自动提醒输入不正确,请重新输入。保留日程功效3.完成菜单一添加日程功效后,按回车键返回主菜单,然后选择6,进入保留日程功效,选择6后,点击回车,界面提醒“ 保留成功”,这时日程保留就完成了,日程就保留在了“我日程.txt”,文本文档里了。我们就完成了对日程写入保留功效。文件读取功效4.完成日程保留写入功效以后,就会自动返回主菜单,选择5,进入文件读取

12、功效,点击回车,屏幕上会显示已保留日程全部信息,包含日程日期,日程名称,具体信息,提醒时间;进入查询日程功效5.完成读文件功效以后,点击回车,回到主菜单就能够选择其它功效进行操作,比如选择3,进入查询日程功效,界面自动提醒:1.查询指定日程,2.退出操作,选择1,查询指定日程,提醒输入查询日程名称。输入要查询日程名称后,相关这条日程具体信息就会显示。然后选择0,退出查询功效,返回主界面。注意;假如输入日程名称不正确,系统会自动提醒,查找日程不存在。修改功效6.返回主菜单后选择4,进入日程修改功效,然后提醒输入要修改日程名称,输入名称,进入修改界面,1.修改日程时间,2.修改日程名称,3.修改日

13、程详情,4.修改日程提醒时间, 0.退出。选择要修改内容,如选择4修改日程提醒时间,回车后,输入新提醒时间,回车,选择0完成,回车,返回主菜单,然后选择6保留日程,再选择5,读取日程,界面就显示修改后新日程新信息了,这么话,修改就成功了。删除功效6. 完成修改功效后,回车进入主菜单,选择2,进入删除功效,输入要删除日程名称,回车进入删除界面,选择1,确定删除,删除后,界面显示删除成功 。并返回主菜单。选择6,保留删除,选择5,读取日程,就看不到刚刚删除那条日程信息了。5. 源程序代码:#include #include /stdlib 头文件里包含了C语言部分函数#include /字符串头文

14、件 #define A sizeof(struct richeng) /宏定义 就是在程序编译前,用sizeof(struct richeng) 替换A struct Date_time /定义时间结构体; int year;int month;int day;int hour;int min; struct richeng/定义日程结构体; struct Date_time date; /包含了时间结构体 struct Date_time remind_date; /提醒时间 char name100; char detail200; struct richeng *next; *head=

15、NULL,*p0= NULL; /*head指向开头,*p0指向末尾char set20;char Menu(); /显示菜单 int runnian(int year); /判定是否闰年 int time_panduan(struct Date_time time); /检验输入时间是否正确int date_panduan(int year,int month,int day);/检验输入日期是否正确void show(struct richeng *p); /显示指针指向日程事件信息 struct richeng * select_name_program();/按名称选择日程 struc

16、t richeng * select_program();/选择日程 void set_remind_program(struct richeng *p);/设置日程提醒日期 void add ();/添加日程void delet_zhiding_richeng(struct richeng *p); /删除指定日程void delet();/删除日程void search_zhiding_richeng(char name100);/查询指定日程,按名称查询 void search();/查询日程 void xiugai();/修改事日程void read();/读取日程void write

17、();/ 写入文件 int main()/主函数struct richeng *p; /定义了结构体日程指针 char x;char filename100;dox=Menu();switch(x)case0:printf(n*谢谢使用*nn);break;case1:add();break;case2:delet();break; case3:search();break;case4:xiugai();break;case5:read();break;case6:write();break;default: printf(菜单选择错误!请重新选择!);while(x != 0);return

18、 0;char Menu() /显示菜单 ; char x10;printf(n*¥欢迎使用日程表系统¥*n);printf(1)添加日程n);printf(2)删除日程n);printf(3)查询日程n);printf(4)修改日程n);printf(5)读取日程n);printf(6)保留日程n);printf(0)退出操作n);printf(*nn);printf(请选择菜单序号0-6:);gets(x); return x0; void add () /添加日程 ;struct richeng *p;struct Date_time time;char RC_name50;char R

19、C_detail100;doprintf(请输入日程日期,时间(年-月-日 时:分):n);scanf(%d-%d-%d %d:%2d,&time.year,&time.month,&time.day,&time.hour,&time.min); while(time_panduan(time)=0); /输入日程时间 printf(日程名称(100个字符以内):n);scanf(%s,RC_name); /输入日程名称 printf(具体描述 (200个字符以内):n);scanf(%s,RC_detail); /输入日程具体信息 p=(struct richeng * )malloc(A)

20、; /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;printf(添加日程设置n);/添加日程同时是否添加日程设置 set_remind_program(p); /调用设置日程提醒时间函数if(head

21、 = NULL)/寻求插入位置,新添加日程插到后面 head = p0 = p;p0-next = NULL;elsep0-next = p;p0 = p;p0-next = NULL;/p0一直指向最终一个数据 printf(n-按回车键返回-n); int runnian(int year) /判定闰年;int RN=0;if( (year % 4 = 0 & year%100 != 0) | ( year % 400 = 0 ) )RN=1;elseRN=0;return RN;int time_panduan(struct Date_time time) /检验输入时间是否正确 int

22、 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.year,&p-remind_date.mont

23、h,&p-remind_date.day,&p-remind_date.hour,&p-remind_date.min);getchar(); while(time_panduan(p-remind_date) = 0); /对输入时间进行判定 void delet ()/删除日程 struct richeng *p;p=select_program(); /调用选择日程函数 if( p = NULL)return;getchar();delet_zhiding_richeng(p); /调用删除指定日程函数 void delet_zhiding_richeng(struct richeng

24、*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.year |p_s-date.month != p-date.month |p_s-date.day != p-date.day |p_s-date.hour != p-date.hour |p_s-date.min != p-date.min )

25、 ) p_l = p_s;p_s =p_s-next;/p_s指向指定日程,p_l指向此日程上一个 /删除此日程事件printf(确定删除?:n);printf(1.删除n);scanf(%d,&sure);getchar();if(sure = 1)if(p_s = head & p_s != NULL)head=p_s-next; else if(p_s != NULL) p_l-next = p_s-next;printf(删除成功n); struct richeng * select_program() /选择日程 struct Date_time time;struct richen

26、g *p,*p1;char select_event50;int sel =0; p=select_name_program();return(p);/返回指向选中日程指针 struct richeng * select_name_program() /按名称选择日程 struct richeng *p;char select_event50;int i=0;printf(n请输入日程名称:);scanf(%s,select_event);p=head;printf(n请确定日程信息:n);while( p !=NULL & strcmp(p-name,select_event) != 0)p

27、=p-next; if(p = NULL) /假如没有找到指定日程 printf(n*没有找到日程*n);getchar();return NULL; show(p);return p;void show(struct richeng *p) /显示指针指向日程事件信息 struct tm *newtime; printf($n);printf(*日程名称:%sn,(*p).name);printf(*日程时间:%-4d-%-2d-%-2d %-d:%-2dn,(*p).date.year,(*p).date.month,(*p).date.day,(*p).date.hour, (*p).d

28、ate.min);printf(*日程详情:%sn,p-detail);printf(*提醒时间:%-4d-%-2d-%-2d %-d:%-2dn,(*p).remind_date.year,(*p).remind_date.month,(*p).remind_date.day,(*p).remind_date.hour,(*p).remind_date.min);printf(n);void search() /查询日程 struct Date_time time;char RC_name50;int X =0; doprintf(n请选择:n);printf(1.查询指定日程n);prin

29、tf(0.退出操作:n);scanf(%d,&X);getchar();switch(X)case 0:break; case 1:printf(请输入事件名称:); scanf(%s,RC_name);getchar();search_zhiding_richeng(RC_name);break;default:printf(n选择错误!nn);while( X!= 0); void search_zhiding_richeng(char name50) /查询指定日程,按名称查询 struct richeng *p,*p_event;p=head;p_event = NULL; print

30、f(n*查询日程信息以下*nn); while(p != NULL) if(strcmp(*p).name, name) = 0) p_event = p; show(p); p = (*p).next; /假如一直没有找到指定日程 if(p_event = NULL)printf(n*无查询日程*n);void xiugai()struct richeng *p;struct Date_time time;struct Date_time remind_time;char RC_name100;char RC_detail200;int s = 0; p=select_program();/

31、选中日程事件 if( p = NULL)printf(n*无查找信息*n);getchar();return;doprintf(n*请选择要修改项目*n);printf(1.修改日程时间n);printf(2.修改日程名称n);printf(3.修改日程详情n);printf(4.修改日程提醒n);printf(0.完成n);scanf(%d,&s);getchar();switch(s)case 0:break;case 1:/输入日程时间 printf(请输入日程日期,时间(年-月-日 时:分):n);scanf(%d-%d-%d %d:%d,&time.year,&time.month,

32、&time.day,&time.hour,&time.min); (*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;break; case 2:/输入日程名称 printf(日程事件名称(100个字符以内):n);scanf(%s,RC_name); strcpy(*p).name, RC_name);break;case 3:/输入日程详情 printf(具体描述 (200个字符

33、以内:)n);scanf(%s,RC_detail); strcpy(*p).detail, RC_detail);break;case 4:/输入提醒时间 printf(提醒日程日期,时间(年-月-日 时:分):n);scanf(%d-%d-%d %d:%d,&remind_time.year,&remind_time.month,&remind_time.day,&remind_time.hour,&remind_time.min); (*p).remind_date.year = remind_time.year;(*p).remind_date.month = remind_time.

34、month; (*p).remind_date.day = remind_time.day;(*p).remind_date.hour = remind_time.hour;(*p).remind_date.min = remind_time.min;break;default:printf(n菜单选择错误!请重新选择!n);while( s != 0);void read()struct richeng *p;FILE *fp;fp = fopen(我日程.txt,rb);if(fp = NULL)printf(n文件无法打开!n);exit (0); head = NULL;printf(n*读取信息以下*nn);while(!feof(fp) /指向文件末尾 p=(struct richeng *) malloc(A);if(fread(p,A,1,fp) != 1) /用sizeof(struct richeng) 替换A break;show(p);if(head = NULL)

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服