C语语言言实实现现汉汉诺诺塔塔游游戏戏

操作就是:A B 号码A 的塔顶一层放在号码B的塔顶。如1 (空格) 3 回车。 话 有人能把我这C 的代码添加到QT 界面框架上去

么? 代码写的不好 ,维护性不够,只能玩8层的,写完以后发现很难拓展,软件工程,设计模式有待提高

里面提示输入等级的装B用了,没有实现,大家随便输入个个位数就可以玩了。

stackfunc.c

#include"STACK.h"

#include

extern ceng CENG[SIZE ;

//数据入栈

void push_stack(stack*p,int number){

p->arr[p->head =number;

p->head++;

}

//初始化栈1

void init_stack1(stack*p){

p->head=0;

push_stack(p,1);

push_stack(p,2);

push_stack(p,3);

push_stack(p,4);

push_stack(p,5);

push_stack(p,6);

push_stack(p,7);

push_stack(p,8);

}

//初始化栈2 3

void init_stack2_3(stack* p1,stack* p2){

p1->head=0;

p1->arr[p1->head =0;

p2->head=0;

p2->arr[p2->head =0;

}

//弹出栈顶元素

int pop_stack(stack* p){

p->head--;

return p->arr[p->head ;

}

//访问栈顶元素

int top_stack(stack* p){

return p->arr[p->head-1 ;

}

//比较两个栈顶元素的大小

int sizecmp_stack(stack* p1,stack* p2){

if(p1->arr[p1->head-1 >p2->arr[p2->head-1 )

return 1;

else if(p1->arr[p1->head-1 arr[p2->head-1 )

return -1;

else return 0;

}

//测出栈的高度

int high_stack(stack* p){

return p->head;

}

//是否为空栈

int empty_stack(stack* p){

return p->head==0;

}

//是否栈满

int full_stack(stack* p){

return p->head==SIZE;

}

//初始化层1

void init_ceng1(ceng* p){

p->number=1;

p->row=SIZE-1;

p->col=0;

}

//初始化层2

void init_ceng2(ceng* p){

p->number=2;

p->row=SIZE-2;

p->col=0;

}

//初始化层3

void init_ceng3(ceng* p){

p->number=3;

p->row=SIZE-3;

p->col=0;

}

//初始化层4

void init_ceng4(ceng* p){

p->number=4;

p->row=SIZE-4;

p->col=0;

}

//初始化层5

void init_ceng5(ceng*p){

p->number=5;

p->row=SIZE-5;

p->col=0;

}

//初始化层6

void init_ceng6(ceng*p){

p->number=6;

汉诺塔游戏c语言作业,C语言实现汉诺塔游戏.pdf相关推荐

  1. python2048小游戏程序设计大作业_C语言大作业报告——2048小游戏程序

    大作业题目 类型 游戏 班 号 学 号 所在院系 学 期 2020 年春季学期 任课教师 实验类型 综合设计型 实验目的:  掌握程序设计的基本算法和简单数据结构基础,能够综合运用基本控制语句.算法 ...

  2. 反弹c语言作业,C语言实现反弹球小游戏

    本文为大家分享了C语言反弹球游戏的具体代码,供大家参考,具体内容如下 这是利用函数写的C语言小游戏,用来检验自己的学习成果 反弹球的实现主要有几个子函数组成 问题也在于如何实现小球的下落,以及碰撞得分 ...

  3. 华师c语言作业,C语言程序设计(华师在线作业)1.doc

    C语言程序设计(华师在线作业)1 本学期作业以附件形式完成1. 完成一个大小写字母自动转换的程序,输入大写字母,程序可以输出小写字母,输入小写字母,可以输出大写字母2. 用三种循环方式实现1-100的 ...

  4. 自动批改c语言作业,C语言 选择题功课批改

    C语言 选择题作业批改 输入 第一行包含2个整数n,k,分别表示本次考试中试选择题的个数和每个选择题的分值.第二行包含一个长度为n的字符串,表示标准答案.第三行包含一个整数s,表示试卷的份数.其下的s ...

  5. pta c语言作业,C语言PTA平台习题与答案

    第二章作业 1 ①.本题要求编写程序,输出一个短句"Welcome to You!" #include int main() { printf("Welcome to Y ...

  6. 网吧管理系统C语言作业,C语言课程设计-网吧管理系统.doc

    C语言课程设计-网吧管理系统 <通信工程专业C语言课程设计> 报 告 专 业: 通信工程 班 级: 0802 姓 名: 赵 松 指导教师: 丁 雄 二00九 年 十二 月 二十五 日 目 ...

  7. 输出教师信息c语言作业,C语言教师管理系统代码(最新整理)

    <C语言教师管理系统代码(最新整理)>由会员分享,可在线阅读,更多相关<C语言教师管理系统代码(最新整理)(7页珍藏版)>请在人人文库网上搜索. 1.include #incl ...

  8. 订单查询系统c语言作业,C语言设计订单管理系统答题.doc

    PAGE \* MERGEFORMAT30 C语言课程设计 随米打印订单管理系统 学 院: 计算机与信息科学学院 学生姓名: 谢润发 指导教师: 王新祥 职称 教授 专 业: 网络工程 班 级: 15 ...

  9. 图书馆系统c语言作业,C语言图书馆管理系统课程设计报告

    <C语言图书馆管理系统课程设计报告>由会员分享,可在线阅读,更多相关<C语言图书馆管理系统课程设计报告(16页珍藏版)>请在人人文库网上搜索. 1.高级语言程序设计课程设计报告 ...

  10. 停车场管理系统C语言作业,c语言课程设计报告停车场管理系统

    c语言课程设计报告停车场管理系统 C 语言课程设计报告 --停车场管理 1 班 级: 192102 学 号: 20101003907 姓 名: 聂 彪 指导教师: 张冬梅 时 间: 2011 年 6 ...

最新文章

  1. 一线大厂BAT资深移动开发者倾情打造,教你从0构建App
  2. 用Spark实现简单的单词统计
  3. 死磕Java并发:J.U.C之并发工具类:CountDownLatch
  4. IntelliJ IDEA for Mac 文件结构侧边窗口/类文件内部结构(File Structure)
  5. 【Maven入门教程】Maven的基本概念
  6. android aar保存图片文件异常_我去!合并AAR时踩坑了!
  7. Windows内存保护机制及绕过方法
  8. flexbox算法实现_如何使用Flexbox实现水平滚动
  9. 一摞烙饼最上面一个的另一面为焦的概率
  10. C++ 单例模式 std::call_once实现
  11. Kalman算法C++实现代码(编译运行通过)
  12. 计算机组成原理第三章ppt,计算机组成原理第三章幻灯片(白中英版).ppt
  13. App测试工具列表整理
  14. 计算机第一代及第四代发展概况,1计算机发展概况解析.ppt
  15. 六度分离(floyd算法,SPFA算法,最短路—Dijkstra算法)
  16. 图片二维码,如何将图片制作成二维码
  17. 宝讯网捷:拼多多团长佣金怎么领?
  18. 怎么将自己的头像p到特定的背景图_怎么使用PS抠图,把扣出来的图片P到另张图上...
  19. 关于卷积核大小的论文与思路
  20. android中小火箭动态喷射动画的简单实现

热门文章

  1. java双开_修改Android源码实现原生应用双开,应用多开
  2. 'Periodic workspace save .' has encountered a problem
  3. java日期计算天数_用Java计算两个日期之间的天数
  4. ZOJ 3939 The Lucky Week
  5. linux安装mysql总结
  6. 主力用计算机吸筹,主力底部吸筹 副图
  7. 三相差分编码器转成脉冲信号或集电极开路转换模块
  8. 分布式事务之柔性事务
  9. AD中生成交互式BOM,方便手工焊接及贴片
  10. 多传感器信息融合及应用(何友等著)一至四章节读书笔记