c语言课程设计报告日程表.docx

上传人:b****5 文档编号:11819196 上传时间:2023-04-03 格式:DOCX 页数:26 大小:456.39KB
下载 相关 举报
c语言课程设计报告日程表.docx_第1页
第1页 / 共26页
c语言课程设计报告日程表.docx_第2页
第2页 / 共26页
c语言课程设计报告日程表.docx_第3页
第3页 / 共26页
c语言课程设计报告日程表.docx_第4页
第4页 / 共26页
c语言课程设计报告日程表.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

c语言课程设计报告日程表.docx

《c语言课程设计报告日程表.docx》由会员分享,可在线阅读,更多相关《c语言课程设计报告日程表.docx(26页珍藏版)》请在冰豆网上搜索。

c语言课程设计报告日程表.docx

c语言课程设计报告日程表

课程设计报告

 

课程名称程序设计语言c课程设计

设计题目日程管理

姓名

专业班级网络

学号

组别无

同组者无

指导教师

日期2011/7

成绩

1.

课程设计任务书

上海****学院课程设计任务书

课程名称

程序设计语言课程设计

课程代码

B704010

设计题目

1.算术练习

2.个人收支管理

3.通讯录

4.成绩记录簿

5.图书借阅管理

6.日程表管理

题目序号

6

设计时间

2011年6月27日——2011年7月8日

系(院)

计算机与信息工程学院

专业

网络工程

班级

一、课程设计任务(条件)、具体技术参数(指标)

1.在指导书提供的课程设计题目中选择一题或自选(但需经过指导教师认可)

2.每个题目限一人完成,题目选定后不可更换。

3.用户提供的主操作界面应该方便用户的操作。

4.最后提交的课程设计成果包括:

a)课程设计报告电子稿。

c)源程序文件。

d)可执行程序文件。

二、对课程设计成果的要求(包括课程设计说明书、图纸、图表、实物等软硬件要求)

1.分析课程设计题目的要求;

2.写出详细设计说明;

3.编写程序代码,调试程序使其能正确运行;

4.设计完成的软件要便于操作和使用,有整齐、美观的使用界面;

5.设计完成后提交课程设计报告和源代码文件的电子文档。

三、课程设计工作进度计划:

第一天选择课程设计题目,分析课题的要求,确定设计方案;

第二天总体设计,模块划分

第三天绘制程序流程图;

第四天按功能模块编写详细设计说明;

第五天编写程序代码

第六天设计用户界面;

第七天运行与调试程序;

第八天写课程设计报告;

第九天完成软件的设计准备答辩

第十天提交课程设计报告;面试或答辩。

四、主要参考资料

[1]谭浩强.C程序设计(第三版).北京:

清华大学出版社,2005

[2]谭浩强.C程序设计题解与上机指导(第三版).北京:

清华大学出版社,2005

[3]HerbertSchildt.C语言大全(第四版).北京:

电子工业出版社,2004

[4]SamuelⅢ,Guy.C语言参考手册(第5版).北京:

机械工业出版社,2003

[5]程序设计语言课程设计指导书.

指导教师(签名):

教研室主任(签名):

2011年6月27日2011年6月27日

2.目的及要求

课程设计目的

本课程设计是计算机科学与技术专业重要的实践性环节之一,是在学生学习完《程序设计语言》课程后进行的一次全面的综合练习。

本课程设计的目的和任务:

1)巩固和加深学生对C语言课程的基本知识的理解和掌握;

2)掌握C语言编程和程序调试的基本技能;

3)利用C语言进行基本的软件设计;

4)掌握书写程序设计说明文档的能力

5)提高运用C语言解决实际问题的能力。

课程设计要求

1)分析课程设计题目的要求;

2)写出详细设计说明;

3)编写程序代码,调试程序使其能正确运行;

4)设计完成的软件要便于操作和使用,有整齐、美观的使用界面;

5)设计完成后提交课程设计报告和源代码文件的电子文档。

3.课程设计内容说明

3.1程序功能介绍

本系统的主要功能是实现日程表的管理,有添加日程,删除日程,查询日程,显示日程,设置日程,修改日程,日程排序,读取日程,保存日程的功能。

每个日程的信息包括:

日程时间,日程名称,日程详情,日程提醒,日程标记。

3.2程序设计整体设计说明

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

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

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

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

等等功能。

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

3.2.1数据结构设计

本系统包含的数据结构有:

[1]structDate_time

图表3-1函数主要调用关系图

26main()

1

13

15

20

21

12

22

23

24

25

12

16

17

18

19

7

14

6

9

7

8

9

7

8

输入日期\时间

 

添加日程信息

判断输入时间是否正确

N

记录输入的信息

显示菜单

输入日程名称,日程详情

是否进入设置

进入设置日程

N

Y

Y

删除日程信息

输出选择列表

输入选择

选中日程

输出选中的日程信息

判断选择

删除选中日程

删除选中日程设置

显示菜单

1

2

确认

确认

输出选择列表

查询日程信息

输入选择

判断选择

1.查询提醒日程

2.查询当天日程

3.查询重要日程

4.查询指定日程

输入时间

输入时间

输出相应日程

输出标记为重要的事件信息

输出相应日程

输入名称

输出相应日程

显示菜单

显示日程信息

输出全部日程信息

显示菜单

设置重要标记

设置日程信息

输出选择列表

输入选择

判断选择

2

选中日程

1

设置提醒日起

显示菜单

输入要修改的信息

用输入的信息替换原信息

显示菜单

修改日程信息

选中事件

选中要修改的信息

日程排序

按时间顺序排序

显示菜单

输出”排序完成”

读取日程

显示菜单

读入文件

输出读取的日程信息

保存日程

显示菜单

写入文件

输出“保存成功”

C程序设计(第三版).北京:

清华大学出版社,2005

[2]谭浩强.C程序设计题解与上机指导(第三版).北京:

清华大学出版社,2005

[3]HerbertSchildt.C语言大全(第四版).北京:

电子工业出版社,2004

[4]SamuelⅢ,Guy.C语言参考手册(第5版).北京:

机械工业出版社,2003 

[5]张建勋.C语言程序设计教程.北京:

清华大学出版社,

[6]崔武子.C程序设计教程(第2版).北京:

清华大学出版社,(第2版)

附录(另起一页)

源代码:

include<>

#include<>

#include<>

#include<>

#defineLENsizeof(structCalender)

入日程名称\n");

printf("2.输入日程日期\n");

printf("\n*请选择:

");

scanf("%d",&sel);

getchar();

if(sel==1)

{

p=select_name_program();

}

elseif(sel==2)

{

p=select_date_program();

}

else

{

printf("\n选择错误!

\n");

}

}while(sel!

=1&&sel!

=2);

return(p);置提醒时间\n");

printf("2.设置重要标记\n");

printf("0.退出操作\n");

scanf("%d",&sel);

getchar();

入设置\n");

printf("2.放弃设置\n");

getchar();

scanf("%d",&sel);

if(sel==1)

{

set_program(p);

}

else

{

p->=0;

p->=0;

p->=0;

p->=0;

p->=0;

p->important='n';

}

除此日程事件\n");

printf("2.删除此日程设置\n");

printf("0.退出操作\n");

scanf("%d",&sel);

getchar();

switch(sel)

{

case0:

break;

case1:

除\n");

printf("2.放弃\n");

scanf("%d",&sure);

getchar();

if(sure==1)

{

if(p_sel==head&&p_sel!

=NULL)

head=p_sel->next;

elseif(p_sel!

=NULL)

p_last->next=p_sel->next;

}

break;

case2:

\n2.否\n");

scanf("%d",&sure);

getchar();

if(sure==1)

{

p_sel->=0000;

p_sel->=00;

p_sel->=00;

p_sel->=00;

p_sel->=00;

p_sel->important='n';

}

break;

default:

printf("\n选择错误!

请重新选择!

\n");

}

}while(sel!

=1&&sel!

=2&&sel!

=0);

}

询提醒日程\n");

printf("2.查询重要日程\n");

printf("3.查询当日日程\n");

printf("4.查询指定日程\n");

printf("0.退出操作:

\n");

scanf("%d",&sel);

getchar();

switch(sel)

{

case0:

break;

case1:

do

{

printf("请输入日程提醒日期(年-月-日):

\n");

scanf("%d-%d-%d",

&,&,&;

getchar();

}while(date_exam,,==0);

search_remind_program,,;

break;

case2:

search_important_program();

break;

case3:

do

{

printf("请输入日程日期(年-月-日):

\n");

scanf("%d-%d-%d",

&,&,&;

getchar();

}while(date_exam,,==0);

search_day_program,,;

break;

case4:

printf("请输入事件名称:

");

scanf("%s",e_name);

getchar();

search_name_program(e_name);

break;

default:

printf("\n选择错误!

\n\n");

}

}while(sel!

=0);

}

改日程时间\n");

printf("2.修改日程名称\n");

printf("3.修改日程详情\n");

printf("4.修改日程提醒\n");

printf("5.修改重要标记\n");

printf("0.完成\n");

scanf("%d",&sel);

getchar();

switch(sel)

{

case0:

break;

case1:

//输入日程时间

do

{

printf("请输入日程日期,时间(年-月-日时-分):

\n");

scanf("%d-%d-%d%d-%d",

&,&,&,&,&;

}while(time_exam(time)==0);

p->=;

p->=;

p->=;

p->=;

p->=;

break;

case2:

//输入日程名称

printf("日程事件名称(50个字符以内):

\n");

scanf("%s",e_name);

strcpy(p->name,e_name);

break;

case3:

//输入日程详情

printf("详细描述(100个字符以内:

)\n");

scanf("%s",e_detail);

strcpy(p->detail,e_detail);

break;

case4:

//输入提醒时间

do

{

printf("提醒日程日期,时间(年-月-日时-分):

\n");

scanf("%d-%d-%d%d-%d",

&,

&,

&,

&,

&;

}while(time_exam(remind_time)==0);

p->=;

p->=;

p->=;

p->=;

p->=;

break;

case5:

//修改重要标记

if(p->important=='y')

{

p->important='n';

}

else

{

p->important='y';

}

break;

default:

printf("\n菜单选择错误!

请重新选择!

\n");

}

}while(sel!

=0);

}

//日程按时间先后排序

voidsort_program()

{

structCalender*p,*p1,*p2,*p3;

p=head;

head=p3=NULL;

while(p!

=NULL)

{

p3=p;

p=p->next;

p2=p1=head;

while(p1!

=NULL

&&

(p1->

||p1->==p3->

&&p1->

||p1->==p3->

&&p1->==p3->

&&p1->

||p1->==p3->

&&p1->==p3->

&&p1->==p3->

&&p1->

||p1->==p3->

&&p1->==p3->

&&p1->==p3->

&&p1->==p3->

&&p1-><=p3->))

{

p2=p1;

p1=p1->next;

}

p3->next=p1;

if(p2==NULL

||

(p2->>p3->

||p2->==p3->

&&p2->>p3->

||p2->==p3->

&&p2->==p3->

&&p2->>p3->

||p2->==p3->

&&p2->==p3->

&&p2->==p3->

&&p2->>p3->

||p2->==p3->

&&p2->==p3->

&&p2->==p3->

&&p2->==p3->

&&p2->>=p3->)

head=p3;

else

p2->next=p3;

}

printf("\n*****排序完成*****\n");

}

//读取文件

voidread_program()

{

structCalender*p;

FILE*fp;

fp=fopen("","rb");

if(fp==NULL)

{

printf("\n文件无法打开!

\n");

exit(0);

}

head=NULL;

printf("\n*****读取信息如下*****\n\n");

while(!

feof(fp))

{

p=(structCalender*)malloc(LEN);

if(fread(p,LEN,1,fp)!

=1)

break;

print_program(p);

if(head==NULL)

{

head=p0=p;

}

else

{

p0->next=p;

p0=p;

}

}

fclose(fp);

printf("\n-----------------------按回车键返回-----------------------\n");

getchar();

}

//写入文件

voidwrite_program()

{

structCalender*p,*p1;

FILE*fp;

p=p1=head;

fp=fopen("","wb");

if(fp==NULL)

{

printf("\n文件无法打开!

\n");

return;

}

while(p!

=NULL)

{

if(fwrite(p,LEN,1,fp)!

=1)

{

printf("\n写入错误!

\n");

break;

}

p1=p;

p=p->next;

}

fclose(fp);

printf("\n*****保存成功*****\n");

}

intmain()

{

structCalender*p;

charchoice;

charfilename[100];

structtm*newtime;

time_tlong_time;

time(&long_time);

newtime=localtime(&long_time);

system("color1f");//设置屏幕颜色

printf("现在时间:

%d-%d-%d%d:

%d\n",//从系统读取时间

newtime->tm_year+1900,

newtime->tm_mon+1,

newtime->tm_mday,

newtime->tm_hour,

newtime->tm_min);

do

{

choice=Menu();

switch(choice)

{

case'0':

printf("\n*****谢谢使用*****\n\n");

break;

case'1':

add_programe();

getchar();

break;

case'2':

delet_program();

break;

case'3':

search_program();

break;

case'4':

show_program();

break;

case'5':

strcpy(set,"reset");

p=select_program();

if(p==NULL)

{

printf("\n*****无查找信息*****\n");

getchar();

break;

}

set_program(p);

break;

case'6':

alter_program();

break;

case'7':

sort_program();

break;

case'8':

read_program();

break;

case'9':

write_program();

break;

default:

printf("菜单选择错误!

请重新选择!

");

}

}

while(choice!

='0');

return0;

}

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 制度规范

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

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