C语言深入编程期末课程设计报告成功案例.docx

上传人:b****5 文档编号:3025601 上传时间:2022-11-17 格式:DOCX 页数:15 大小:186.49KB
下载 相关 举报
C语言深入编程期末课程设计报告成功案例.docx_第1页
第1页 / 共15页
C语言深入编程期末课程设计报告成功案例.docx_第2页
第2页 / 共15页
C语言深入编程期末课程设计报告成功案例.docx_第3页
第3页 / 共15页
C语言深入编程期末课程设计报告成功案例.docx_第4页
第4页 / 共15页
C语言深入编程期末课程设计报告成功案例.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

C语言深入编程期末课程设计报告成功案例.docx

《C语言深入编程期末课程设计报告成功案例.docx》由会员分享,可在线阅读,更多相关《C语言深入编程期末课程设计报告成功案例.docx(15页珍藏版)》请在冰豆网上搜索。

C语言深入编程期末课程设计报告成功案例.docx

C语言深入编程期末课程设计报告成功案例

 

北京理工大学珠海学院计算机学院

C语言深入编程

课程设计报告

题目心算如电小游戏______________________

___________________________________________________

完成日期:

2009年6月19日

 

原创性声明

 

本人郑重声明:

所呈交的课程设计报告,是本人在导师的指导下,独立进行研究工作所取得的成果。

除文中已经注明引用的内容外,本文不包含任何其他个人或集体已经发表或撰写过的作品成果。

对本文的研究作出重要贡献的个人和集体,均已在文中以明确方式标明。

本人完全意识到本声明的法律结果由本人承担。

 

作者签名:

日期:

2009年6月19日

 

目录

一、序言..........................................04

二、课程设计题目..................................05

三、设计算法与思路................................05

四、采用的变量和数组数据..........................06

五、流程图........................................08

六、源代码........................................12

七、调试分析......................................17

八、个人课程设计心得体会..........................20

九、致谢..........................................21

十、参考文献......................................21

教师评语及成绩评定表..............................22

一、序言

进入21世纪以来,社会信息化进程不断加速,信息化范围和个行个业信息化的程度都是空前的且不断的快速推进。

C语言功能强大,具有丰富灵活的控制与数据结构、简洁而高效的表达语句、清晰的程序结构、良好的移植性、较小的空间开销等优点,已被广泛应用于将系统软件与应用软件的开发中。

C语言是目前流行的通用程序设计语言,之所以成为许多计算机专业人员和计算机爱好者学习程序设计的首选入门语言,除C语言的众多优点外,最主要的还是C语言的实用性。

C语言是程序设计的工具,因此学会使用C语言并不是唯一目的,掌握计算机处理问题的思维方式和程序设计的基本方法,用以解决实际问题更为重要。

而课程设计是重要环综合性较强的实践环节,它对帮助我们学生全面牢固地掌握课堂教学内容、培养我们学生的实践和实际动手能力、提高我们学生全面素质具有重要的意义。

通过课程设计,提高学生在实际设计操作中系统分析、结构确定、算法选择、数学建模和信息加工的能力以及C/C++语言程序设计能力;同时培养我们学生编写程序设计文档的能力。

由于本人水平有限,加上课程设计的时间紧迫,程序仍有很多不足之处,逻辑还不够严密,在算法设计上还有待改善.。

希望老师见谅。

我会在今后的学习,不断改进改善程序。

二、课程设计题目

为小学生设计“心算如电”的竞技游戏,考验学生的加法运算能力,提高学生的心算能力和心理素质,力求达到快、准。

要求:

1、游戏共两关,第一关,每个加数范围从0~9;第二关每个加数范围从0~99;

2、必须连续答对10道题,才算通关;错一题,则归零;

3、答题期间,不给出已答题数,由学生自动选择退出与否,若选择退出,则显示答题总数和答对总题数,连续答对10题者,外加输出星号三角行;

4、若失败则可重新开始,也可继续闯第二关;

5、第二关,通关则输出菱形。

(注释:

为了便于调试可采取答对三题过一关的方法进行程序编写。

3、设计算法与思路

该程序是针对小学生设计的简单游戏,共分两关,(初步)决定调用两个函数,由系统自动出题,所以采用rand()提取两个随机数,要答对10题才可以过关,所以可采用先执行后判断的循环控制语句do-while来实现过关与否,星号三角形和菱形可再定义一个函数采用for循环结构输出!

我的具体的程序设计思路是这样的:

依题注释,采用宏定义,定义T=3,代替10,减化程序调试过程

定义一个函数m()来实现每一关的出题和答题,用rand()函数随机提取两个在定义范围内的数,赋值于变量first和变量seconddid即是两个加数。

采用if语句判断答题正确与否,定义变量did和和ok,采用自加运算符(++)在函数m()中全程跟踪已答题数和答题正确数。

在函数m()中采用先执行后判断的循环控制语句do-while实现局部控制,用字符来实现,接着再使用if语句判断是否输出星号三角形。

定义一个函数m1(),采用函数嵌套调用来输出星号三角形,星号三角形用双重for循环结构来实现输出。

第一关与第二关类似,即需再定义两个函数n()和n2()

主函数void()先输出游戏的一般信息“心算入电”,用getchar()函数来占用一个回车键;调用函数m()实现第一关游戏,(用if语句链接是否进去第二关游戏),调用函数n()来实现第二关游戏。

程序思路简述完毕。

四、采用的变量和数据

宏定义

宏名

作用

T

 

控制过关应连续答对的题数

3

M

控制随机数的取值范围

10

N

控制随机数的取值范围

10

作用区域

变量

作用

类型

主函数

Voidmain()

go

控制游戏的进程

字符型

go的判断值为'g’

分函数

Voidm()

————————

分函数

Voidn()

ok

计算答题正确数

整形

ok的初值为0

did

计算答题总数

整形

did的初值为0

first

实参(加数)

整形

随机数

second

实参(加数)

整形

随机数

answer

给学生的答案赋值

整形

输入

correct

计算两实参的和

整形

contin

控制游戏的进程

字符型

contin的初值为'y'

分函数

Voidm1()

i

循环变量

整形

i从1到3自增

j

循环变量

整形

j从1自增到

(20—2*i)和(2*i—1)

分函数

Voidn2()

i

循环变量

整形

i从1到4自增

i从3到1自减

j

循环变量

整形

j从1自增到

(20—2*i)和(2*i—1)

五、流程图

流程图如:

六、源代码

#include

#include

#include

#defineT3

#defineM10

#defineN10

voidm1()

{

inti,j;

for(i=1;i<=3;i++)

{

for(j=1;j<=20-2*i;j++)

printf("%c",'');

for(j=1;j<=2*i-1;j++)

printf("%2c",'*');

printf("\n");

}

}

voidm()

{

intok=0,did=0,first,second,answer,correct;

charcontin='y';

do{

srand((unsigned)time(NULL));

first=rand()%N;

second=rand()%M;

printf("%d+%d=?

",first,second);

scanf("%d",&answer);

did++;

correct=first+second;

if(answer==correct)

{

printf("好样的!

答对了!

\n");

ok++;

}

else

printf("NO!

正确答案是%d\n",correct);

printf("\n");

printf("继续答题?

(y,n)");

scanf("%s",&contin);

if(contin=='Y')

contin='y';

}while(contin=='y');

printf("做了%d道题\n",did);

printf("答对%d道题",ok);

printf("\n");

if(ok>=T&&ok%did==0)

m1();

else

printf("请重新开始\n");

printf("\n");

getchar();

}

voidn2()

{

inti,j;

for(i=1;i<=4;i++)

{

for(j=1;j<=20-2*i;j++)

printf("%c",'');

for(j=1;j<=2*i-1;j++)

printf("%2c",'*');

printf("\n");

}

for(i=3;i>=1;i--)

{

for(j=1;j<=20-2*i;j++)

printf("%c",'');

for(j=1;j<=2*i-1;j++)

printf("%2c",'*');

printf("\n");

}

}

 

voidn()

{

intok=0,did=0,three,four,answer1,correct1;

charcontin='y';

do{

srand((unsigned)time(NULL));

three=rand()%(10*M);

four=rand()%(10*N);

printf("%d+%d=?

",three,four);

scanf("%d",&answer1);

did++;

correct1=three+four;

if(answer1==correct1)

{

printf("真棒!

答对了\n");

ok++;

}

else

printf("NO!

正确答案是%d",correct1);

printf("\n");

printf("继续答题?

(y,n):

");

scanf("%s",&contin);

if(contin=='Y')

contin='y';

}while(contin=='y');

printf("一共做了%d道题答对%d道题\n",did,ok);

if(ok>=T&&ok%did==0)

{

printf("恭喜你!

成功了!

\n");

n2();

}

}

voidmain()

{

chargo;

printf("欢迎使用心算如电益智游戏按Enter键开始\n");

getchar();

m();

printf("进入下一关,你准备好了吗?

(goornot)");

scanf("%s",&go);

if(go=='g')

n();

printf("GameOver!

!

!

\n");

getchar();

}

七、调试分析

此程序在“C与C++程序设计学习与实验系统2008.10”与“VC6.0”上调试皆通过,其结果如下:

1、主界面

2、游戏开始

3、第一关失败

4、第一关成功

5、闯第二关

6

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

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

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