- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
活动冲突检测系统实验报告
《C语言程序设计》课程设计
PAGE
PAGE 19
中南民族大学计算机科学学院计算机科学与技术专业 学号: 2012213660 姓名 :唐洁
活动冲突系统检测
一 目的
学会编制结构清晰、风格良好、数据结构适当的C语言程序,从而具备利用计算机编程分析解决综合性实际问题的初步能力。
加深对C语言程序设计课程很学知识的理解,熟练掌握和巩固C语言的基本知识和语法规范。
学会通过自己学习来解决的问题,加强自主学习能力。
二 需求分析
1、录入
要求用户可以从键盘中输入活动信息,并将其录入已存在的文档当中
2、修改
要求用户可以更改已经存在内存当中的活动信息。
3、删除
用户可以自己选择删除已存在的不必要的活动信息。
三 概要设计
本程序包含两个模块:
主程序模块:
main(){
定义常量,并从文件date1.txt中录入信息,初始化结构体;
显示菜单功能提供给用户选择;
根据用户所选择的内容,来进行各子项;
在用户输入的信息时与内存中的信息进行比较,查看信息是否产生冲突,若无冲突则询问用户是否录入信息;
若有冲突,则提出警告并退出当前徇环;
在用户选择退出程序时,将内存中的信息输入到已定文件中去;
}
菜单模块:
在主函数中调用,将菜单输出到屏幕中供给用户选择;
结构体数据类型定义及子函数
struct active
{
char name[8];活动者姓名。
int B_time_hour;活动开始时间(小时)。
int B_time_second;活动开始时间(分钟)。
int O_time_hour;活动结束时间(小时)。
int O_time_second;活动结束时间(分钟)。
char content[100];活动内容。
} student1[N];
struct active1
{
char name[8];活动者姓名。
int B_time_hour;活动开始时间(小时)。
int B_time_second;活动开始时间(分钟)。
int O_time_hour;活动结束时间(小时)。
int O_time_second;活动结束时间(分钟)。
char content[100];活动内容。
}
void Printf();为菜单输出函数
四 详细设计
定义结构体数组的最大长度
#define N 80
struct active student1[N];
struct active1 student2[N];
定义录入用户输入信息的结构体
struct active1 student3;
文件指针
FILE *fp;
定义菜单选择变量
char n;//该变量为菜单选择变量
使用从系统中录入日期的函数
int year, month, date;//定义时间变量
time_t nowtime;
struct tm *timeinfo;
time( nowtime );
timeinfo = localtime( nowtime );
#includetime.h//为录入日期函数的头文件
引用清屏函数
system(cls);
整个程序的流程图如下:
开始
录入n的值
输出菜单
n=?
1显示活动
2修改活动
3增加活动
4删除活动
5退出程序
显示活动内容
显示活动内容
录入修改内容
检查时间冲突
录入修改内容
检查时间冲突
选择删除编号
结束
无冲突则录入
有冲突不录入
无冲突则录入
有冲突不录入
五 调试分析
在刚开始做这个详设计时,本打算用指针,加链表的方式做的,但因为链表学的有些不是很懂,才换了用结构体数组进行。
在比较时间冲突时,过程比较复杂,弄了很久都弄不明白,到最后是请教了同学才把它用清楚。
此课程设计,我是一步一步做过来的。当某个功能没有完善之前不会做下一个功能,因此在排错方面并没有别的同学那样,做完所有功能才进行检测的来的复杂,所以我觉得一步一步来比做完再来检查要方便点。
在进行文件读入和输出的时候,由于过久没有使用,有点手生,而弄了很久,到最后熟悉后,才知道它的特点。因此,对于文件的输入输出都要熟悉掌握,才能正确的实现程序功能,达到目的。
六 测试结果
文件内容:
1、用户在选择查看时,程序会输出从文件读入的信息,同时再次弹出菜单,给用户选择,如下图:
2、当用户进行更改时,会将所有信息输出屏幕并进行编号,并输出提示信息:
3、当用户更改完成后会进行程序将和内存中的进行对比,如果没有冲突则徇问用户是否录入:
4、用户可以插入新的活动信息:
如果同名的学生,在时间上有冲突,则输入失败:
5、删除不需要的活动信息,用户选择删除不必要的信息,会将所有信息弹出,并编号
文档评论(0)