c语言毕业程序设计论文,C语言程序设计论文

《C语言程序设计论文》由会员分享,可在线阅读,更多相关《C语言程序设计论文(13页珍藏版)》请在人人文库网上搜索。

1、C语言程序设计论文学校:天津电子信息职业技术学院系别:电子技术系专业:通信技术班级:通信S13-26学号:89757姓名:王磊C语言课程设计报告一、 设计题目:计算器二、 设计目标:进一步加深、巩固学生所学专业课程(C语言)的基本理论知识,理论联系实际,进一步培养学生综合分析问题和解决问题的能力。掌握运用C语言独立地编写、调试应用程序和进行其它相关设计的技能,充分发挥广大同学的潜力,使他们通过本次课程设计而得到全面的锻炼。三、 设计内容:1.设计系统的功能框图、流程图;2.编写计算器的源程序代码;3.上机调试;4.答辩;5.书写实习报告。四、 课程设计所用设备:每人一台计算机。五、 课程设计系。

2、统组成及模块功能: (1) 主函数模块(2) 设置系统进入图形模块(3) 初始化图形系统模块(4) 计算器计算函数模块(5) 窗口函数模块(6) 设计鼠标图形函数模块(7) 获取特殊键函数模块 六、软件环境:Visual c+6.0七、 课程设计要求:在计算机上操作,通过Visual c+6.0,设计出“计算器”程序。八、 应提交的材料:实习报告一份,内容包含“计算器”程序代码。设计报告:程序代码:#include #include #include #include #include #include #include #include #include #define UP 0x48 #d。

3、efine DOWN 0x50 #define LEFT 0x4b #define RIGHT 0x4d #define ENTER 0x0d void *rar; struct palettetype palette; int GraphDriver;int GraphMode;int ErrorCode;int MaxColors;int MaxX, MaxY;double AspectRatio;void drawboder(void); void initialize(void); void computer(void); void changetextstyle(int font, 。

4、int direction, int charsize); void mwindow(char *header); int specialkey(void) ; int arrow(); int main()initialize();computer();closegraph();return(0); void initialize(void)int xasp, yasp;GraphDriver = DETECT; initgraph( &GraphDriver, &GraphMode, );ErrorCode = graphresult();if( ErrorCode != grOk ) p。

5、rintf(Graphics System Error: %sn,grapherrormsg( ErrorCode ) ); exit( 1 ); getpalette( &palette );MaxColors = getmaxcolor() + 1;MaxX = getmaxx(); MaxY = getmaxy(); getaspectratio( &xasp, &yasp );AspectRatio = (double)xasp/(double)yasp;void computer(void)struct viewporttype vp; int color, height, widt。

6、h;int x, y,x0,y0, i, j,v,m,n,act,flag=1;float num1=0,num2=0,result; char cnum5,str220=,c,temp20=;char str1=1230.456+-789*/Qc=%;mwindow( Calculator ); color = 7; getviewsettings( &vp ); width=(vp.right+1)/10; height=(vp.bottom-10)/10 ; x = width /2; y = height/2;setfillstyle(SOLID_FILL, color+3);bar(。

7、 x+width*2, y, x+7*width, y+height );setcolor( color+3 ); rectangle( x+width*2, y, x+7*width, y+height );setcolor(RED); outtextxy(x+3*width,y+height/2,0.); x =2*width-width/2; y =2*height+height/2; for( j=0 ; j=x0+6*width)x=x0;m=0;elsex=x+width+width/2;m+; if(v=LEFT) if(x=7*height)y=y0;n=0; elsey=y+。

8、height+height/2;n+; putimage(x,y,rar,XOR_PUT); c=str1n*5+m; if(isdigit(c)|c=.) if(flag=-1) strcpy(str2,-);flag=1; sprintf(temp,%c,c); strcat(str2,temp); setfillstyle(SOLID_FILL,color+3);bar(2*width+width/2,height/2,15*width/2,3*height/2);outtextxy(5*width,height,str2); if(c=+)num1=atof(str2); strcpy。

9、(str2,);act=1; setfillstyle(SOLID_FILL,color+3);bar(2*width+width/2,height/2,15*width/2,3*height/2);outtextxy(5*width,height,0.); if(c=-)if(strcmp(str2,)=0) flag=-1; elsenum1=atof(str2); strcpy(str2,); act=2;setfillstyle(SOLID_FILL,color+3);bar(2*width+width/2,height/2,15*width/2,3*height/2); outtex。

10、txy(5*width,height,0.); if(c=*)num1=atof(str2); strcpy(str2,); act=3;setfillstyle(SOLID_FILL,color+3); bar(2*width+width/2,height/2,15*width/2,3*height/2);outtextxy(5*width,height,0.); if(c=/)num1=atof(str2); strcpy(str2,); act=4; setfillstyle(SOLID_FILL,color+3);bar(2*width+width/2,height/2,15*widt。

11、h/2,3*height/2);outtextxy(5*width,height,0.); if(c=)num1=atof(str2); strcpy(str2,); act=5; setfillstyle(SOLID_FILL,color+3); bar(2*width+width/2,height/2,15*width/2,3*height/2);outtextxy(5*width,height,0.); if(c=%)num1=atof(str2); strcpy(str2,); act=6; setfillstyle(SOLID_FILL,color+3); bar(2*width+w。

12、idth/2,height/2,15*width/2,3*height/2);outtextxy(5*width,height,0.); if(c=)num2=atof(str2); switch(act) case 1:result=num1+num2;break; case 2:result=num1-num2;break; case 3:result=num1*num2;break; case 4:result=num1/num2;break; case 5:result=pow(num1,num2);break; case 6:result=fmod(num1,num2);break;。

13、 setfillstyle(SOLID_FILL,color+3); bar(2*width+width/2,height/2,15*width/2,3*height/2); sprintf(temp,%f,result); outtextxy(5*width,height,temp); if(c=c)num1=0; num2=0;flag=1;strcpy(str2,); setfillstyle(SOLID_FILL,color+3); bar(2*width+width/2,height/2,15*width/2,3*height/2); outtextxy(5*width,height。

14、,0.); if(c=Q)exit(0); putimage(x,y,rar,XOR_PUT);return; void mwindow( char *header )int height;cleardevice();setcolor( MaxColors - 1 );setviewport( 20, 20, MaxX/2, MaxY/2, 1 );height = textheight( H ); settextstyle( DEFAULT_FONT, HORIZ_DIR, 1 );settextjustify( CENTER_TEXT, TOP_TEXT );outtextxy( MaxX。

15、/4, 2, header ); setviewport( 20,20+height+4, MaxX/2+4, MaxY/2+20, 1 ); drawboder(); void drawboder(void) struct viewporttype vp; setcolor( MaxColors - 1 );setlinestyle( SOLID_LINE, 0, NORM_WIDTH );getviewsettings( &vp );rectangle( 0, 0, vp.right-vp.left, vp.bottom-vp.top ); int arrow()int size;int 。

16、raw=4,4,4,8,6,8,14,16,16,16,8,6,8,4,4,4; setfillstyle(SOLID_FILL,2); fillpoly(8,raw); size=imagesize(4,4,16,16); rar=malloc(size); getimage(4,4,16,16,rar);putimage(4,4,rar,XOR_PUT); return 0;/int specialkey(void)int key;while(bioskey(1)=0); key=bioskey(0); key=key&0xff? key&0xff:key8; return(key); 总。

17、结:1) 实际操作过程中遇到的问题及解决方法:1.忘记加分号。分号是C语句中不可缺少的一部分,语句末尾必须有分号。a=1 b=2编译时,编译程序在“a=1”后面没发现分号,就把下一行“b=2”也作为上一行语句的一部分,这就会出现语法错误。改错时,有时在被指出有错的一行中未发现错误,就需要看一下上一行是否漏掉了分号。 z=x+y;t=z/100;printf(%f,t);对于复合语句来说,最后一个语句中最后的分号不能忽略不写(这是和PASCAL不同的)。2.输入输出的数据的类型与所用格式说明符不一致int a=3;float b=4.5;printf(“%f%dn”,a,b);它们并不是按照赋值。

18、的规则进行转换(如把4.5转换为4),而是将数据在存储单元中的形式按格式符的要求组织输出(如b占4个字节,只把最后两个字节的数据按%d,作为整数输出)2) 设计总结及心得体会。通过C语言编程的学习,培养了我独立思考和综合运用平时知识的能力,巩固了课程学习的内容,掌握了工程软件设计的基本方法,强化了上机动手编程能力。更加了解了C语言的便利性和可用性。同时了解到了程序设计需要团队合作,通过这次实习活动增进了同学之间的默契,体会到了毕业后工作中团队合作的重要性和必要性。当一个程序从自己的手中诞生的时候,心中充满了自豪感和成就感,让我对动手操作实践更有兴趣了。 八、时间:实验心得通过本次C语言上机实验,我对这个介于人类与非人类之间的计算机编程语言有了一定的体验。其间开心过、郁闷过、无奈过、彷徨过随着实验的胜利成功与实验报告的胜利完成,有点微微的自豪感使人难忘。感谢高克宁老师的高标准、严要求,感谢实验课上小老师们的耐心指点,也感谢我在实验中经历过的点点滴滴伴随着学习的深入,我发现高深的东西还有很多很多,等待着我自己去挖掘。对C语言,我会更加努力一周 课时:12学时。

CSU 大一上 C语言实验报告 (1)教材第2章编程题第2题:编写计算球体体积的程序。 说明:本题声明适当变量,用户键入数据,运算并输出结果,较简单。 (2)教材第2章编程题第8题:编写程序计算第一、第二、第三月还贷后剩余贷款金额。 说明:本题要求用户输入总额、利率、每月还贷净额,输出每月剩余,对输入输出、类型定义考查。 (3)教材第3章编程题第2题:编写程序实现对用户输入的产品信息进行格式化。 说明:本题考查格式化输入输出、转义字符的运用。 (4)教材第4章编程题第4题:编写程序实现将输入的整数按八进制输出。 说明:本题重在考查简单的运算符和表达式运用。 (5)用户输入一个三位数,输出各位数字之和。 说明:本题重在考查如何从一个整数中取出每一个数字。 (6)教材第5章编程题第5题:编写程序计算用户输入所得额的税金。 说明:本题考查简单的选择结构。 (7)教材第5章编程题第11题:编写程序实现将用户输入的两位数转化为英文。 说明:本题考查switch语句的应用。 (8)教材第6章编程题第8题:编写程序显示单月日历,用户指定这个月的天数和该月起始日是星期几。 说明:本题考查循环结构和选择结构的综合应用,判断是否一个星期最后一天,换行符。 (9)教材第6章编程题第11题:编程序实现利用无穷级数法估计e的值。 说明:本题考查根据公式设计循环结构并实现。 (10)因子之和等于其本身的数称为完数,如28的因子为1、2、4、7、14,而28=1+2+4+7+14,因此28为完数。编程序找出2~5000中的完数。 说明:本题利用变量i在2~5000中变化,判断其是否是完数。 (11)教材第7章编程题第12题:编程计算从左至右求值的表达式的值。 说明:本题考查对运算符和操作数的判断。 (12)教材第7章编程题第14题:编程序用牛顿计算法计算浮点数平方根。 说明:本题考查对循环结构的掌握,对表达式的合理运用,对基本类型的理解。 (13)教材第8章编程题第14题:编写程序颠倒句子中单词的顺序。 说明:本题考查对字符数组的处理,对一些循环选择结构的理解。 (14)教材第8章编程题第15题:编写程序实现凯撒密码加密。 说明:本题考查对字符数组的掌握,对字符处理的理解。 (15)编程序实现将用户输入的数字字符串转化为整数输出。 说明:本题考察对字符、整数关系的掌握与理解,对循环结构的熟练运用。 (16)教材第9章编程题第1题:编写选择排序的函数,并递归调用。 说明:本题利用函数简化程序、使得结构更清晰、熟练掌握。 (17)教材第9章编程题第7题:编写计算xn的函数。 说明:本题考查函数定义、调用,并初步考察递归运用。 (18)教材第10章编程题第6题:编写程序实现逆波兰运算。 说明:本题考查对程序每部分的理解、掌握,外部、内部变量,主函数,小函数的编写与应用。初步了解栈的一些实现函数。 (19)编程序找出2~5000中满足条件的数x:x是素数且x的每位数字是素数、每位数字之和是素数,如23、223、2333等。 说明:本题考查函数方法与循环选择结构的综合运用。 (20)教材第11章编程题第3题:用指针变量编写简化一个分数的函数。 说明:本题用来解决函数无法传回传递的实际参数,指针变量。 (21)教材第12章编程题第2题:编写函数读入用户输入的一条消息,检测是否是回文,分别用数组、指针来解决。 说明:本题可以体会到数组与指针的特点,利用指针的便利。 (22)利用指针编写程序,实现从键盘键入字符串,将此字符串从m个字符开始的n个字符复制成另一个字符串。 说明:本题用指针指向字符串,进行跟踪和复制操作。 (23)教材第13章编程题第5题:编写程序实现对输入命令行参数求和。 说明:本题加深对命令行参数的理解、考查知识的综合应用。 (24)教材第16章编程题第5题:用结构变量解决搜索离用户输入时间最近的航班信息,并输出。 说明:本题考查结构与数组的结合运用,有助于理解结构。首先,定义一个存储起飞、到达时间的结构,再定义一个该类型的数组,循环搜索即可。 (25)教材第17章编程题第5题:用指针数组存储键入的字符串,对数组排序。 说明:本题应用动态分配内存、数组排序,考查综合能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值