当前位置首页 > 建筑/施工 > 施工组织
搜柄,搜必应! 快速导航 | 使用教程  [会员中心]

一个简单的电子表程序

文档格式:DOC| 14 页|大小 167.50KB|积分 10|2022-10-06 发布|文档ID:158834581
第1页
下载文档到电脑,查找使用更方便 还剩页未读,继续阅读>>
1 / 14
此文档下载收益归作者所有 下载文档
  • 版权提示
  • 文本预览
  • 常见问题
  • 学年论文(课程论文、课程设计)题  目: 一个简单的电子表程序 作  者:   所在学院:   专业年级:    指导教师:    职  称:   2010年1月 4 日基本信息学生学号班级课程名任课教师学期得分艾米杜拉克热穆20081401401计算机08-2 班C程序设计维尼拉09-10(1)l 大作业题目,目的:大作业题目:一个简单的电子表程序 大作业目的:i. 更深入的了解用C语言怎么编写程序ii. 试一试自己的水平iii. 更深入的了解并引用带参数的函数iv. 掌握使用彩色文字v. 经过调用dos使用光标位置函数gotoxy(x0,y0);l 大作业内容及要: 该程序运行之后输出一个电子表的外形,按enter以后它开始计时,直到你再按任何一个键为止该程序只能在Turbo c 2.0 的情况下才正常运行,所以执行该程序时,必须使用Turbo c 2.0,否则不能正常运行。

    l 大作业总体设计及源代码:(1). 总体设计: 该程序主要引用了void pust(char *s,char color); void goto_xy(int x,int y); Int Print(int xo,int yo); int delete(int x0,int y0); 等函数void pust(char *s,char color); 它是一个输出彩色字符串的函数他的一般形式pust(“要输出的字符串”,8|8|8); 它只能输出 pust 里面的 字符串,pust 后面的 三个数 控制输出的字符串的 颜色void goto_xy(int x,int y); 它是一个移动光标位置的函数,他的一般形式为goto_xy(20,20); printf(“ ”); 它到频幕上位置为(20,20)的点处输出你要输出的字符然后我在调用的是从int print0(int x0,int y0)到int printf9(int x0,int y0)的输出0,1,2,3,4,5,6,7,8,9,的十个函数,塔们的作用是以(x0,y0)为做左上角输出一个8列9行的相应的数还有int delete(int x0,int y0);他的功能与上述的函数的功能相反,他到频幕上的(x0,y0)处然后把他为做左上角清空一个8列9行的位置。

    改程序还使用了if(kbhit()) break; 他的功能:程序正在运行的时候按任一键立刻终止程序程序运行过程:该程序主要构成以下6个分快: 他们是小时位,分位,秒位,每个位也分两位程序运行时,先输出秒位,然后输出分位最后输出小时位,(仔细介绍请看《程序流程图》);程序的流程图如下:(2). 程序代码:#include#includevoid pust(char *s,char color);void goto_xy(int x,int y);void read_cursor_xy(char *x,char *y);long int n;void main(){ int i,z; char ch,f; int a,b,c,d,e,q; int x,y,k,j; int wate(int s); int delete(int x0,int y0); int print0(int x0,int y0); int print5(int x0,int y0); int print1(int x0,int y0); int print6(int x0,int y0); int print2(int x0,int y0); int print7(int x0,int y0); int print3(int x0,int y0); int print8(int x0,int y0); int print4(int x0,int y0); int print9(int x0,int y0); int print(int x0,int y0); int delete1(int x0,int y0); for(i=1;i<=100;i++) printf("\n"); for(y=15;y<=31;y++) {goto_xy(4,y); pust("*",8|64|8); goto_xy(5,y);pust("*",8|64|8); wate(300);} for(x=5;x<=74;x++) { goto_xy(x,30); pust("*",8|64|8); goto_xy(x,31); pust("*",8|64|8); wate(300);} for(y=31;y>=15;y--) { goto_xy(74,y); pust("*",8|64|8); goto_xy(75,y); pust("*",8|64|8); wate(300);} for(x=75;x>=4;x--) { goto_xy(x,15);pust("*",2|64|64); goto_xy(x,8);pust("*",2|64|64); wate(300);} k=30;j=31;z=40; for(i=1;i<=15;i++) { k--;j++; goto_xy(k,j); pust("****",2|64|128); goto_xy(z,j); pust("****",2|64|128); z++; wate(300); } getch(); print0(7,20);print0(17,20); print0(30,20);print0(40,20); print0(53,20);print0(63,20); print(27,22); print(50,22); goto_xy(15,10); pust("press any key to bgin............",8|8|8); getch(); goto_xy(15,10); pust("pres any key 3 timese to exit.......",8|8|8);for(q=1;;q++) { if(kbhit()) break; for(e=1;;e++) { if(kbhit()) break; n++; if(n>=24) break; for(d=1;;d++) { if(kbhit()) break; n++; if(n>=23) break; for(c=1;;c++) { if(kbhit()) break; for(b=1;;b++) { if(kbhit()) break; for(a=1;;a++) { if(kbhit()) break; wate(13000); delete(63,20); print1(63,20);wate(13000);if(kbhit()) exit(0); delete(63,20); print2(63,20);wate(13000); if(kbhit()) exit(0); delete(63,20); print3(63,20);wate(13000); if(kbhit()) exit(0); delete(63,20); print4(63,20);wate(13000); if(kbhit()) exit(0); delete(63,20); print5(63,20);wate(13000); if(kbhit()) exit(0); delete(63,20); print6(63,20);wate(13000); if(kbhit()) exit(0); delete(63,20); print7(63,20);wate(13000); if(kbhit()) exit(0); delete(63,20); print8(63,20);wate(13000); if(kbhit()) exit(0); delete(63,20); print9(63,20);wate(13000); if(kbhit()) exit(0); delete(63,20); print0(63,20); if(a%6==1){delete(53,20); print1(53,20);} if(a%6==2){delete(53,20); print2(53,20);} if(a%6==3){delete(53,20); print3(53,20);} if(a%6==4){delete(53,20); print4(53,20);} if(a%6==5){delete(53,20); print5(53,20);} if(a%6==0){delete(53,20); print0(53,20);} if(kbhit()) break; if(a==6) break; } if(kbhit()) break; if(b%10==1){delete(40,20); print1(40,20);} if(b%10==2){delete(40,20); print2(40,20);} if(b%10==3){delete(40,20); print3(40,20);} if(b%10==4){delete(40,20); print4(40,20);} if(b%10==5){delete(40,20); print5(40,20);} if(b%10==6){delete(40,20); print6(40,20);} if(b%10==7){delete(40,20); print7(40,20);} if(b%10==8){delete(40,20); print8(40,20);} if(b%10==9){delete(40,20); print9(40,20);} if(b%10==0){delete(40,20); print0(40,20);} if(b==10) break; } if(kbhit()) break; if(c%6==1){delete(30,20); print1(30,20);} if(c%6==2){delete(30,20); print2(30,20);} if(c%6==3){delete(30,20); print3(30,20);} if(c%6==4){delete(30,20); print4(30,20);} if(c%6==5){delete(30,20); print5(30,20);} if(c%6==0){delete(30,20); print0(30,20);} if(c==6) break; } if(kbhit()) break; if(d%10==1){delete(17,20); print1(17,20);} if(d%10==2){delete(17,20); print2(17,20);} if(d%10==3){delete(17,20); print3(17,20);} if(n<=23) { if(d%10==4){delete(17,20); print4(17,20);} if(d%10==5){delete(17,20); print5(17,20);} if(d%10==6){delete(17,20); print6(17,20);} if(d%10==7){delete(17,20); print7(17,20);} if(d%10==8){delete(17,20); print8(17,20);} if(d%10==9){delete(17,20); print9(17,20);} if(d%10==0){delete(17,20); print0(17,20);} if(d==10) break; } } if(kbhit()) break; if(e%2==1){delete(7,20); print1(7,20);} if(e%2==2){delete(7,20); print2(7,20);} if(e%2==0){delete(7,20); print0(7,20);} if(e==2) break; } } getch();}int print(int x0,int y0) { int x,y; for(x=x0;x<=x0+1;x++) for(y=y0;y<=y0+1;y++) {goto_xy(x,y); pust("*",8|8|8); goto_xy(x,y+3);pust("*",8|8|8);} }int delete1(int x0,int y0) { int x,y; for(x=x0;x<=x0+1;x++) for(y=y0;y<=y0+1;y++) {goto_xy(x,y); printf(" "); goto_xy(x,y+3); printf(" ");} }int print0(int x0,int y0) { int x,y; for(x=x0+2;x=x0+4;x--) { y++; goto_xy(x,y); pust("*",8|8|8); } for(y=y0+4;y<=y0+8;y++) {goto_xy(x0+4,y); pust("*",8|8|8);} } int print8(int x0,int y0) { int x,y; for(x=x0+1;x<=x0+6;x++) {goto_xy(x,y0); pust("*",8|8|8); goto_xy(x,y0+4);pust("*",8|8|8); goto_xy(x,y0+8);pust("*",8|8|8); } for(y=y0+5;y<=y0+7;y++) {goto_xy(x0,y-4); pust("*",8|8|8); goto_xy(x0,y); pust("*",8|8|8); goto_xy(x0+7,y);pust("*",8|8|8); goto_xy(x0+7,y-4);pust("*",8|8|8); } } int print9(int x0,int y0) { int x,y; for(x=x0+1;x<=x0+6;x++) {goto_xy(x,y0); pust("*",8|8|8); goto_xy(x,y0+4);pust("*",8|8|8); goto_xy(x,y0+8);pust("*",8|8|8); } for(y=y0+5;y<=y0+7;y++) {goto_xy(x0,y-4); pust("*",8|8|8); goto_xy(x0+7,y);pust("*",8|8|8); goto_xy(x0+7,y-4); pust("*",8|8|8); } } int delete(int x0,int y0) { int x,y; for(x=x0;x<=x0+7;x++) { for(y=y0;y<=y0+8;y++) {goto_xy(x,y); printf(" ");} } } int wate(int s) { long int i; for(i=1;i<=s;i++) printf("\r"); } void read_cursor_xy(char *x,char *y){ union REGS r; r.h.ah=3; r.h.bh=0; int86(0x10,&r,&r); *x=r.h.dl; *y=r.h.dh;}void goto_xy(int x,int y){ union REGS r; r.h.ah=2; r.h.dl=x; r.h.dh=y; r.h.bh=0; int86(0x10,&r,&r);}void pust(char *s,char color){ union REGS r; char x,y; read_cursor_xy(&x,&y); while(*s) { if(*s=='\n') { printf("\n"); s++;x=0;y++; continue; } r.h.ah=9; r.h.al=*s++; r.h.bl=color; r.h.bh=0; r.x.cx=1; int86(0x10,&r,&r); x++; goto_xy(x,y); }}(3). 运行结果:按Enter 以后开始计时,过1分30秒以后:过1小时37分00秒以后:l 总结上面的是一个非常简单的电子表程序,但编写它对我来说不那么容易的。

    其他同学都说学c语言很难,可我不那么认为我觉的学c语言很有趣,如果你一有了感兴趣,就很快学会c语言c语言功能丰富,表达能力强,使用灵活方便,虽然c语言牵涉的概念比较复杂,繁多 ,并且由于使用灵活而很容易发生错误,但是我对c语言的兴趣还是很高,觉得c语很了不起,它无所不能这次短学期过程中我利用开发软件C语言程序设计 6.0来进行设计 本程序设计是我使用C语言编写较大的程序,通过此次大作业的设计,我对C语言的设计方法熟悉了很多,更深刻的体会到C语言程序设计的优点,加深了对类封装性和继承的理解,初步体会到编程的乐趣也丰富了自己的编程经验设计过程中渐渐掌握了C语言开发软件环境中各函数的使用方式, 函数在程序里面的理解数据类型 ,数据定义 ,自定义空间等等程序设计中不可不知的很多内容 这次短学期对我来说很有意的一次时期,这次不但让我理解程序设计重要性或者掌握程序设计的步骤内容等等知识 而且最重要的还是就是更进一步的提高了我对程序设计兴趣 但同时也发现了自己的很多不足之处,像对知识掌握的不够牢固,考虑问题的时候不够全面,如程序中添加新类,因为对文件流的知识掌握的不好,所以没能将新添加工能保存下来,当下一次运行的时候数据就会丢失,未能满足管理的要求。

    所以今后应巩固自己的基础知识,多尝试编写不同类型的程序,丰富自己的经验这一程序的功能并不是十分强大,而且存在一些不足之处,但是这些问题可以通过以后慢慢地完善我觉得这次的大作业给了自己很多锻炼的机会,使自己真正感觉到作为一个计算机的学生应该如何去面对一些实际的问题这次作业不仅仅在编程上给了自己很大的帮助,而且对自己以后的学习生活也是有很大的启示 希望学校今后多一点安排像这样的实际应用性的短学期 对于怎么样学好c语言,只在于你对它有没有兴趣?参考文献: 1.谭浩强《C语言程序设计》(第三版) 清华大学出版社 2.谭浩强《C语言程序设计上级指导》(第三版) 清华大学出版社 3.郭翠英《C语言课程设计案例精编》(第三版) 中国水利水电出版社4.(美)Eric.s.roberts《程序设计抽象思想》 (2005.6) 清华大学出版社题 目C语言画图像作 者艾米杜拉·克热穆专业年级计算机08-2指导教师维尼拉·木沙江指导教师评语及评分建议 指导教师: 2010年 月 日院(部)或教研室意见同意指导老师评分建议。

    学院或教研室主任: 2010年 月 日新疆大学课程论文(设计)、学年论文评- 13 - 。

    点击阅读更多内容
    卖家[上传人]:无极剑圣
    资质:实名认证