教师签到系统课程设计报告.docx

上传人:b****3 文档编号:4629645 上传时间:2023-05-07 格式:DOCX 页数:15 大小:297.36KB
下载 相关 举报
教师签到系统课程设计报告.docx_第1页
第1页 / 共15页
教师签到系统课程设计报告.docx_第2页
第2页 / 共15页
教师签到系统课程设计报告.docx_第3页
第3页 / 共15页
教师签到系统课程设计报告.docx_第4页
第4页 / 共15页
教师签到系统课程设计报告.docx_第5页
第5页 / 共15页
教师签到系统课程设计报告.docx_第6页
第6页 / 共15页
教师签到系统课程设计报告.docx_第7页
第7页 / 共15页
教师签到系统课程设计报告.docx_第8页
第8页 / 共15页
教师签到系统课程设计报告.docx_第9页
第9页 / 共15页
教师签到系统课程设计报告.docx_第10页
第10页 / 共15页
教师签到系统课程设计报告.docx_第11页
第11页 / 共15页
教师签到系统课程设计报告.docx_第12页
第12页 / 共15页
教师签到系统课程设计报告.docx_第13页
第13页 / 共15页
教师签到系统课程设计报告.docx_第14页
第14页 / 共15页
教师签到系统课程设计报告.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

教师签到系统课程设计报告.docx

《教师签到系统课程设计报告.docx》由会员分享,可在线阅读,更多相关《教师签到系统课程设计报告.docx(15页珍藏版)》请在冰点文库上搜索。

教师签到系统课程设计报告.docx

教师签到系统课程设计报告

沈阳航空航天大学

 

课程设计报告

 

课程设计名称:

C语言课程设计

课程设计题目:

(与任务书的题目名称一致)

 

院(系):

专业:

班级:

学号:

姓名:

指导教师:

完成日期:

2011年7月22日

目录

第1章题目与概要设计1

1.1题目的内容与要求1

1.2概要设计1

第2章详细设计2

2.1主模块2

2.2读盘模块3

2.3签到模块4

2.4排序模块5

2.5统计模块6

第3章调试分析7

第4章执行结果8

参考文献10

附录(程序清单)11

第1章题目与概要设计

1.1题目的内容与要求

课程设计的内容是……。

具体要求如下:

本节内容参照任务书,但是不要照抄,用自己的话描述

(1)……

(2)……

……

1.2概要设计

(此处用语言、图表等描述对该题目的总体解决方案)

图1.1功能模块图

本节描述程序分为几个模块,简述每个模块的功能,画出功能模块图。

注意图必须写图号,图号规则是图节号.图的序号,本图是第一节的第一个图,所以叫图1.1。

下一节的第一个图叫图2.1,下一节的第二个图叫图2.2,依次类推。

在描述部分必须提到所画的图号。

第2章详细设计

2.1主模块

(此处按模块功能详细介绍具体实现的细节,可通过流程图或伪语言来描述,图要有图标,表要有表题,不能只有图或表,没有文字叙述,图或表前要有语言介绍,图或表后若有说明也要写清楚。

 

图2.1主模块流程图

 

 

2.2读盘模块 

图2.2读盘模块流程图

 

2.3签到模块

图2.3签到模块流程图

2.4排序模块

图2.4排序模块流程图

2.5统计模块

图2.5统计模块流程图

本节主要描述每个模块的具体功能,对于主要的模块需要画程序流程图,本范例给的是只要能描述程序逻辑即可。

注意,必须对所画的图进行文字描述。

图号和使用同上节所示。

第3章调试分析

(描述程序调试,测试的详细过,将遇到的问题和解决方法描述清楚)

1.从文件读取信息最后一个信息总是读不到

原因:

从文件读到链表里不同于直接输入链表,差别就在于

直接输入时最后一个作为判断条件不输入到链表里

解决方法:

将链表建立是的最后一个指针向后移一位即

p2->next=p1;

p1->next=NULL;

2.输出到屏幕上时个字符距离不同一,看起来比较杂乱

原因:

字符输出格式没有进行控制

解决方法:

在printf里百分号前加上需要的空格或数字

3.排序是由于地址比较多,非常容易搞混

解决方法:

将定义的各个地址都用直接意思的单词代替,

便于使用

 

第4章执行结果

运行操作及结果:

1)在文件中输入3名教师信息

读盘模块显示如下:

签到模块显示如下:

排序模块显示如下:

统计模块显示如下:

 

2)在文件中输入5名教师信息

读盘模块显示如下:

签到模块显示如下:

排序模块显示如下:

统计模块显示如下:

 

参考文献

[1]谭浩强《C语言设计(第三版)》清华大学出版社2005

[2]谭浩强《数据结构》清华大学出版社2005

[3]姜学军《数据结构》中国轻工业出版社2004

[4]张磊《C语言程序设计》高等教育出版社2002

[5]郭大海《实用C语言》中国电力出版社2000

附录(程序清单)

代码:

#include

#include

#include

#include

#defineLENsizeof(structteacher)

#defineNULL0

structteacher

{

longnum;

charname[20];

floatshijian;

structteacher*next;

};/*建立结构体*/

intn=0;

structteacher*duqu(void)/*教师信息的读盘操作*/

{FILE*fp;

intn=0;

structteacher*p1,*p2,*head;

if((fp=fopen("F:

\\AA.txt","r"))==NULL)

{

printf("cannotopenthefile");

exit(0);

}

p1=p2=(structteacher*)malloc(LEN);

head=NULL;

printf("读入教师号信息:

\n");

while(fscanf(fp,"%ld%s%f",&p1->num,p1->name,&p1->shijian)!

=-1)

{n=n+1;

printf("%ld%s%f",p1->num,p1->name,p1->shijian);

printf("\n");

if(n==1){head=p1;}

else{p2->next=p1;}

p2=p1;

p1=(structteacher*)malloc(LEN);

}

p2->next=NULL;

fclose(fp);

returnhead;}

structteacher*change(structteacher*head)/*教师按教师号签到*/

{structteacher*p1;

intj;

longnum;

floatshijian;

p1=head;

printf("\n教师按教师号签到:

\n");

while(p1!

=NULL)

{n=n+1;

p1=p1->next;}

for(j=0;j

{

printf("输入教师号签到:

");

scanf("%ld",&num);

p1=head;

while(num!

=p1->num)

p1=p1->next;

printf("请输入时间:

");

scanf("%f",&shijian);

p1->shijian=shijian;

}

return(head);

}

structteacher*sort(structteacher*head)/*统计排序*/

{

structteacher*p1;

inti,j,n=0,k=0;

structmember/*建立结构体,将链表中的信息复制到结构体中,用于冒泡排序*/

{

longnum;

charname[20];

floatshijian;

}tea[20],mem;

p1=head;

while(p1!

=NULL)

{n=n+1;

p1=p1->next;}

p1=head;

while(p1!

=NULL)

{

if(k

{

tea[k].num=p1->num;

strcpy(tea[k].name,p1->name);

tea[k].shijian=p1->shijian;

}

k++;

p1=p1->next;

}

/*通过签到时间排序*/

printf("\n通过签到时间排序:

");

printf("\n");

for(j=0;j

for(i=0;i

if(tea[i].shijian>tea[i+1].shijian)

{mem=tea[i];

tea[i]=tea[i+1];

tea[i+1]=mem;

}

for(i=0;i

{printf("%ld%s%f",tea[i].num,tea[i].name,tea[i].shijian);

printf("\n");

}

/*通过教师号排序*/

printf("\n通过教师号排序:

\n");

printf("\n");

{for(j=0;j

for(i=0;i

if(tea[i].num>tea[i+1].num)

{mem=tea[i];

tea[i]=tea[i+1];

tea[i+1]=mem;

}

for(i=0;i

{printf("%ld%s%f",tea[i].num,tea[i].name,tea[i].shijian);

printf("\n");

}

}

return(head);

}

structteacher*demand(structteacher*head)/*统计迟到教师*/

{

structteacher*p1;

p1=head;

printf("\n统计迟到教师:

\n");

while(p1->shijian>=8.00)

{printf("%ld%s%f\n",p1->num,p1->name,p1->shijian);

p1=p1->next;}

return(head);

}

voidmain()

{structteacher*head;

head=duqu();

head=change(head);

head=sort(head);

head=demand(head);

}

课程设计总结:

学生填写感受,学到的东西等等,不能太少

这是我大学里的第一个课程设计,从接到题开始就觉得困难有点多,有很多东西是平时并没有完全学过的,更多要自己去查找资料,去问身边知道的人。

课设的程序一般都比较大,跟平时上机题有很大区别,要运用到很多方面的知识。

开始编程序的时候就暴露了平时学习不扎实的漏洞,很多时候要通过看书来解决一些基本的问题,所以我感觉书本学习还是要放在第一位的。

在编完一段程序后,自己调试显得很重要,很多自己不知道的知识都是要从调程序里得到,当然也有很多从其他人那里学到,通过自己多次调程序,还有其他同学的请教,自己对知识又重新理解了一遍。

在做课设期间我也认识了团队的力量,同样一个程序在不同人眼里指认的错误是不一样的,一个人能看出的错误可能是一方面的,只有向其人不断地讨教才能让程序更加的完善。

做出一个程序之后,然后要做出一个完整的报告,虽然报告的工作量并不比程序的工作量小,但这个报告会使程序更加完善,让自己对程序的理解更深。

这是大学课设的开始,做一次课设就是对自己能力的一个直接的提升,虽然能力是平时自己一点一滴积累起来的,但这次课设让我们知道自己的不足。

课设也能弥补自己以前没学扎实的部分。

当做完自己的设计,有一种如释重负的感觉,虽然写下自己的总结是我还不知道自己能不能过答疑,但这次课设自己得到已远比结果更重要。

 

学生填写感受,学到的东西等等,不能太少

指导教师评语:

 

指导教师(签字):

      年月日

课程设计成绩

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

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2