ImageVerifierCode 换一换
格式:DOCX , 页数:47 ,大小:425.92KB ,
资源ID:10805820      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10805820.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言课程设计报告学习和掌握C程序设计方法培养抽象思维逻辑思维的能力和良好的程序设计风格.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言课程设计报告学习和掌握C程序设计方法培养抽象思维逻辑思维的能力和良好的程序设计风格.docx

1、C语言课程设计报告学习和掌握C程序设计方法培养抽象思维逻辑思维的能力和良好的程序设计风格C语言程序设计课程设计成果报告学生学号: 学生姓名: 学 院: 理学院 专业班级 信息与计算科学 专业课程: C语言程序设计 指导教师: 课程设计报告书课程设计目的:学习和掌握C程序设计方法,培养抽象思维、逻辑思维的能力和良好的程序设计风格 课程设计时间: 课程设计地点: 课程设计单位: 计算机学院 课程设计指导教师评分表课程设计题目1、猜数字小游戏2、显示月历3、简单计算器4、宿舍查询系统本组组长本组成员本人分工第1题分工:程序设计编写第2题分工:主函数和判断星期几函数编写第3题分工:主函数、四则运算、其

2、他运算编写第4题分工:主函数,查询,文件读写的编写评分项目及分值要素成绩评定项 目最高分评 分 要 素成 绩1学习态度20上机出勤及端正的学习态度、认真刻苦程度,工作量饱满程度等2软件设计质量30采用的算法、设计方案,设计结果,界面友好等方面进行综合评定3答辩过程20能简明扼要地阐述设计的主要内容,能准确流利地回答各种问题4设计报告书写10内容按要求步骤书写,条理清晰,表述清楚、措词得当5实际动手能力20熟练使用开发工具,能够迅速准确的进行调试、纠错和运行;组长全面负责,承担复杂的模块设计分值就高总 成 绩等 级评语指导教师: 职称:_1 猜数游戏1.1 设计目标设计一个猜数字小游戏,计算机随

3、机在1到100随机产生一个数,请才,如果猜对了提示正确信息;否则告诉所猜的数是大还是小,同时提示下一次猜数的范围,知道猜对结束,最后给出游戏者所猜测的次数。要求,程序以菜单方式工作。1.2 课题分析与设计1、课题分析编写该小游戏,主要分主函数和被调用函数,被调用函数包括一个菜单函数和一个执行函数,执行函数中涉及调用随机数,循环体的设计以及对循环次数的计数。该题中所有数据类型均为整型。2、详细设计头文件:#include#include#include主函数设计:void main()/主函数 int n; do showmenu(); printf(请选择要完成的操作n); scanf(%d,

4、&n); switch(n)/switch从菜单界面选择操作序号 case 1:start();break;/调用执行函数 case 2:break; default:printf(请输入正确的序号);break; while(n!=2); printf(谢谢使用本系统,下次再见!);确定整个程序的主体框架,多次猜数do while循环体的实现,注意循环条件,列出所需调用的函数,注意头文件的书写。接着分别编写所需的菜单函数showmenu()和执行函数start()菜单函数主要用printf语句输出游戏的用户操作界面,注意换行。执行函数主要是获取玩家输入的数字和系统产生的随机数进行比较判断,涉

5、及随机数函数调用,多次循环用do while判断给出猜数范围,并用参数i记录循环次数。3、程序流程猜数游戏设计流程(如图1) 图1 猜数游戏算法流程图1.3程序清单#include#include#includevoid showmenu()/菜单函数 printf(欢迎使用猜数游戏n); printf(1.开始游戏n); printf(2.退出系统n); printf(n);void start()/执行函数 int m,n,x=1,y=100,i=0;/i计数,赋初值0,x,y用于提示范围 printf(1-100范围内猜数游戏开始!n); printf(请输入你猜的数字:n); sran

6、d(time(NULL);/设置随机种子 m=rand()%100+1;/生成1-100的一个随机数 do/循环体,判断所猜数与随机数的大小关系 scanf(%d,&n); if(mn) x=n+1; printf(你猜的数太小了,请继续猜,再输入一个数吧%d-%dn,x,y); else if(mn) y=n-1; printf(你猜的数太大了,请继续猜,再输入一个数吧%d-%dn,x,y); i+; while(n!=m); printf(恭喜你,猜对了!n); printf(你共猜了%d次!n,i);/void main()/主函数 int n; do showmenu(); print

7、f(请选择要完成的操作:n); scanf(%d,&n); switch(n)/switch从菜单界面选择操作序号 case 1:start();break;/调用执行函数 case 2:break; default:printf(请输入正确的序号);break; while(n!=2); printf(谢谢使用本系统,下次再见!);1.4 测试1、测试用例执行程序,选择1开始,第一次猜56,太大;第二次猜34,太大;第三次猜28,太大;第四次猜20,太小;第五次猜26,太大;第六次猜23,太小;第七次猜24,正确。一共猜了七次,输出正确提示及猜测次数。(测试结果如图1-2,1-3.)2、测试

8、结果(1)运行程序图2 猜数游戏测试图(2)开始游戏图3 猜数游戏运行图3、测试结果分析输入正确的数字操作序号,系统提示游戏开始,给定范围,多次执行循环,最终猜对正确值,给出猜测次数。在起先测试过程中,会遇到猜对以后,仍出现太大的提示,提示给出猜对的提示,检查发现实在if else语句中的else if语句下省略mn判断,所以即使猜正确了,也会出现太大的提示。2 显示月历2.1 设计目标设计一个程序实现月历的显示,要求:1) 输入年月信息,在屏幕上输出该月的日历;2) 输出日历时,以月份和星期做表头;3) 系统以菜单方式工作。2.2 课题分析与设计1、课题分析该题涉及循环和格式化输出。主要难点

9、是判断某年是否为闰年,某月有多少天,以及该月第一天星期几的判断。由起始年份1900年1月1日,星期一,sumday初值赋1,计算到某年某月经历的天数,从而由sumday%7判断星期几。2、详细设计主函数设计,给出执行菜单:void main()/主函数 int n; do showmenu();/显示菜单函数 printf(请输入您要完成的操作:n); scanf(%d,&n); switch(n)/判断执行操作序号 case 1:start();break; case 2:break; default:printf(请输入正确的操作序号!n);break; while(n!=2); prin

10、tf(谢谢使用本系统,下次再见!n);/结束根据sumday值计算星期几:int month(y,m)/定义月份函数,输出该月的天数 int mon12=31,28,31,30,31,30,31,31,30,31,30,31; if(y%4=0&(y%100)!=0|y%400=0)&m=2) return 29;/闰年二月29天 else return monm-1;/返回值为该月的实际天数int sum(y,m)/计算从1900.1.1到某年某月经历的天数 int s,sumday,i,j,count=0; s=y-1900; for(i=1900;iy;i+) if(i%4=0&(i%1

11、00)!=0|i%400=0) count+;/count闰年数 sumday=365*(s-count)+366*count+1; for(j=1;jm;j+) sumday+=month(y,j); return sumday;通过主函数下对菜单函数和执行函数的调用,格式化输出月份信息,其中最重要的也是比较麻烦的是确定该月第一天是星期几,该月一共有多少天的判断。3、程序流程 (如图4) 图4 月历显示算法流程图2.3 程序清单#includeint month(y,m)/定义月份函数,输出该月的天数 int mon12=31,28,31,30,31,30,31,31,30,31,30,31

12、; if(y%4=0&(y%100)!=0|y%400=0)&m=2) return 29;/闰年二月29天 else return monm-1;/返回值为该月的实际天数int sum(y,m)/计算从1900.1.1到某年某月经历的天数 int s,sumday,i,j,count=0; s=y-1900; for(i=1900;iy;i+) if(i%4=0&(i%100)!=0|i%400=0) count+;/count记录闰年数 sumday=365*(s-count)+366*count+1; for(j=1;jm;j+) sumday+=month(y,j); return s

13、umday;int showmenu()/菜单函数 printf(欢迎使用月历查询系统n); printf(1、开始查询.n); printf(2、退出系统.n); printf(n);int start(y,m) int t,i; printf(请输入您要查询的年份和月份:n); scanf(%d%d,&y,&m); printf(%d年%d月n,y,m); t=sum(y,m)%7; printf( 星期一 星期二 星期三 星期四 星期五 星期六 星期日n);/格式化输出 for(i=1;imonth(y,m)+t;i+)/循环的次数为该月的天数加上第一天的星期数减1 if(i-t0) p

14、rintf( );/第一天的星期前显示为空 else printf( %3d ,i-t+1);/格式化输出保证日期和星期对齐 if(i%7=0) printf(n);/每逢星期日换行 printf(n);void main()/主函数 int n; do showmenu();/显示菜单函数 printf(请输入您要完成的操作:n); scanf(%d,&n); switch(n)/判断执行操作序号 case 1:start();break; case 2:break; default:printf(请输入正确的操作序号!n);break; while(n!=2); printf(谢谢使用本系

15、统,下次再见!n);/结束2.4 测试1、测试用例运行程序,输入1,开始,输入2016 6,显示2016年6月的日历。循环显示菜单,输入2,退出系统。通过反复多次输入年份月份的测试,调整输出格式,以保证输出函数格式对齐、美观。程序能够达到预期的效果。2、测试结果(1)运行程序图5 显示月历测试图(2)开始查询图6 月历输出图3、测试结果分析在测试过程中发现日期没有跟星期对齐,通过调整输出格式,调整对齐。在选择判断的时候,参量定义位置不当,影响循环显示的效果。对do while和for循环的灵活使用,能够快速简便地解决问题。细节方面值得留意,一不小心,就会使整个程序无法运行。3 简单计算器3.1

16、 设计目标设计程序实现一个简单计算器,要求:1) 能完成任意两个数的四则运算(加、减、乘、除);2) 能完成三角函数运算(sin(x)、cos(x)、tan(x)、sin_1(x)、cos_1(x)、tan_1(x));3) 能完成对数运算(lnx、log10(x));4) 其他运算(ex、平方根计算、xy);5) 系统以菜单方式工作,每个功能的运算用二级菜单实现,例如:加、减、乘、除的选择需用二级菜单提示。3.2 课题分析与设计1、课题分析该题主要设计循环和数学函数的调用。首先写一个主菜单,通过主菜单引出二级菜单,二级菜单下分别调用各个子函数运算,循环选择是否继续该菜单下的运算。最后通过主函

17、数调用菜单和执行函数。2、详细设计首先设计主函数体,完成主体设计思路:void main()/主函数 int n; do showmenu();/显示一级菜单函数 printf(请输入您要完成的操作:n); scanf(%d,&n); switch(n)/用户选择要操作的运算 case 1: start1();break;/分别调用相应函数 case 2: start2();break; case 3: start3();break; case 4: start4();break; case 5: break; default:printf(请输入正确的操作序号!n);break; while

18、(n!=5); printf(谢谢使用!n);/结束程序 showmenu()为主菜单函数,然后再分别设计二级菜单和相应函数:void start1()/四则运算的二级菜单 int n,m; do printf(四则运算n); printf(1、加法运算.n); printf(2、减法运算.n); printf(3、乘法运算.n); printf(4、除法运算.n); printf(n); printf(请选择您要完成的运算:n); scanf(%d,&n); switch(n) case 1:jia();break;/调用加法函数 case 2:jian();break;/调用减法函数 ca

19、se 3:cheng();break;/调用乘法函数 case 4:chu();break;/调用除法函数 default:printf(请输入正确的操作序号!n);break; printf(继续四则运算请按1,返回上一级菜单请按2.n);/选择是否继续执行四则运算 scanf(%d,&m); while(m!=2);调用加减乘除运算函数:float jia()/定义加法运算函数 float x,y; printf(请输入两个数:n); scanf(%f%f,&x,&y); printf(%g+%g=%gn,x,y,x+y);float jian()/定义减法运算函数 float x,y;

20、printf(请输入两个数:n); scanf(%f%f,&x,&y); printf(%g-%g=%gn,x,y,x-y);float cheng()/定义乘法运算函数 float x,y; printf(请输入两个数:n); scanf(%f%f,&x,&y); printf(%g*%g=%gn,x,y,x*y);float chu()/定义除法运算函数 float x,y; printf(请输入两个数:n); scanf(%f%f,&x,&y); printf(%g/%g=%gn,x,y,x/y);然后再完成对应功能函数的定义,并在主函数下完成调用。此处不一一赘述。3、程序流程 (如图)

21、 图7 简单计算器算法流程图3.3 程序清单#include#include#define pai 3.1415926/规定圆周率的值,以便完成角度制和弧度制的转换void showmenu()/一级菜单函数 printf(*欢迎使用简单计算器*n); printf(1、四则运算.n); printf(2、三角函数运算.n); printf(3、对数运算.n); printf(4、其他运算.n); printf(5、退出系统.n); printf(*n);float jia()/定义加法运算函数 float x,y; printf(请输入两个数:n); scanf(%f%f,&x,&y); p

22、rintf(%g+%g=%gn,x,y,x+y);float jian()/定义减法运算函数 float x,y; printf(请输入两个数:n); scanf(%f%f,&x,&y); printf(%g-%g=%gn,x,y,x-y);float cheng()/定义乘法运算函数 float x,y; printf(请输入两个数:n); scanf(%f%f,&x,&y); printf(%g*%g=%gn,x,y,x*y);float chu()/定义除法运算函数 float x,y; printf(请输入两个数:n); scanf(%f%f,&x,&y); printf(%g/%g=

23、%gn,x,y,x/y);void start1()/四则运算的二级菜单 int n,m; do printf(四则运算n); printf(1、加法运算.n); printf(2、减法运算.n); printf(3、乘法运算.n); printf(4、除法运算.n); printf(n); printf(请选择您要完成的运算:n); scanf(%d,&n); switch(n) case 1:jia();break;/调用加法函数 case 2:jian();break;/调用减法函数 case 3:cheng();break;/调用乘法函数 case 4:chu();break;/调用除

24、法函数 default:printf(请输入正确的操作序号!n);break; printf(继续四则运算请按1,返回上一级菜单请按2.n);/选择是否继续执行四则运算 scanf(%d,&m); while(m!=2);void sinx()/定义正弦运算函数 double x,y; printf(请输入一个角度:n); scanf(%lf,&x); y=sin(x*pai/180);/角度制转化为弧度制求余弦值 printf(sin(%.0f)=%.2f,x,y);void cosx()/定义余弦运算函数 double x,y; printf(请输入一个角度:n); scanf(%lf,&

25、x); y=cos(x*pai/180); printf(cos(%.0f)=%.2fn,x,y);void tanx()/定义正切运算函数 double x,y; printf(请输入一个角度:n); scanf(%lf,&x); y=tan(x*pai/180); printf(tan(%.0f)=%.2fn,x,y);void arcsinx()/定义反正弦运算函数 double x,y; printf(请在-11之间输入一个数:n); scanf(%lf,&x); y=asin(x); printf(sin_1(%.0f)=%.2fn,x,y);void arccosx()/定义反余弦

26、运算函数 double x,y; printf(请在-11之间输入一个数:n); scanf(%lf,&x); y=acos(x); printf(cos_1(%.0f)=%.2fn,x,y);void arctanx()/定义反正切运算函数 double x,y; printf(请输入一个数:n); scanf(%lf,&x); y=atan(x*pai/180); printf(tan_1(%.0f)=%.2fn,x,y);void start2() int n,m; do/循环显示三角函数的二级菜单 printf(三角函数n); printf(1、sin(x).n); printf(2、cos(x).n); printf(3、tan(x).n); printf(4、sin_1(x).n); printf(5、cos_1(x).n); pr

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1