最新C语言课程设计报告书样本-(2)1.doc
Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateC语言课程设计报告书样本-(2)1C语言课程设计报告书海南大学三亚学院C语言程序设计课程设计 题 目: 钟表显示程序 专 业: 通信工程 班 级: 1001班 姓 名: 郑都 学 号: 1010730080 指导老师: 刘小飞 设计时间: 2011年7月4日 2011年7月8日 目 录C语言程序设计课程设计11. 程序分析与设计32流程图33. 源程序清单34调试过程45程序有待改进的地方46. 本次实习的收获和建议5参考文献5附录5钟表显示程序1. 程序分析与设计首先先在屏幕上确定好钟表的中心坐标,然后设计半径和表盘读数。从WINDOWS系统中提取现在的时间,并弄好午前午后的关系。画出分针和秒针还有时针后,设定钟表的刷新时间。2流程图开始从系统提取时间输入到程序输入钟表的中心坐标和半径编写秒,分,时和24小时制设定时钟的刷新率结束3. 源程序清单#include <stdio.h> /*定义输入输出函数*/#include <stdlib.h> /*定义杂项函数及内存分配函数*/ #include<graphics.h>#include<math.h>#include<dos.h>#define PI 3.1415926#define x0 320 /*定义钟表中心坐标*/#define y0 240void DrawClock(int x,int y,int color) /*画表盘*/ int r=150; /*表盘的半径*/ float th; setcolor(color); circle(x,y,r); circle(x,y,2);void DrawHand(int x,int y,float th,int l,int color) int x1,y1; x1=x+l*sin(th); y1=y-l*cos(th); setcolor(color); line(x,y,x1,y1);void main()int gdriver=DETECT,gmode; strUCt time curtime; float th_hour,th_min,th_sec; initgraph(&gdriver,&gmode,"");setbkcolor(0);while(! kbhit()DrawClock(x0,y0,14);gettime(&curtime); /*得到当前系统时间*/gotoxy(35,20); /*定位输出位置*/ if(float)curtime.ti_hour<=12) /*午前的处理*/printf("AM ");if(float)curtime.ti_hour<10) printf("0"); /*十点之前在小时数前加零*/printf("%.0f:",(float)curtime.ti_hour);else /*午后的处理*/printf("PM ");if(float)curtime.ti_hour-12<10) printf("0");printf("%.0f:",(float)curtime.ti_hour-12);if(float)curtime.ti_min<10) printf("0");printf("%.0f:",(float)curtime.ti_min);if(float)curtime.ti_sec<10) printf("0");printf("%.0f",(float)curtime.ti_sec);/*以下三行计算表针转动角度,以竖直向上为起点,顺时针为正*/th_sec=(float)curtime.ti_sec*0.1047197551; /*2/60=0.1047197551*/th_min=(float)curtime.ti_min*0.1047197551+th_sec/60.0;th_hour=(float)curtime.ti_hour*0.523598775+th_min/12.0; /* 2/12=0.5235987755 */DrawHand(x0,y0,th_hour,70,2); /*画时针*/DrawHand(x0,y0,th_min,110,3); /*分针*/DrawHand(x0,y0,th_sec,140,12); /*秒针*/sleep(1); /*延时一秒后刷新*/cleardevice();closegraph();4调试过程在程序运行的过程中,出现了很多的错误。有很复杂的问题,也不乏许多低级的错误。5程序有待改进的地方本来是想做成彩色钟表,将秒针,分针,时针用不同的颜色进行标记。但是似乎在程序的限制之下,所以没有深入研究。6. 本次实习的收获和建议本次编程中,我接触到了许多以前没有用过的函数。由于一开始没有设计思路,所以我通过网络观看别人编写的程序,并综合了他们的设计思路,请教一些有经验的人士。参考文献至少要按报告的格式写出三个参考文献如: 谭浩强. C程序设计教程.清华大学出版社,2009. 谭浩强. C程序设计题解与上机指导(第三版) .清华大学出版社, 2005. 邱仲潘. C语言参考手册. 机械工业出版社,2004.海南大学三亚学院课程设计考核表分院 理工分院 专业 通信工程 班级 1001课程设计题目钟表显示程序学生姓名郑都学号1010730080课程设计时间2011年 7月 5日至 2011 年 7 月 10 日同组人序号姓名学号课程设计总结报告(完成情况) 在课程设计的开始之前,我先估量了一下自己的编程水平,最终选择了一个跟自身水平比较符合的课题。在以课程设计标准为目标的同时,着手代码的编写。在编写的过程中遇到了许多问题,诸如设计思路,陌生的语言等问题。在查阅书籍后,我发觉还是不能解决自己的问题,于是便在一些专业性较强的C语言论坛进行求教。经过一段时间的切磋后,终于解决了自己的代码中的问题,最终顺利的完成了课程。(后可附页)指导教师评定意见审核人意见 指导教师: 年 月 日 审核人: 年 月 日-