c语言课程设计报告(日程表)1

合集下载

c语言课程设计报告详细版

c语言课程设计报告详细版

c语言课程设计报告详细版一、课程目标知识目标:1. 掌握C语言的基本语法和结构,包括变量声明、数据类型、运算符、表达式和语句。

2. 理解并能运用控制结构,如顺序、选择和循环结构进行程序设计。

3. 学会使用数组、函数和指针进行程序开发,并能理解它们在解决复杂问题中的应用。

4. 熟悉基本的输入输出操作,文件操作以及简单的错误处理机制。

技能目标:1. 能够编写简单的C程序,解决实际问题,展现出逻辑思考和问题解决的能力。

2. 能够阅读和分析C程序代码,理解程序的结构和执行过程。

3. 能够使用调试工具检查和修正程序中的错误,提高程序的稳定性和可靠性。

4. 能够通过小组合作,完成一个综合性的项目,培养团队协作和项目管理的初步技能。

情感态度价值观目标:1. 培养学生对编程的兴趣,激发探究计算机科学的热情,形成主动学习和终身学习的习惯。

2. 培养学生的创新思维和批判性思维,鼓励尝试不同的解决方案,勇于面对编程中的挑战。

3. 增强学生的信息意识和责任感,理解程序在现实生活中的应用和影响,认识到编程对社会发展的贡献。

4. 通过项目实践,培养学生的集体荣誉感,加强沟通能力,形成良好的团队合作精神。

课程性质分析:本课程为高年级的C语言程序设计,旨在通过项目驱动的教学方法,使学生在实践中掌握C语言的编程技能,并能够在日常生活和学习中应用。

学生特点分析:学生具备一定的逻辑思维能力,对计算机编程有一定兴趣,但个体差异较大,需要针对不同层次的学生设计不同难度和类型的教学活动。

教学要求:1. 结合实际案例进行教学,强调理论知识与实践操作的结合。

2. 注重培养学生的实际编程能力和问题解决能力,鼓励学生自主探索和协作学习。

3. 通过形成性评价和总结性评价相结合的方式,全面评估学生的学习成果。

二、教学内容1. C语言基础- 变量与数据类型- 运算符与表达式- 输入输出函数- 顺序结构程序设计2. 控制结构- 选择结构(if-else)- 循环结构(for、while、do-while)3. 函数与数组- 函数定义与调用- 数组的使用- 二维数组4. 指针与字符串- 指针的概念与使用- 指针与数组- 字符串处理函数5. 文件操作与错误处理- 文件的打开与关闭- 文件的读写操作- 简单错误处理6. 综合项目实践- 项目需求分析- 功能模块划分- 编程实现与调试- 项目展示与评价教学内容安排与进度:第一周:C语言基础第二周:控制结构第三周:函数与数组第四周:指针与字符串第五周:文件操作与错误处理第六周至第八周:综合项目实践教材章节关联:《C程序设计》第一章至第五章,涵盖课程教学内容中的所有知识点,为综合项目实践打下基础。

C语言课程设计实验报告1

C语言课程设计实验报告1

课程设计报告题目:景点查询系统课程名称:C语言课程设计专业班级:信息安全二班任务书⑴主要内容建立国内景点信息系统,提供创建、编辑和综合查询等基本业务管理和服务。

⑵任务要求收集与阅读相关文献资料,确定系统目标与范围,分析系统需求,确定系统功能;设计系统方案,完成系统实现;提交《课程设计报告》。

⑶参考文献[1]曹计昌,卢萍,李开. C语言程序设计,北京:科学出版社,2008[2]张引. C程序设计基础课程设计, 杭州: 浙江大学出版社,2007[3]黄明,梁旭,万洪莉. C语言课程设计,北京: 电子工业出版社,2006目录1 绪言 (1)1.1 课题背景 (1)1.2 课题目的及意义 (1)1.3 课题应解决的主要问题及应达到的技术要求 (1)1.4 研究与发展概况及存在的问题 (2)1.5 设计的指导思想 (2)2 方案论证 (3)2.1 菜单的选择 (3)2.2 链表的选择 (3)2.3 主菜单和子菜单的设定 (3)3 课设过程论述 (5)3.1 系统数据 (5)3.2 系统各模块功能 (6)3.3 数据结构设计及用法说明 (8)3.4 程序结构 (9)4 结果分析 (10)5 课程设计总结 (13)6 参考文献 (14)附录程序清单 (15)1 绪言本章阐述课程设计课题的背景、目的与意义、应解决的主要问题及应达到的技术要求;简述研究与发展概况及存在的问题,本设计的指导思想。

1.1 课题背景随着社会的发展,旅游成为一个越来越热门的话题,很多人都会以旅游的方式度过自己的假期、生日、结婚纪念日等等,但是要想充分享受旅游带来的快乐,前期的准备就显得非常重要,只有前期的准备做好了,才能充分规划自己的旅游,才能充分享受自己的旅游。

前期的准备很大一方面是要查询自己要去的地方的一些基本信息,比如景区地点,景区门票。

城市中所含有的景区等等,如果有一个系统能够快速的查询景点信息,那么这就为人们出去旅游提供了很多的信息,帮助人们为旅游做好充分的准备!1.2 课题目的及意义课题目的:本课题主要是通过景点查询系统向人们提供景点,景区,城市等方面信息的查询,修改,统计等服务,让人们快速获得有关旅游景点、景区、城市方面的信息,帮助人们充分规划自己的出行方案。

课表 制作 c 语言

课表 制作 c 语言

课表制作 c 语言课表是学生生活中必不可少的一部分,它规划了学生一周的学习安排和课程内容。

C语言课程作为计算机科学专业的基础课程之一,对于学生的学习和发展至关重要。

下面是一份关于C语言课程的课表,希望能够帮助学生更好地安排自己的学习时间。

一、C语言课程简介C语言是一种通用的编程语言,广泛应用于计算机科学和软件开发领域。

本课程将重点介绍C语言的基本语法和编程技巧,帮助学生掌握C语言的基础知识和编程能力。

二、课程安排1. 课程名称:C语言基础上课时间:周一上午8:00-10:00授课教师:王老师上课地点:教学楼101室2. 课程名称:C语言实践上课时间:周二下午2:00-4:00授课教师:李老师上课地点:实验室B3023. 课程名称:数据结构与算法上课时间:周三上午10:00-12:00授课教师:张老师上课地点:教学楼201室4. 课程名称:C语言项目实践上课时间:周四下午4:00-6:00授课教师:刘老师上课地点:实验室B3015. 课程名称:操作系统原理上课时间:周五上午9:00-11:00授课教师:陈老师上课地点:教学楼301室三、课程内容1. C语言基础课程将介绍C语言的基本语法、数据类型、运算符、控制结构等内容。

学生将通过理论讲解和实践练习,掌握C语言的基础知识和编程技巧。

2. C语言实践课程将通过实际项目案例,帮助学生应用C语言解决实际问题。

学生将通过编写代码,实现简单的程序功能,并进行调试和优化。

3. 数据结构与算法课程将介绍常见的数据结构和算法,包括栈、队列、链表、树、图等内容。

学生将学习如何利用这些数据结构和算法解决实际问题。

4. C语言项目实践课程将组织学生进行团队项目开发,学生将运用所学的C语言知识,完成一个完整的软件项目,并进行演示和评审。

5. 操作系统原理课程将介绍操作系统的基本原理和工作原理,包括进程管理、内存管理、文件系统等内容。

学生将深入了解操作系统的运行机制和管理方法。

C语言程序设计课程设计报告

C语言程序设计课程设计报告

C语言程序设计课程设计实验报告一、设计名称:学生成绩治理查询系统实验项目性质:综合性所涉及课程:C语言程序设计打算学时:实验学时12二、设计目的:1.通过本课程设计,培育上机动手能力,使学生巩固《C语言程序设计》课程学习的内容,把握工程软件设计的大体方式,强化上机动手能力,闯过编程关;2.为后续各门运算机课程的学习打下坚实基础。

3.明白得程序设计的思路,把握结构化程序设计的方式,综合利用C语言进行程序编写,巩固常常利用的C语言概念,如数组、指针、结构体、链表、文件操作等,注意良好的程序设计风格的培育。

提高编写程序解决实际问题的能力、调试程序的技术。

三、设计环境(软件、硬件及条件)1.硬件:PC机2.软件:Turbo C++四、设计说明:程序系统的结构:用一系列图表列出本程序系统内的每一个程序(包括每一个模块和子程序)的名称、标识符和它们之间的层次结构关系。

主程序:新建:输入记录(遇#号时停止输入)。

插入:在指定位置插入记录。

显示:列出所有记录。

查询:一、按学号查询;二、按名字排序。

删除:一、按学号删除;二、按名字删除;3、删除所有记录。

排序:一、按语文成绩排序;二、按英语成绩排序;3、按数学成绩排序。

保留:保留为任意名字,系统自动加后缀名为.txt。

读取:读取程序目录下的后缀名为.txt的文件。

退出:退出程序。

五、各功能模块的具体实现,用图表表示。

输入记录显示开始:输入学号输入的学号是否为#Y N 结束,返回主菜单输入记录循环输入结束开始p=hp!=NULL输出学生信息;p=p->next结束按学号(姓名)查询信息Y N读取文件六、各模块(函数)的功能介绍,数据结构设计描述,参数说明等。

STUDENT *init(); /*初始化链表*/STUDENT *create(); /*新建链表*/STUDENT *del_no(STUDENT *h);/*按学号删除信息*/STUDENT *del_name(STUDENT *h); /*按姓名删除信息*/void print(STUDENT *h); /*显示信息函数*/void search_no(STUDENT *h); /*按学号搜索*/void search_name(STUDENT *h); /*按姓名搜索*/STUDENT *insert(STUDENT *h); /*插入信息函数*/void sort(STUDENT *h);/* 排序函数*/void save(STUDENT *h);/*保留数据到文件*/void load(STUDENT *h); /*从文件读取数据*/int menu_main(); /*菜单函数*/void inputs(char *prompt,char *s,int count);/*输出信息*/七、程序代码:Enter records\n");printf(" 2. Add records\n");printf(" 3. List records\n");printf(" 4. Search records\n");printf(" 5. Delete records\n");printf(" 6. Sort records\n");printf(" 9. Quit\n\n");printf("*****************************************\n");do{ printf("\n Enter you choice(1~9):"); /*提示输入选项*/ scanf("%s",s); /*输入选择项*/c=atoi(s); /*将输入的字符串转化为整型数*/}while(c<1||c>9); /*选择项不在1~9之间重输*/return c; /*返回选择项,主程序依照该数挪用相应的函数*/}Search records on number\n");printf(" 2. Search records on name\n");printf(" 3. Back\n\n");printf("*****************************************\n");do{ printf("\n Enter you choice(1~3):"); /*提示输入选项*/ scanf("%s",s); /*输入选择项*/c=atoi(s); /*将输入的字符串转化为整型数*/}while(c<1||c>3);return c; /*返回选择项,主程序依照该数挪用相应的函数*/}Chinese\n");printf(" 2. English\n");printf(" 3. Math\n");printf(" 4. Back\n\n");printf("*****************************************\n");do{ printf("\n Enter you choice(1~4):"); /*提示输入选项*/ scanf("%s",s); /*输入选择项*/c=atoi(s); /*将输入的字符串转化为整型数*/}while(c<1||c>4);return c; /*返回选择项,主程序依照该数挪用相应的函数*/}Delete records on number\n");printf(" 2. Delete records on name\n");printf(" 3. Delete all records\n");printf(" 4. Back\n\n");printf("*****************************************\n");do{ printf("\n Enter you choice(1~4):"); /*提示输入选项*/ scanf("%s",s); /*输入选择项*/c=atoi(s); /*将输入的字符串转化为整型数*/}while(c<1||c>4);return c; /*返回选择项,主程序依照该数挪用相应的函数*/}.");/*提示*/getch(); /*读入任意字符*/}.\n");getch(); /*读入任意字符*/if(p==h)h=p->next;elseq->next=p->next;free(p); /*释放*/printf("\n%s had been deleted\n",s); }printf("\nPress any key to continue..."); getch(); /*读入任意字符*/return h;}.\n");getch();if(p==h)h=p->next;else q->next=p->next;free(p); /*释放*/printf("\n%s had been deleted\n",s);}printf("\nPress any key to continue...");getch(); /*读入任意字符*/return h;}.");getch(); /*读入任意字符*/}.");getch(); /*读入任意字符*/}xt"};STUDENT *p;FILE *fp; /*指向文件的指针*/printf("\n Input the filename:");scanf("%s",outfile);strcat(outfile,last);if((fp=fopen(outfile,"wb"))==NULL) /*打开文件,并判定打开是不是正常*/ {printf("\nCannot open file!\n");exit(1); /*退出*/}p=h;while(p!=NULL){if(fwrite(p,sizeof(STUDENT)-sizeof(p->next),1,fp)!=1){printf("Error!\n");exit(1);} /*写入*/p=p->next;}fclose(fp); /*关闭文件*/printf("\n------OK------\n");printf("Press any key to continue...");getch(); /*读入任意字符*/}xt"};STUDENT *p,*a1=NULL,*a2=NULL;FILE *fp;/*概念文件指针*/printf("\n Input the filename:");scanf("%s",outfile);strcat(outfile,last);if((fp=fopen(outfile,"rb"))==NULL)/*打开文件*/{printf("\nCannot open file!\n");exit(1); /*退出*/}p=h;a1=a2=(STUDENT *)malloc(LEN);fread(a1,sizeof(STUDENT)-sizeof(a1->next),1,fp); while(!feof(fp)){n++;if(n==1)h=a1;else a2->next=a1;a1=(STUDENT *)malloc(LEN);fread(a1,sizeof(STUDENT)-sizeof(a1->next),1,fp);}a2->next=NULL;printf("\n------OK------\n");printf("Press any key to continue...");getch(p); /*读入任意字符*/}///////////////////////////////////////////void sort(STUDENT *h) /*排序函数*/{int i=0,j;STUDENT *p,*q,*t,*h1,*z;clrscr(); /*清屏*/printf("Enter you choice :\n");scanf("%d",&j);z=h;h1=h->next;h->next=NULL;while(h1!=NULL){t=h1;h1=h1->next;q=h;while(t->score[--j]<p->score[--j]&&p!=NULL){q=p;p=p->next;}if(p==q){t->next=p;h=t;}else{t->next=p;q->next=t;}}p=h;while(p!=NULL){i++;p=p->next;}h=z;printf("------OK------\n");}//////////////////////////////////////////////////九、体会、总结本课程设计完成了设计一个学生成绩治理系统,学生的学习成绩进行治理,具有查询和检索功能,而且能够对指定文件操作。

C语言课程设计报告-万年历1

C语言课程设计报告-万年历1

课程设计题目:万年历实验题目:万年历程序的编写实验目的:综合运用所学的C语言知识解决一个比较实际的简单问题,侧重对数组、函数、指针、结构体和文件等相关内容的综合应用,使同学们能进一步熟悉掌握C语言的基本语法,进一步提升自己的编程能力并逐步培养编程思维,进而不断提高同学们解决问题的能力,并为以后的语言学习打下良好的基础。

实验要求:万年历设计主要功能包括:1、查询某年某月每一天对应星期几。

2、可以查询某年某月的上个月或是下个月的日历情况。

3、查询某年某月某日是这一年的第几天,并查询改天是星期几。

4、判断该年是闰年还是平年,判断这一年的生肖。

实现思路(要求有文字描述,并画出流程图):实现过程(要求有文字说明实现的过程,并对相应的代码添加注释):见程序(程序见后)后的解析。

运行时只要你输入年月日,你要的星系都会显示出来;如果想继续输入日期的话,只需按y就可以,祥结束按n就可以结束。

实验总结(分析程序的得与失):得:通过这次程序设计,更使我了解了编程序的严谨性,每个问题,每个不走都得有依据,不得盲目乱造,同时也让我获得了一点编写简单程序的能力,使自己平时在理论课中很多部明白的东西明白了好多,学会了好多语句的用法,比如会用‘y’ or‘ n’来决定程序是否要继续;怎么控制输出格式等等。

总之在这次程序设计中我学到了很多。

失:在编程序过程中有些函数的用法不怎么会用,偶尔会落下写简单的东西。

如‘,’‘;’等;同时在编写输出上下个情况及判断程序是否要继续的程序上花费了好多时间;函数的声明、调用既然不清楚,感到很惭愧。

实验的过失就是成功的阶梯,在过失中我也学到很多。

心得体会:我体会到了编程序的严谨性,也觉得如果我们要是熟悉课本所讲的内容,不怕麻烦,坚持不懈,我们一定可以将它实现的。

要有耐心,有时候很多的错误就是一个地方引起的,只要认真检查,一定能突破的,所以在以后的编程序是要细心,有耐心,人不断调试程序,直至最后成功。

c语言课程设计报告(日程表)1

c语言课程设计报告(日程表)1

上海应用技术学院课程设计2012-2013学年第二学期|设计题目:日程管理、1.课程设计任务书上海应用技术学院课程设计任务书指导教师(签名):教研室主任(签名):2013年 7月1日 2013年 7 月 12日,:?\目录:1.课程设计任务书**************22.目的及要求******************62.1课程设计目的课程设计要求3.课程设计内容说明************7 ^.程序功能介绍程序设计整体设计说明数据结构设计程序结构设计程序子程序及功能设计函数主要调用关系图各模块流程图4.运行结果*******************175.,6.源程序代码分析*************316.课程设计感悟***************422.目的及要求【课程设计目的本课程设计是计算机科学与技术专业重要的实践性环节之一,是在学生学习完《程序设计语言》课程后进行的一次全面的综合练习。

本课程设计的目的和任务:1)巩固和加深学生对C语言课程的基本知识的理解和掌握;2)掌握C语言编程和程序调试的基本技能;3)利用C语言进行基本的软件设计;4)掌握书写程序设计说明文档的能力5)提高运用C语言解决实际问题的能力。

课程设计要求1)?2)分析课程设计题目的要求;3)写出详细设计说明;4)编写程序代码,调试程序使其能正确运行;5)设计完成的软件要便于操作和使用,有整齐、美观的使用界面;6)设计完成后提交课程设计报告和源代码文件的电子文档。

3.课程设计内容说明.程序功能介绍(本系统的主要功能是实现日程表的管理,有添加日程,删除日程,查询日程,显示日程,设置日程,修改日程,日程排序,读取日程,保存日程的功能。

每个日程的信息包括:日程时间,日程名称,日程详情,日程提醒,日程标记。

程序设计整体设计说明本系统的主函数是整个程序的核心,子函数之间也是有联系的,对日程的删除,查询,显示,修改,保存,必须是在添加了日程,或者读取了日程的情况下进行的。

c语言课程设计报告

c语言课程设计报告

c语言课程设计报告c语言课程设计报告在现在社会,我们都不可避免地要接触到报告,报告成为了一种新兴产业。

那么报告应该怎么写才合适呢?以下是店铺收集整理的c语言课程设计报告,欢迎阅读与收藏。

c语言课程设计报告11、题目要求◆ 建立通讯录信息,信息至少包含编号、姓名、年龄、电话、居住街道、省份、城市、电子邮箱等;◆ 能够提供添加、删除和修改通讯录信息的功能;◆ 能够提供安不同方式查询的功能;如按姓名或年龄、电话等查询;◆ 将通讯录保存在文件中;◆ 能够按表格方式输出通讯录信息。

2、需求分析本程序将用到文件系统,其中单行内容代表一张纸条。

程序运行后首先将文件系统的原始数据读取并保存到程序的结构体数组当中,所以应提供文件输入的操作;由于纸条数据零散,所以要对原始数据进行分类操作并提供一个数组用于保存分类信息;在程序中要进行统计工作,所以要提供显示、排序等操作;另外应提供键盘式选择菜单实现功能选择。

3、总体设计根据项目的任务要求及以上分析,在设计方法上,采用模块化的程序设计思想,即将通讯录管理系统划分为数据输入模块,数据查询模块,数据修改模块,数据插入模块,数据删除模块,,并对每个模块按照其功能分别独立完成对应的程序设计。

在数据处理上,各模块中的数据处理(如数据读/写操作)均用文件形式来实施,并在主程序中完成操作界面的设计功能,设计思路如下:1、采用模块设计思想;2、将通讯录信息定义成结构体类型,并通过文件实施数据操作;3、通过设计一菜单界面完成具体操作。

4、详细设计c语言课程设计报告2一、传统C语言课程设计教学模式C语言是最基本的计算机编程,是计算机、电子信息类等相关专业学生的专业入门课,在其学习过程中,要求必须掌握编程的技能。

但是C语言的学习有其特点,规则比较多、知识点多,涉及到的编程程序等也比较难懂,在运行上代码的要求较高,程序执行效率高,因此更讲究教学和学习的方式方法,但是在我们的教学中,目前教学方法比较单一,随着信息化的发展,传统的教学模式已经无法适应,亟需改革。

c语言课程设计课表

c语言课程设计课表

c语言课程设计课表一、教学目标本课程旨在通过学习C语言编程,使学生掌握C语言的基本语法、数据结构、算法及编程思想,培养学生独立思考和解决问题的能力。

具体目标如下:1.知识目标:(1)理解C语言的基本语法和编程规范;(2)掌握常用的数据类型、运算符、表达式;(3)熟悉流程控制语句,如条件判断、循环等;(4)了解数组、字符串、指针等基本数据结构;(5)学习函数的定义和调用,理解函数指针的概念;(6)掌握基本算法,如排序、查找等;(7)理解面向对象编程的基本概念,如封装、继承、多态等。

2.技能目标:(1)能够使用C语言编写简单的程序,解决问题;(2)具备阅读和理解C语言程序的能力;(3)掌握调试和优化程序的方法;(4)具备一定的编程速度和良好的编程习惯。

3.情感态度价值观目标:(1)培养学生对计算机科学的兴趣和热情;(2)培养学生勇于探索、积极思考的科学精神;(3)培养学生团队协作、与他人交流的能力;(4)培养学生具有良好的道德品质和职业素养。

二、教学内容本课程的教学内容主要包括以下几个部分:1.C语言基本语法和编程规范;2.数据类型、运算符、表达式;3.流程控制语句,如条件判断、循环等;4.数组、字符串、指针等基本数据结构;5.函数的定义和调用,函数指针的概念;6.基本算法,如排序、查找等;7.面向对象编程的基本概念,如封装、继承、多态等。

三、教学方法为了提高教学效果,我们将采用以下教学方法:1.讲授法:通过讲解C语言的基本语法、数据结构、算法等内容,使学生掌握相关知识;2.案例分析法:通过分析实际案例,使学生更好地理解理论知识;3.实验法:让学生亲自动手编写程序,培养学生的实际操作能力;4.讨论法:学生进行分组讨论,培养学生的团队协作能力和沟通能力。

四、教学资源为了支持本课程的教学,我们将准备以下教学资源:1.教材:《C语言程序设计》;2.参考书:提供一些相关的参考书籍,以便学生课后自主学习;3.多媒体资料:制作课件、教学视频等,丰富教学手段;4.实验设备:提供计算机实验室,让学生进行上机实践。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

上海应用技术学院课程设计2012-2013学年第二学期设计题目:日程管理1.课程设计任务书上海应用技术学院课程设计任务书指导教师(签名):教研室主任(签名):2013年7月1日2013年7 月12日目录:1.课程设计任务书**************22.目的及要求******************62.1课程设计目的课程设计要求3.课程设计内容说明************7 .程序功能介绍程序设计整体设计说明数据结构设计程序结构设计程序子程序及功能设计函数主要调用关系图各模块流程图4.运行结果*******************175.源程序代码分析*************316.课程设计感悟***************422.目的及要求课程设计目的本课程设计是计算机科学与技术专业重要的实践性环节之一,是在学生学习完《程序设计语言》课程后进行的一次全面的综合练习。

本课程设计的目的和任务:1)巩固和加深学生对C语言课程的基本知识的理解和掌握;2)掌握C语言编程和程序调试的基本技能;3)利用C语言进行基本的软件设计;4)掌握书写程序设计说明文档的能力5)提高运用C语言解决实际问题的能力。

课程设计要求1)分析课程设计题目的要求;2)写出详细设计说明;3)编写程序代码,调试程序使其能正确运行;4)设计完成的软件要便于操作和使用,有整齐、美观的使用界面;5)设计完成后提交课程设计报告和源代码文件的电子文档。

3.课程设计内容说明.程序功能介绍本系统的主要功能是实现日程表的管理,有添加日程,删除日程,查询日程,显示日程,设置日程,修改日程,日程排序,读取日程,保存日程的功能。

每个日程的信息包括:日程时间,日程名称,日程详情,日程提醒,日程标记。

程序设计整体设计说明本系统的主函数是整个程序的核心,子函数之间也是有联系的,对日程的删除,查询,显示,修改,保存,必须是在添加了日程,或者读取了日程的情况下进行的。

一些基本操作在子函数中多次重复使用,即可单独设定函数,多次调用即可。

运行程序开始后进入主菜单,用户即可选择选择要进行的操作,例如,1为添加日程,用户需输入相应信息。

选择2为删除日程,按照日期或者名称选中相应日程后,可以删除日程或者日程设置。

等等功能。

当选择不存在时提示用户选择错误并提示重新选择。

题目要求. 设计要求基本功能:添加日程信息;删除日程信息;查询管理;设置管理;拓展功能:日程信息的修改;设置修改;设置删除;创新(自拟)功能:程序实现的其它功能由个人自拟。

. 设计要求具体说明添加日程信息:需要输入日期、时间及相关的事件名称,并提示是否有时间冲突。

删除日程信息:需要输入日期、时间后,显示相关的事件名称,由用户确认是否删除。

查询功能:a) 查询提前提醒事件,即提示将要发生的日程信息;b) 查询某天的日程信息。

对已经过去和将要发生的事件要区别显示。

设置功能:a) 可以设置提前提醒的时间。

b) 日程信息需写入文件,文件的建立自我定义。

c) 输入的日期、时间要进行合理性检查。

d) 设置提前提醒的时间,并进行合理性检查。

拓展功能:a) 能进行日程表信息的修改;b) 设置信息的修改、删除。

. 提示:定义合适的结构体类型,使用链表或数组的方式组织数据。

数据结构设计本系统包含的数据结构有:struct Date_time行结果1.点击运行,出现如下界面,可根据提示,选择菜单,进行相关操作;添加日程功能2.选择菜单,输入1,进入添加日程功能,第一步:提示输入日程的时间,第二步:提示输入日程的名称,第三步:提示输入日程的具体内容。

第四步:进入设置界面,提示设置日程的提示时间。

输入完成后回车,日程的添加功能就完成了。

注意:在这个功能里,对于时间和日期的合法性都有检查,如果输入的时间有错误,那么就会自动提示输入的不正确,请重新输入。

保存日程的功能3.完成菜单一的添加日程功能后,按回车键返回主菜单,然后选择6,进入保存日程的功能,选择6后,点击回车,界面提醒“保存成功”,这时日程的保存就完成了,日程就保存在了“我的日程.txt”,文本文档里了。

我们就完成了对日程的写入保存功能。

文件的读取功能4.完成日程的保存写入功能之后,就会自动返回主菜单,选择5,进入文件的读取功能,点击回车,屏幕上会显示已保存的日程的全部信息,包括日程日期,日程名称,详细信息,提醒时间;进入查询日程功能5.完成读文件功能之后,点击回车,回到主菜单就可以选择其他功能进行操作,例如选择3,进入查询日程功能,界面自动提醒:1.查询指定日程,2.退出操作,选择1,查询指定日程,提示输入查询日程的名称。

输入要查询的日程的名称后,关于这条日程的详细信息就会显示。

然后选择0,退出查询功能,返回主界面。

注意;如果输入的日程名称不正确,系统会自动提醒,查找的日程不存在。

修改功能6.返回主菜单后选择4,进入日程的修改功能,然后提示输入要修改的日程名称,输入名称,进入修改界面,1.修改日程时间,2.修改日程名称,3.修改日程详情,4.修改日程提醒时间,0.退出。

选择要修改的内容,如选择4修改日程的提醒时间,回车后,输入新的提醒时间,回车,选择0完成,回车,返回主菜单,然后选择6保存日程,再选择5,读取日程,界面就显示修改后的新日程的新信息了,这样的话,修改就成功了。

删除功能6.完成修改功能后,回车进入主菜单,选择2,进入删除功能,输入要删除的日程名称,回车进入删除界面,选择1,确认删除,删除后,界面显示删除成功。

并返回主菜单。

选择6,保存删除,选择5,读取日程,就看不到刚刚删除的那条日程信息了。

5.源程序代码:#include <>#include <> ame, RC_name);strcpy((*p).detail, RC_detail);(*p). = ; = ;(*p). = ;(*p). = ;(*p). = ;printf("添加日程设置\n"); 除\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() ame);printf("*日程时间:%-4d-%-2d-%-2d %-d:%-2d\n",(*p).,(*p).,(*p).,(*p).,(*p).;printf("*日程详情:%s\n",p->detail);printf("*提醒时间:%-4d-%-2d-%-2d %-d:%-2d\n",(*p).,(*p).,(*p).,(*p).,(*p). );printf("\n");}void search() 询指定日程\n");printf("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选择错误!\n\n");}}while( X!= 0);}void search_zhiding_richeng(char name[50]) ame, name) == 0) {p_event = p;show(p);}p = (*p).next;}改日程时间\n");printf("2.修改日程名称\n");printf("3.修改日程详情\n");printf("4.修改日程提醒\n");printf("0.完成\n");scanf("%d",&s);getchar();switch(s){case 0:break;case 1: = ;(*p). = ;(*p). = ;(*p). = ;(*p). = ;break;case 2: ame, RC_name);break;case 3: etail, RC_detail);break;case 4: = ;(*p). = ;(*p). = ;(*p). = ;(*p). = ;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*****读取信息如下*****\n\n");while(!feof(fp)) ext = p;p0 = p;}}fclose(fp);printf("\n-----------------------按回车键返回-----------------------\n");getchar();}void write(){struct richeng *p,*p1;FILE *fp;p=p1=head;fp = fopen("我的日程.txt","wb");if(fp == NULL){printf("\n文件无法打开!\n");return;}while(p != NULL){if( fwrite(p,A,1,fp) !=1 ) ext;}fclose(fp);printf("\n*****保存成功*****\n");}6.课程设计感悟:两周的课程设计转眼间就结束了,回顾这两周的课程设计,对我的帮助是很大的,在做课设以前,我们虽然在学习的过程中也做实验,但偏重的还是课本上的知识,但通过这两周的课程设计,主要培养我们的实践动手能力,从第一天的分析题目,到第二天和第三天的画程序流程图,再到编写程序,我学会了在做大的编程的时候一定要有条理,画流程图是很有必要的,在编写程序之前,通过画流程图,我们可以清楚明白的知道这个程序应该怎么写,不至于到编程的时候脑子里一团糟,自己心里没有一条明确的主线路。

相关文档
最新文档