C语言推区,C语言推.doc

实训报告

实训报告

题 目: 推箱子

院 系: 信息科技学院

专 业: 通信工程

姓 名:

学 号:

指导教师:

日 期: 2009-9-19

桂林电子科技大学信息科技学院

目 录

1 问题定义 …………………………………………………………………………..3

2 详细设计………………………………………………………………………………4

2.1 数据结构设计 ……… …………………………………………………4

2.2 主控流程 …………………………………………………………………………5

2.3 输出记录………………………………………………………………….5

2.4数据功能描述 ………………………………………………………………….6

3 系统实现 ………………………………………………………………………6

3.1 编码 ………………………………………………………………………6

3.1.1 程序预处理 ……….……………………………………………………………6

3.1.2 主函数main() ……….………………………………………………………7

3.2 测试与调试 ………………………………………………………………………8

4 系统维护 ………………………………………………………………………9

5 归纳总结 ………………………………………………………………………9

5.1 开发经验 ………………………………………………………………………9

5.2 实训中遇到的问题及解决方法 ………………………………………………9

5.3 设计中的不足之处……………………………………………………………………9

5.4 感想和心得体会 ……………………………………………………………………10

6 参考资料 ………………………………………………………………………10

推箱子

本题目设计目的是训练学生的基本编程能力,了解推箱子的开发流程,熟悉C语言的文件各种基本操作。本程序中涉及数组、结构体、公用体 及各种语句的运用如for();while();if…. 等方面的知识。通过本程序的训练, 为进一步应用C语言打下坚实的基础。

1、问题定义

定义二维数组chMap来记录屏幕上各点的状态。假设地图中图形0表示墙1表示路2表示目标。通过循环语句for(j=0;j<10;j++)

{

if(chMap[i][j]==0)

printf("#");

if(chMap[i][j]==1)

printf(" ");

if(chMap[i][j]==2)

printf("X");

}

输出地图,实现相应功能。

在问题定义阶段要考虑题目的可行性和需求分析,接下来进入开发阶段,完成 设计和实现的任务。

2 详细设计

2. 1数据结构设计

定义读取键盘码共用体及函数。

union keyboard /*定义读取键盘码的共用体类型*/

{

int fnGetKey(void) /*定义读取键盘码的函数*/

{

union keyboard uniKey1; /*定义读取键盘码的共用体变量*/

while(bioskey(1)==0); /*检测用户是否按键*/

uniKey1.iKeyInfo=bioskey(0); /*读取按键信息*/

return(uniKey1.chKeyBit[0]==0?uniKey1.chKeyBit[1]:uniKey1.chKeyBit[0]); /*返回ASCII码或扩充码*/

}unsigned int iKeyInfo;

char chKeyBit[2];

};这样就定义了读取键盘码的函数,用于读取按键信息,通过按键信息改变坐标。

2.2. 主控main()函数部分执行流程

2.3输出记录

定义二维数组chMap来记录屏幕上各点的状态,移动后的人的坐标与箱子坐标重合,则改变箱子坐标向前一格。通过循环语句for(j=0;j<10;j++)

{

if(chMap[i][j]==0)

printf("#");

if(chMap[i][j]==1)

printf(" ");

if(chMap[i][j]==2)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值