c语言课程设计报告。
学院:通信与信息工程学院。
专业:电子信息工程。
班级:1104
姓名:张帝。
学号:1107050415
日期:2012-6-20 wednesday
一:选题。1. 整点声音报时时钟:
a.针式表盘界面(方形或圆形);
b.有时针+分针+秒针并正确旋转;
c.时间须与系统时间相一致,秒针具有”滴答”声音效果。并实现整点报时。
二:源程序c语言**。
#include <>
#define pi 3.1416
#include""
#include""
void init_sceen(int,int,int); 画时钟屏幕*/
void sec();
void main()
int x0=320,y0=240,r0=150时钟的中心位置(320,240) 以及半径(150) *
init_sceen(x0,y0,r0);
sec();
closegraph();
void init_sceen(int x0,int y0,int r0)
int i,x,y,graphdriver,graphmode;
char s[10];
float alpha,a0=90;
graphdriver=detect;
initgraph(&graphdriver,&graphmode,""初始化图形系统 */
setbkcolor(0设置背景颜色为黑色 */
setcolor(2用绿色画出时钟的边框 */
fillellipse(x0,y0,r0,r0+50);
fillellipse(x0,y0,r0+30,r0+80);
setfillstyle(1,1把时钟钟面以外都填成蓝色 */
floodfill(x0-r0-50,y0,2);
for(i=12;i>=1;i--)计算出数字1~12的位置并在相应的位置输出数字*/
画出刻度*/
for(i=60;i>=1;i--)
setlinestyle(0,0,3);
以上部分的作用是完成表盘的设计*/
void sec(void)
int x,y,i,j,k,xj,yj,xk,yk,xi,yi,x0=320,y0=240,r0=150;
union regs r;
unsigned char *shijian=""
unsigned char *daa=""
struct time tim;
struct date dat;
float alphai,alphak,alphaj,a0=90;
xi=x0;yi=y0;xj=x0;yj=y0;xk=x0;yk=y0;
dox=38;y=12;
gettime(&tim从本机中获取时间 */
sprintf(shijian,"%02d:%02d:%02d",获取日期*/
getdate(&dat);
sprintf(daa,"%02d--%02d--%02d",bar(255,290,385,310一数字的形式输出日期 */
setcolor(red);
outtextxy(275,295,daa);
x=290;y=460;
setcolor(red);
outtextxy(100,y,"designed by yang fan");在指定位置显示字符 */
setcolor(lightred);
outtextxy(x,y0+20," watch ")
setlinestyle(0,0,3);k=j=
i=alphak=(a0+30*(12-k)-j*5/60.*6)*pi/180;
alphaj=(a0-6*j)*pi/180;
画秒针 */
alphai=(a0+6*(60-i))*pi/180;
x=x0+cos(alphai)*(r0-32);
y=y0-sin(alphai)*(r0-32);
setcolor(white);
line(x0,y0,xi,yi);
setcolor(red);
line(x0,y0,x,y);
xi=x;yi=y;
画分针 */
x=x0+cos(alphaj)*(r0-60);
y=y0-sin(alphaj)*(r0-60);
setcolor(white);
line(x0,y0,xj,yj);
setcolor(12);
line(x0,y0,x,y);
xj=x;yj=y;
画时针 */
x=x0+cos(alphak)*(r0-80);
y=y0-sin(alphak)*(r0-80);
setcolor(white);
line(x0,y0,xk,yk);
setcolor(13);
line(x0,y0,x,y);
xk=x;yk=y;
delay(1000);
while(!kbhit在不按任何键的时候执行上面的命令。 即按任何键退出 */
三:修改后的c程序**。
注:修改的地方用红色标注。
#include <>
#define pi 3.1416
#include""
#include""
void init_sceen(int,int,int); 画时钟屏幕*/
void sec
void main()
int x0=320,y0=240,r0=160时钟的中心位置(320,240) 以及半径(160) *init_sceen(x0,y0,r0);
sec();
closegraph();
void init_sceen(int x0,int y0,int r0)
int i,x,y,graphdriver,graphmode;
char s[10];
float alpha,a0=90;
graphdriver=detect;
initgraph(&graphdriver,&graphmode,""初始化图形系统 */
setbkcolor(11
setcolor(2用绿色画出时钟的边框 */
fillellipse(x0,y0,r0,r0+30);
fillellipse(x0,y0,r0+30,r0+80);
setfillstyle(10,12);
floodfill(x0-r0-50,y0,2);
for(i=12;i>=1;i--)计算出数字1~12的位置并在相应的位置输出数字*/
画出刻度*/
for(i=60;i>=1;i--)
setlinestyle(0,0,3);
以上部分的作用是完成表盘的设计*/
void sec(void)
int x,y,i,j,k,xj,yj,xk,yk,xi,yi,x0=320,y0=240,r0=150;
union regs r;
unsigned char *shijian=""
unsigned char *daa=""
struct time tim;
struct date dat;
float alphai,alphak,alphaj,a0=90;
xi=x0;yi=y0;xj=x0;yj=y0;xk=x0;yk=y0;
dox=38;y=12;
c语言课程设计实验报告
课程设计报告。1 设计内容及要求。1.1设计内容。备忘录 主要根据课程设计要求进行设计,能够进行个人的事件记录,可以将程序使用者的时间安排,重要事件,以及个人行程等事件做出具体详细的记述,并能够使使用者在程序上完成查看时间的功能,足以使得使用者避免忘记一些重要事件,也可以为使用者带来一些便利,帮助使...
C语言课程设计实验报告
数据库课程设计实验报告。学校 东华理工大学长江学院。专业 统计学。学号 姓名 一 实验目的。编制一个程序,将屏幕垂直分成四个窗口,左上边窗口为蓝色前景,右上边窗口为红色前景,左下角窗口为洋红色前景,右下角前景为白色前景,四个窗口设置为文本输入,即在窗口中可以输入文字,在窗口屏幕中可以显示出来,使用t...
c语言课程设计实验报告
实验目的。掌握c程序设计编程环境visual c 掌握运行一个c程序的基本步骤,包括编辑 编译 链接和运行。实验要求。在报告中记录建立 保存c程序实习过程。实验基本内容。编写程序,在屏幕上显示一个短句 hello world 程序 1 编译如下程序 include void main 2 链接。执行...