• 领导讲话
  • 自我介绍
  • 党会党课
  • 文秘知识
  • 转正申请
  • 问题清单
  • 动员大会
  • 年终总结
  • 工作总结
  • 思想汇报
  • 实践报告
  • 工作汇报
  • 心得体会
  • 研讨交流
  • 述职报告
  • 工作方案
  • 政府报告
  • 调研报告
  • 自查报告
  • 实验报告
  • 计划规划
  • 申报材料
  • 当前位置: 勤学考试网 > 公文文档 > 问题清单 > 正文

    C语言图形时钟课程设计实验报告.x

    时间:2020-11-08 13:04:49 来源:勤学考试网 本文已影响 勤学考试网手机站

    目录

    系统功能要求。

    数据结构设计及说明。

    程序结构(画流程图) 。

    各模块的功能。

    试验结果(包括输入数据和输出结果)

    体会。

    参考文献。

    附录:程序清单及源程序

    系统功能要求 :

    系统功能要求 :

    -

    - PAGE # -

    系统功能要求 :

    系统功能要求 :

    -

    - PAGE # -

    在屏幕上显示一个图形时钟 (用程序绘制一个与时钟样 式相似即可),时间与系统时间一致,且要随着时间的走动 准确的走动。

    数据结构设计及说明

    (1) 图形时钟要用TC来编译,学C语言时主要用

    VC,用TC对我有一定的挑战性,不熟悉编译,对 图形函数也没有太多接触,做这个有一定难度。

    先画出时钟基本组成, (时针分针秒针,中心

    点,表盘及其分隔点) 。

    时钟表设计思想:

    第一步, 确定秒钟的走时。

     将圆等分成 60 份每过一 秒,秒钟要转 1/60 个圆,亦即一等份。

    第二步, 确定分钟的走时。

     将圆等分成 60 份每过一 分,分钟要转 1/60 个圆,亦即一等份。

     分钟自己走的再加秒钟的,才是分钟此时 的位置。

    第三步, 确定时钟的走时。

     将圆等分成 12 等分。每 过一时,时钟走一等份。和分钟一样, 得加上分钟,秒钟的走时,才是此刻时钟 的位置。

    -

    - PAGE # -

    -

    - PAGE # -

    时钟走动与系统时间联系:每过一秒画出秒

    针,并除去前一秒的秒针,分针秒针同样可用。

     画线函数与时间联系使用变量。

    (5) 设置横纵坐标

    x=a*cos(b*c*pi/180-pi/2)+300; y=a*sin(b*c*pi/180-pi/2)+240;

    设置表针的动态坐标点

    x1=200*sin(i*6*pi/180)+300;

    y1=200*cos(i*6*pi/180)+240;

    x2=(200-l)*sin(i*6*pi/180)+300;

    y2=(200-l)*cos(i*6*pi/180)+240;

    -

    - PAGE # -

    -

    - PAGE # -

    程序结构(画流程图)

    总流程图:

    -

    - PAGE # -

    各模块的功能

    各模块的功能

    -

    - PAGE # -

    Void draw(i nt a, int b, int C)

    功能二?

    确定横纵坐标,确定针分针秒针函数

    void in it()

    功能

    戈U时钟边框函数和画钟点上的短线

    I A

    main ()

    功能

    ∣F-b.

    主函数f 图形初始化

    1

    时钟添加12点、3点、6 点、9点

    获取系统时间,画时针分 针秒针, 将系统时间与时钟联系

    试验结果(包括输入数据和输出结果)

    体会:

    刚开始做时基本上什么都不懂,用 TC做,我更不 会。不过参考了很多资料,到网上查,泡了几天图书馆, 差不多能写出基本程序,虽然很多是借鉴别人的,不过 能写成这样,我心里还是挺高兴的。

    有了一点成功我就很兴奋,这是动力。程序很奇特, 很多问题都可以用程序编写, 看到那些大型程序我就感 觉我也能写出这样的程序。

    程序设计主要靠理解与运用,有些没有学过的知识 不一定要懂得彻底,只要会运用就行。

    不足之处也很多,程序思路不太清晰可能有些混 乱。有很多程序设计使用并不熟练,甚至有些方法掌握 不了,更容易忘记。算法结构了解并不深入, 独立自主 的想法占据总体达不到要求。需要加强练习和对知识的 理解与掌握。

    参考文献:

    参考文献:

    -

    - PAGE # -

    参考文献:

    参考文献:

    -

    - PAGE # -

    《C程序设计思想与方法》

    《 C 语言完全手册》

    《C语言课程设计指导》

    百度知道 图形时针》

    附录:程序清单及源程序 (使用 TC)

    # include <graphics.h>

    # include <math.h> # include <dos.h> # define pi 3.1415926 void draw(int a, int b, int c) {

    float x, y;

    x=a*cos(b*c*pi/180-pi/2)+300; /* 确定横坐标 */

    y=a*sin(b*c*pi/180-pi/2)+240; /* 确定纵坐标 */

    line(300, 240, x, y);/* 绘制时针或分针或秒针 */

    }

    void init() /* 划时钟边框函数 */ {

    int i,l,x1,x2,y1,y2; circle(300,240,200);/* 为半径画圆 */circle(300,240,5);/* 径画圆 */for(i=0;i<60;i++) /*以( 300, 240)为圆心, 200 以(

    int i,l,x1,x2,y1,y2; circle(300,240,200);/* 为半径画圆 */

    circle(300,240,5);/* 径画圆 */

    for(i=0;i<60;i++) /*

    if(i%5==0)

    l=15;

    -

    - PAGE # -

    -

    - PAGE # -

    else

    l=5;

    x1=200*sin(i*6*pi/180)+300; /* y1=200*cos(i*6*pi/180)+240; x2=(200-l)*sin(i*6*pi/180)+300; y2=(200-l)*cos(i*6*pi/180)+240; line(x1,y1,x2,y2);

    }

    }

    main()

    {

    int x, y,i;

    int gdriver, gmode;

    unsigned char h, m, s;

    struct time t[1];

    gdriver = DETECT;

    initgraph(&gdriver, &gmode, ""); /* for(i=0;i<=6;i++)

    {

    画线函数 */

    初始化 */

    outtextxy(300,80,"12") ;

    outtextxy(300,390,"6");

    outtextxy(140,230,"9");

    outtextxy(460,230,"3");

    }

    init(); /*

    setwritemode(1);/* 作*/

    gettime(t); /*

    h = t[0].ti_hour; m = t[0].ti_min;

    s = t[0].ti_sec;

    setcolor(7);

    调用 init ()函数 */ 将当前线与原有的线进行异或操

    将计算机时间写入结构体 t 中 */

    /*h 赋初值当前时数 */

    /*m 赋初值当前分数 */

    /*s 赋初值当前秒数 */

    画时针

    画时针 */

    画分针 */

    画秒针 */

    清除前面画的秒针 */

    画秒针 */

    清除前面画的分针 */ 画分针 */

    清除前面画的时针 */

    画时针 */

    draw(150, h, 30); /* setcolor(14);

    draw(170, m, 6); /* setcolor(4);

    draw(190, s, 6); /* while (!kbhit())

    {

    while (t[0].ti_sec == s) gettime(t);

    setcolor(4);

    draw(190, s, 6); /*

    s = t[0].ti_sec; draw(190, s, 6); /* if (t[0].ti_min != m) {

    setcolor(14);

    draw(170, m, 6); /*

    m = t[0].ti_min;

    draw(170, m, 6); /*

    }

    if (t[0].ti_hour != h)

    {

    setcolor(7);

    draw(150, h, 30); /* h = t[0].ti_hour;

    draw(150, h, 30); /*

    }

    }

    getch();

    closegraph(); /* 退出图形界面 */ }

    相关热词搜索: 实验报告 时钟 课程设计 图形

    • 考试时间
    • 范文大全
    • 作文大全
    • 课程
    • 试题
    • 招聘
    • 文档大全

    推荐访问