2022年2022年计算机程序设计课程设计报告 2.pdf
《2022年2022年计算机程序设计课程设计报告 2.pdf》由会员分享,可在线阅读,更多相关《2022年2022年计算机程序设计课程设计报告 2.pdf(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、v1.0 可编辑可修改1 计算机程序设计 (C 语言) 课程设计报告题目:电子动画时钟学院:机电工程学院专业:班级: 090109 班学号:姓名:指导教师:设计日期:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 17 页 - - - - - - - - - v1.0 可编辑可修改2 一、概述选题背景:随着社会的进步和科技的发展,电子钟表逐渐成为了人们生活中不可缺少的一部分。设计思路: (一)功能模块设计,1. 电子时钟执行主流程2. 电子时钟界面显示3. 电子时钟按键控
2、制模块4. 时钟动画处理模块(二)数据结构设计结构体 2. 全局变量(三)函数功能描述 ()()()()()() clockhandle()()(四)程序实现(五)运行结果。二、概要设计、数据结构此程序中,使用了C语言的 time 结构体和几个全局变量,结构体struct timeunsigned char ti_min; /*分钟*/unsigned char ti_hour; /*小时*/unsigned char ti_hund; /*百分之一秒 */unsigned char ti_sec; /*秒*/;time 结构体定义在文件中, 可用来保存系统的当前时间, 其中各字段的值的含义如
3、下。 char ti_min:保存分钟值。 char ti_hour:保存小时。 char ti_hund:保存百分之一秒,例如, ti_hund=500 ,表示 1/500 秒。 char ti_sec:保存秒数。、全局变量下面对程序用到的全局变量及数组进行说明.1. double h,m,s: 此 3 个全局变量分别用来保存小时,分钟,秒数。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 17 页 - - - - - - - - - v1.0 可编辑可修改3 2. d
4、ouble x,x1,x2,y,y1,y2:保存数字时钟中小时,分,秒在屏幕中显示的坐标值。 time t1:定义一个 time 结构类型的数组,此数组只有t0 一个元素。模块列表 1. 时钟动画处理模块时钟动画处理模块主要由clockhandle()函数来实现,程序中旧时钟指针的擦除是借助 setwritemode(mode) 函数设置画线的方式来实现。如果mode=1 ,则表示画线时用现在特性的线所画之处原有的线性异或(XOR) 操作,实际上画出的线是原有线与现在规定的线进行异或后的结果。因此,当线的特性不变时, 进行两次画线操作相当于没有画线,即在当前位置处清除了原来的画线。2. 时钟按
5、键控制模块在电子时钟中,按键控制模块最主要的工作就是必须能读取用户按键,对按键值进行判断,并调用相应函数来执行相关操作。3.数字时钟处理模块(1)调用 digitclock(int x,int y,int clock) 函数。在数字时钟r 指定位置显示时,分,秒,其中digithour(double h),int digitour(double h)和digitsec(doubles)用于完成数值的 double 型向 int型转换。(2)调用 drawcursor(int count),clearcursor(int count)函数来完成旧光标的擦除和新光标的绘制。、程序结构图(也就是模块
6、之间的关系)电子时钟名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 17 页 - - - - - - - - - v1.0 可编辑可修改4 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 17 页 - - - - - - - - - v1.0 可编辑可修改5 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - -
7、 - - - - - 名师精心整理 - - - - - - - 第 5 页,共 17 页 - - - - - - - - - v1.0 可编辑可修改6 三 、详细设计程序预处理模块。 包括加载头文件, 定义常量, 变量,结构体数组和函数原型声明。主 控 模 块main().main()函 数 主 要 实 现 了 对 电 子 时 钟 的 初 始 化 工 作 , 及clockhandle()函数的调用。时钟动画处理模块。时针按键控制模块。在电子时钟中,按键控制模块最主要的工作就是必须能读取用户按键,对按键值进行判断,并调用相应函数来执行相关操作。流程图如下。数字时针处理模块。在数字时钟处理模块中,
8、主要实现数字时钟的显示和数字的时钟修改。其中,在数字时钟的修改中,用户可以按Tab键定位需要修改的内容的位置,然后通过按光标上移或下移键来修改时间。四、调试程序错误 1:错误现象: Declaration syntan error错误原因:声明错误,缺分号。修改方法:在声明语句后添加分号。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 17 页 - - - - - - - - - v1.0 可编辑可修改7 错误 2:错误现象: Two few parameters in
9、call to setlinestyle in function main错误原因:语句缺少参数。修改方法:在 main() 函数中找到缺少参数的语句添加相应的参数。错误 3:错误原因: Function call missing)in function clockhandle错误原因:在 clockhandle函数调用的是后函数表达式缺少一个) 。修改方法:找到错误语句添加缺少的表达式符号。五、心得总结程序优点: 本程序旨在训练学生的基本编程能力,本程序中涉及时间结构体, 数组,绘图等方面的知识,通过本程序的训练使学生能对C语言有一个更深刻的了解。掌握利用 C语言相关函数开发电子时钟的基本原
10、理,为进一步开发出高质量的程序打下坚实的基础。程序缺点:程序各个模块之间的控制连接比较繁琐,容易出现错误。六附程序清单#include#include#include#include#define PI #define UP 0 x4800#define DOWN 0 x5000#define Esc 0 x11b名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 17 页 - - - - - - - - - v1.0 可编辑可修改8 #define TAB 0 xf09in
11、t keyhandle (int,int);int timeupchange (int);int timedownchange (int);int digithour (double);int digitmin (double);int digitsec (double);void digitclock (int,int,int);void drawcursor (int) ;void clearcursor (int) ;void clockhandle () ;double h,m,s ;double x,x1,x2,y,y1,y2;struct time t1 ; main() int
12、driver,mode=0,i,j;driver =DETECT;initgraph (&driver, &mode,c:tc);setlinestyle (0,0,3);setbkcolor(0);line(82,430,558,430);line(70,62,70,418);line(82,50,558,50);line(570,62,570,418);line(70,62,570,62);名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 17 页 - - - - -
13、- - - - v1.0 可编辑可修改9 line(76,56,297,56);line(340,56,564,56);/*arc(int x, int y, int. stangle, int endangle, int radius)*/arc(82,62,90,180,12);arc(558,62,0,90,12);setlinestyle (0,0,3);arc(82,418,180,279,12);setlinestyle (0,0,3);arc(558,418,270,360,12);setcolor(15);outtextxy(300,53,CLOCK);setcolor(7);
14、rectangle(342,72,560,360);setwritemode(0);setcolor(15);outtextxy(433,75,CLOCK);setcolor(7);line(392,310,510,310);line(392,330,510,330);arc(392,320,90,270,10);arc(510,320,270,90,10);setcolor(5);for(i=431;i=470;i+=39) for(j=317;j=324;j+=7) setlinestyle(0,0,3); circle(i,j,1);名师资料总结 - - -精品资料欢迎下载 - - -
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年2022年计算机程序设计课程设计报告 2022 计算机 程序设计 课程设计 报告
限制150内