资源描述
《C语言课程设计》
课程设计汇报
题 目
仿LED数码显示
学 号
姓 名
年级专业
09级电子信息工程
指导老师
同组人员
完成日期
年
6
月
28
日
安徽师范大学物理和电子信息学院
College of Physics and Electronic Information, Anhui Normal University
物理和电子信息学院课程设计评定意见
指导老师评语
成绩: 署名: 年 月 日
目录
1、题目及要求…………………………
2、问题分析……………………………
3、算法…………………………………
4、N-S步骤图…………………………
5、源程序………………………………
6、程序运行截图………………………
7、源代码分析…………………………
8、总结…………………………………
9、参考书目……………………………
一、题目及要求
题目:AAAAAAAA
A
A
A
AAAAAAAA
A A
A A
A A
AAAAAAAA
仿LED数码显示
1、 输入任意数字和一个字母,能够以该字母显示
数字,右图是输入6和字母A显示结果;
2、 在此基础上使数码能从0到9动态改变。
二、 问题分析
要处理这个问题必需写0~9这十个数函数,能够用多路选择开关switch语句,当任意输入一个数字时,就转换到对应case项。能够定义字符变量,能够任意输入一个字母。能够用数组来写这十个函数,也能够直接用printf函数打印,用printf函数打印比较简单一点。对于动态改变,能够用turbo C 2.0库函数中sleep函数来实现0~9动态改变。
三、算法
编写0-9十个函数 ,用printf函数来写,sort 0 (charb), sort 1 ( char b) ……
组成 switch()语句case项……;
调用turbo C 2.0 中库函数sleep函数,使计算机处于短暂休眠以实现延时功效,这个课题能够延时一秒,sleep(1);这个课题中还必需用到清屏函数,以实现将上次打印在屏幕上内容清除,clrscr ();
四、N-S步骤图
动态改变
Case9
Case2
Case1
Case0
main()
输入a,b
Switch(b)
Case3
Case 4
Case5
Case7
Case6
Case8
Sleep(3)
Switch(n)
结束
五、源程序
#include<stdio.h>
#include<conio.h>
sort0(char b)
{ printf("%c%c%c%c%c%c%c%c\n",b,b,b,b,b,b,b,b);
printf("%c %c\n",b,b);
printf("%c %c\n",b,b);
printf("%c %c\n",b,b);
printf("%c %c\n",b,b);
printf("%c %c\n",b,b);
printf("%c%c%c%c%c%c%c%c\n",b,b,b,b,b,b,b,b);
}
sort1(char b)
{ printf(" %c\n",b);
printf(" %c\n",b);
printf(" %c\n",b);
printf(" %c\n",b);
printf(" %c\n",b);
printf(" %c\n",b);
printf(" %c\n",b);
}
sort2(char b)
{ printf("%c%c%c%c%c%c%c%c\n",b,b,b,b,b,b,b,b);
printf(" %c\n",b);
printf(" %c\n",b);
printf("%c%c%c%c%c%c%c%c\n",b,b,b,b,b,b,b,b);
printf("%c \n",b);
printf("%c \n",b);
printf("%c%c%c%c%c%c%c%c\n",b,b,b,b,b,b,b,b);
}
sort3(char b)
{ printf("%c%c%c%c%c%c%c%c\n",b,b,b,b,b,b,b,b);
printf(" %c\n",b);
printf(" %c\n",b);
printf("%c%c%c%c%c%c%c%c\n",b,b,b,b,b,b,b,b);
printf(" %c\n",b);
printf(" %c\n",b);
printf("%c%c%c%c%c%c%c%c\n",b,b,b,b,b,b,b,b);
}
sort4(char b)
{ printf("%c %c\n",b,b);
printf("%c %c\n",b,b);
printf("%c %c\n",b,b);
printf("%c%c%c%c%c%c%c%c\n",b,b,b,b,b,b,b,b);
printf(" %c\n",b);
printf(" %c\n",b);
printf(" %c\n",b);
}
sort5(char b)
{ printf("%c%c%c%c%c%c%c%c\n",b,b,b,b,b,b,b,b);
printf("%c \n",b);
printf("%c \n",b);
printf("%c%c%c%c%c%c%c%c\n",b,b,b,b,b,b,b,b);
printf(" %c\n",b);
printf(" %c\n",b);
printf("%c%c%c%c%c%c%c%c\n",b,b,b,b,b,b,b,b);
}
sort6(char b)
{ printf("%c%c%c%c%c%c%c%c\n",b,b,b,b,b,b,b,b);
printf("%c \n",b);
printf("%c \n",b);
printf("%c%c%c%c%c%c%c%c\n",b,b,b,b,b,b,b,b);
printf("%c %c\n",b,b);
printf("%c %c\n",b,b);
printf("%c%c%c%c%c%c%c%c\n",b,b,b,b,b,b,b,b);
}
sort7(char b)
{ printf("%c%c%c%c%c%c%c%c\n",b,b,b,b,b,b,b,b);
printf(" %c\n",b);
printf(" %c\n",b);
printf(" %c\n",b);
printf(" %c\n",b);
printf(" %c\n",b);
printf(" %c\n",b);
}
sort8(char b)
{ printf("%c%c%c%c%c%c%c%c\n",b,b,b,b,b,b,b,b);
printf("%c %c\n",b,b);
printf("%c %c\n",b,b);
printf("%c%c%c%c%c%c%c%c\n",b,b,b,b,b,b,b,b);
printf("%c %c\n",b,b);
printf("%c %c\n",b,b);
printf("%c%c%c%c%c%c%c%c\n",b,b,b,b,b,b,b,b);
}
sort9(char b)
{ printf("%c%c%c%c%c%c%c%c\n",b,b,b,b,b,b,b,b);
printf("%c %c\n",b,b);
printf("%c %c\n",b,b);
printf("%c%c%c%c%c%c%c%c\n",b,b,b,b,b,b,b,b);
printf(" %c\n",b);
printf(" %c\n",b);
printf(" %c\n",b);
}
void main()
{
int a,n;
char b;
printf("please enter the letter:\n");
b=getchar();
printf("please enter the number:\n");
scanf("%d",&a);
switch(a)
{ case 0:sort0(b);break;
case 1:sort1(b);break;
case 2:sort2(b);break;
case 3:sort3(b);break;
case 4:sort4(b);break;
case 5:sort5(b);break;
case 6:sort6(b);break;
case 7:sort7(b);break;
case 8:sort8(b);break;
case 9:sort9(b);break;
}
sleep(3);
printf(" \n\nPlease enter any key to continue to scan the automatic numbers...");
getche();
clrscr();
for(n=0;n<10;n++)
switch(n)
{ case 0:{sort0(b);
sleep(1);
clrscr();
break;}
case 1:{sort1(b);
sleep(1);
clrscr();
break;}
case 2:{sort2(b);
sleep(1);
clrscr();
break;}
case 3:{sort3(b);
sleep(1);
clrscr();
break;}
case 4:{sort4(b);
sleep(1);
clrscr();
break;}
case 5:{sort5(b);
sleep(1);
clrscr();
break;}
case 6:{sort6(b);
sleep(1);
clrscr();
break;}
case 7:{sort7(b);
sleep(1);
clrscr();
break;}
case 8:{sort8(b);
sleep(1);
clrscr();
break;}
case 9:{sort9(b);
sleep(1);
clrscr();
break;}
}
}
六、程序运行截图
当任意输入一个字母和一个数字时,会以该字母显示该数字。再按任意键能够显示0~9动态改变。
这是动态改变时截图,因为每实施一次全部会清屏一次,所以每次界面上只有一个数。
七、源代码分析
这个程序中关键用次序结构,原来是用数组写,但后面出了一点问题,就用printf函数直接打印了,数组能够定位,是自然打印就肯定靠左了,这个问题老师也提出了,以后我们也仔细想了一下,能够用转义字符使打印居中。
这个程序在主函数中先定义一个整型变量和一个字符型变量以实现任意字母和0~9之间任意数字输入。然后用switch语句实现任意数字输出,当输入数字和某一个case后面是数值相等时就实施此case后面语句,若输入数字不在0~9之间则输出errror,表示输入错误。比如当输入数字为0时就实施case‘0’后面sort0(b)语句,实现0输出,当输入11时将输出error,输入错误。
程序中也用到了turbo C 2.0 中库函数中sleep函数来实现延时功效,即实现动态改变。用switch()语句来实现动态改变输出。在每一次输出之前全部进行了清屏,所用函数也是库函数中 clrscr( )来实现清屏。
八、总结
这次课程设计我们做是仿LED数码显示,即使不是极难,用到知识点也不是很多,关键就是turbo C 2.0 标准输出函数printf,用来打印0-9十个数字。还有就是利用switch语句实现多分支选择,以实现任意输入数字和字母显示。用到了sleep函数实现延时功效,从而实现了动态改变,其中也用到了清屏函数clrscr(),使得在动态改变中用户界面比较清楚直观。
经过这次课程设计,不仅使得我们对C语言编译,调试等有了一个更全方面认识,而且加强了本身团体合作精神。总而言之,从这次课程设计中我们收获了很多,同时也要感谢老师和同学们对我们指导和帮助,让我们顺利完成了此次课程设计。
九、参考书目
[1] 谭浩强,C程序设计教程,清华大学出版社,
[2] 赵永哲,李雄飞,戴秀英编著,《C语言程序设计》,科学出版社,
[3] 谭浩强编著,《C程序设计》,清华大学出版社,1991年
展开阅读全文