C语言课程设计#汉诺塔#(2)
C程序设计课程设计报告
类TowerPoint
成员变量描述 位置 查看是否有盘子 创建盘子 创建塔 变量类型 Int boolean Disk HannoiTower 变量类型 int boolean 变量名 X,Y 有盘子 盘子 con 变量名 number 上方有盘 类Disk
成员变量描述 数目 上方有无盘子 类Time
成员变量描述 时间 计时器 显示时间 计时器是否启动 变量类型 int javax.swing.Timer JTextField boolean 变量名 time 计时器 显示时间 计时器是否启动
四 总结
这次对于汉诺塔的课程设计我有很多心得和体会,课程设计所设计制作出来的汉诺塔游戏总体符合设计要求,但也有一些缺点和不足,没能完全达到预期的要求。通过课程设计,我们对C语言的掌握提高到了一个新的水平,能够应用C语言编写出一个实用的程序,很大程度上提高了程序综合设计能力、分析能力和编程能力。掌握了很多新的编程技巧,积累了一些编程经验这些技巧和经验对于以后的课程都是很重要的。因此我觉得这次课程设计虽然困难不小,但收获很大。编写程序其中最重要的一个方面就是要认真,认真编写代码可。以大大减少错误的出现;其次是要有耐心,勇于克服困难,不断解决问题,面对困难要永不退缩,迎难而上;再次是要有清晰的思维,能够理清各个函数之间的关系,明确各个函数的职能;最后还要和同学多交流合作,多参考书籍。
参考文献
【01】谭浩强 《C程序设计》第4版 清华大学出版社 2010 【02】C语言程序设计精品课程网站 汉诺塔程序设计 2012.6
【03】覃征,王志敏 《程序设计方法与优化》 西安交通大学出版社 2004 【04】彭四伟,赵彤洲,高巍 《C语言程序设计》 清华大学出版社 2002
第6页 共10页
C程序设计课程设计报告
附 录
#include
char hnt[18][79]= int n; int sum=0;
int computerorpeople=1; int speed=0;
第7页 共10页
{\ \{\ 汉诺塔动画演示 \{\ \{\ ╔════════════════════════════════════╗\ {\ ║ ║\ {\ ║ ║\ {\ ║ ║\ {\ ║ ▆ ║\ {\ ║ ▆▆ ║\ {\ ║ ▆▆▆ ║\ {\ ║ ▆▆▆▆ ║\ {\ ║ ▆▆▆▆▆ ║\ {\ ║ ▆▆▆▆▆▆ ║\ {\ ║ ▆▆▆▆▆▆▆ ║\ {\ ║ ▆▆▆▆▆▆▆▆ ║\ {\ ║ ▆▆▆▆▆▆▆▆▆ ║\ {\ ║ ▆▆▆▆▆▆▆▆▆▆ ║\ {\ ╚════════════════════════════════════╝\ int h; int x; int l;
//塔的高度
//塔的第一个盘的x坐标,y坐标等于(7+n-塔的高度h) //塔的第一个盘的长度
}ta[3]={{10,15,2},{0,0,0},{0,0,0}};
C程序设计课程设计报告
void count_ta_1(int ta_1) { }
void move(int ta_1,int ta_3) { }
第8页 共10页
int i; sum++; ta[ta_3].h++;
ta[ta_3].x=ta[ta_1].x+(ta_3-ta_1)*24; ta[ta_3].l=ta[ta_1].l; for(i=0;i { } hnt[7+n-ta[ta_3].h][ta[ta_3].x+i]=hnt[7+n-ta[ta_1].h][ta[ta_1].x+i]; hnt[7+n-ta[ta_1].h][ta[ta_1].x+i]=' '; int i; int j; int k=0; for(i=7;i<7+n;i++) for(j=4+ta_1*24;j<28+ta_1*24;j++) { } if(hnt[i][j]!=' ') { } for(;hnt[i][j+k]!=' ';k++); ta[ta_1].x=j; ta[ta_1].l=k; return; ta[ta_1].h--; count_ta_1(ta_1); system(\for(i=0;i<7+n;i++) printf(\printf(\ printf(\ 从%c塔移动一个盘到%c塔\\n\printf(\ 步数:%d\\n\\n \if(computerorpeople==2) else for(i=0;i<200000*speed;i++); system(\ C程序设计课程设计报告 void hanoi(int ta_1,int ta_2,int ta_3,int m) //递归,ta_1/ta_2/ta_3分别为座塔的代号,m为盘子数 { if(m==1) move(ta_1,ta_3); else { hanoi(ta_1,ta_3,ta_2,m-1); move(ta_1,ta_3); } } int main() { } 第9页 共10页 int i; printf(\请输入汉诺塔的高度(范围->10):\scanf(\ printf(\请选择:输入由电脑自动控制;\\n\printf(\ 输入由人控制。\\n\printf(\请输入:\ scanf(\ if(computerorpeople!=1&&computerorpeople!=2) { } if(n<1||n>10) n=10; ta[0].h=n; system(\for(i=0;i<7+n;i++) printf(\printf(\ \system(\hanoi(0,1,2,n); if(computerorpeople==1) return 0; printf(\请输入移动盘的速度(例如:输入则代表秒):\scanf(\computerorpeople=1; if(computerorpeople==1) hanoi(ta_2,ta_1,ta_3,m-1); //将塔座A的前m-1个盘子移到塔座B //将塔座A的第m个盘子移到塔座C //将塔座B的m-1个盘子移到塔座C //如果盘子为,将这个盘子从塔座A移动到塔座C C程序设计课程设计报告 【小组分工合作情况】 本次实验课题的完成分为以下几个步骤: 一 汉诺塔课题的选择以及编写程序之前的准备; 二 实验程序的编写及运行测试; 三 程序的修改与完善; 四 程序的运行及对运行结果的分析; 五 课程设计实验报告的编写更正。 ***负责的有:对于编写游戏程序之前准备资料的查询与记录; 汉诺塔程序的编写与检验; 课程设计报告中课题分析、整体设计部分的编写; 课程设计实验报告的整理。 ***负责的有:实验课题的选择与分析; 汉诺塔程序的编写与运行; 课程设计报告中详细设计部分的编写。 其中共同完成的有:汉诺塔程序的编写与运行、课程设计报告的编写与整理。 第10页 共10页
相关推荐:
- [互联网资料]2022年厦门大学机电工程系824机械设计
- [互联网资料]东南大学2022年硕士研究生拟录取名单公
- [互联网资料]能源调研报告(精选多篇)
- [互联网资料]初三英语下学期 中考英语 语法填空训练
- [互联网资料]2022内蒙古选调生行测常识备考:新事物
- [互联网资料]自驾必备!在新西兰租什么样的车自驾游
- [互联网资料]佛教素食菜谱44页未完
- [互联网资料]盈利能力分析外文翻译
- [互联网资料]2022年南昌航空大学音乐学院736马克思
- [互联网资料]优选外贸跟单实习报告总结(精品版)
- [互联网资料]银行新员工培训总结
- [互联网资料]2_year_visa_new_guidance_190316
- [互联网资料]天津市五校宝坻一中静海一中杨村一中芦
- [互联网资料]2007--2008学年第一学期高三数学宁波市
- [互联网资料]Chromatic framework for vision in ba
- [互联网资料]幼儿园大班上学期美术教案《心愿树》含
- [互联网资料]2022年华中农业大学信息学院820微型计
- [互联网资料]硬盘坏道的表现 __硬盘使用久了
- [互联网资料]江苏省2016年会计从业资格考试《会计基
- [互联网资料]公共场所卫生监督试卷全解
- 高级英语第一册所有修辞方法及例子总结
- 综合交通枢纽规划与城市发展
- 沃尔玛的企业文化案例分析
- 美国Thanksgiving Day 感恩节 介绍
- PEP六年级英语上册Unit6How do you fee
- 最齐全的中国大型商场购物中心名单
- 数据结构实验报告八—哈夫曼编译码
- 杭州市余杭区人民政府(通知)
- 七年级语文成语运用专项训练
- 微观经济学第三章 消费者行为 课后习题
- 对_钱学森之问_的思考
- Excel_三级联动_下拉菜单
- 办公用品需求计划申请表
- 对外汉语教材必须要知道的发展史
- 挑战杯大学生学术科技作品竞赛作品申报
- 举办民办教育培训机构应具备下列条件
- 太阳能路灯项目设计方案
- 2013年八年级上最新人教版新教材Unit3I
- 【历史】 6-4 《近代科学之父牛顿》 课
- 高中生物《第四章 第二节 探讨加酶洗衣




