/*前段时间写的几个tc版演示,其中一些程序在与郭翠英老师合作的<<c语言课程设计案例精编>>中用到,所以源码也就不能随便发布了,在这里主要把程序主题列出来了,因为没经验,所以没用建立工程的方法写这个程序,以后假如还有机会用tc写稍微大点的程序,应该要注重这点了。用tc来练习这些程序也是对我上学期学的数据结构复习了下,个人感觉写类似的程序一方面能提高学习爱好,一方面也能多动下脑子。
还有别的什么有趣的演示大家可以想想!
*/
/*上海工程技术大学 02211 朱昀*/
#include "ysfun.c"/*软件常用的一些函数,比如输入输出函数等*/
#include "yshead.c"/*演示软件的开头显示部分*/
#include "rjend.c"/*结束后的提示语*/
/************************次序必须这样*******************************/
#include "f5.c"/*F5的功能*/
#include "ysmaopao.c"/*冒泡法演示*/
#include "queen.c"/*具体的皇后问题*/
#include "hanoi.c"/*具体的汉诺塔问题*/
#include "maze1.c"/*不是最短路径的迷宫探路*/
#include "jssort.c"/*基数排序*/
#include "tree2.c"/*二叉树遍历演示*/
#include "slsort.c"/*双向链表插入排序*/
#include "yser.c"/*二分法查找演示*/
#include "maze2.c"/*迷宫最短路径*/
#include "clist.c"/*报数问题*/
#include "slsort2.c"/*双链表选择排序*/
#include "insort.c"/*插入排序*/
#include "qsort.c"/*快速排序演示*/
#include "tushort.c"/*临接矩阵找最短路径*/
#include "merge.c"/*合并排序*/
#include "fib.c"/*fibonacci问题*/
#include "findtree.c"/*查找树*/
#include "car.c"/*小车入柞*/
#include "hor.c"/*马踏棋盘*/
#include "clock.c"/*时钟*/
#include "kuopo.c"/*拓扑排序*/
#include "dsort.c"/*堆排序*/
#include "huffman.c"/*huffman树*/
#include "juzhch.c"/*矩阵转换*/
#include "cxtree.c"/*穿线树*/
#include "xesort.c"/*希尔排序*/
#include "dolist.c"/*单链表插入*/
#include "maze3.c"/*柞实现四个方向的迷宫探路*/
#include "bds.c"/*表达式求解*/
#include "jzadd.c"/*系数矩阵相加*/
void OdinaryData()/*普通演示*/
{
char flag=0;
ClrScr();
HZ12(50,50,20,0,"A.矩阵转置");
HZ12(50,80,20,0,"B.穿线树生成");
HZ12(50,110,20,0,"C.单链表插入结点");
HZ12(50,140,20,0,"D.三元矩阵相加");
flag=Chose(200,350,1);/*输入选择的内容*/
ClrScr();
if(flag=='A'||flag=='a')/*矩阵转置*/
JuChangeMain();
if(flag=='B'||flag=='b')/*穿线树*/
CxtreeMain();
if(flag=='c'||flag=='C')
DolistMain();/*单链插入结点*/
if(flag=='d'||flag=='D')
JzaddMain();/*系数矩阵相加*/
ClrScr();
}
void GoodCtext()/*F2经典例子*/
{
char flag=0;
ClrScr();
HZ12(50,50,20,0,"A.皇后问题(测试)");
HZ12(50,80,20,0,"B.汉诺塔问题");
HZ12(50,110,20,0,"C.迷宫探路");
HZ12(50,140,20,0,"D.迷宫探路之最短路径");
HZ12(50,170,20,0,"E.发牌程序--基数排序");
HZ12(50,200,20,0,"F.报数问题");
HZ12(50,230,20,0,"G.Fibonacci问题");
HZ12(50,260,20,0,"H.入柞出柞(测试)");
HZ12(50,290,20,0,"I.马踏棋盘(测试)");
HZ12(350,50,20,0,"J.时钟演示(测试)");
HZ12(350,80,20,0,"K.Huffman树(测试)");
HZ12(350,110,20,0,"L.迷宫探路之柞实现");
HZ12(350,140,20,0,"M.中缀转前缀");
flag=Chose(200,350,1);/*输入选择的内容*/
ClrScr();
if(flag=='A'||flag=='a')
Queen();/*皇后问题*/
else if(flag=='B'||flag=='b')
HanoiInit();/*汉诺塔问题*/
else if(flag=='C'||flag=='c')
Maze();/*迷宫探路*/
else if(flag=='d'||flag=='D')
MAZE2();/*迷宫最短路径*/
else if(flag=='E'||flag=='e')
JsSort();/*基数发牌演示*/
else if(flag=='f'||flag=='F')
ClistMain();/*报数问题*/
else if(flag=='g'||flag=='G')
Fibonacci();/*Fibonacci问题*/
else if(flag=='H'||flag=='h')
CarMain();/*入柞出柞*/
else if(flag=='i'||flag=='I')
HorseMain();/*马踏棋盘*/
else if(flag=='j'||flag=='J')
ClockMain();/*时钟*/
else if(flag=='k'||flag=='K')
HuffmanMain();/*huffman树*/
else if(flag=='L'||flag=='l')
ZMazeMain();/*柞的迷宫探路*/
else if(flag=='M'||flag=='m')
BdsMain();/*中缀转前缀*/
ClrScr();/*演示结束*/
}
void DataDemo()/*趣味演示*/
{
char flag=0;
ClrScr();
HZ12(50,50,20,0,"A.二叉树四种遍历");
HZ12(50,80,20,0,"B.双向链表边建立边排序");
HZ12(50,110,20,0,"C.二分法演示");
HZ12(50,140,20,0,"D.冒泡法排序");
HZ12(50,170,20,0,"E.选择法排序");
HZ12(50,200,20,0,"F.插入排序");
HZ12(50,230,20,0,"G.快速排序演示(测试)");
HZ12(50,260,20,0,"H.邻接矩阵找最短路径(测试)");
HZ12(50,290,20,0,"I.合并排序演示");
HZ12(350,50,20,0,"J.建立排序树(测试)");
HZ12(350,80,20,0,"K.拓扑排序(测试)");
HZ12(350,110,20,0,"L.堆排序(测试)");
HZ12(350,140,20,0,"M.希尔排序(测试)");
flag=Chose(200,350,1);/*输入选择的内容*/
ClrScr();
if(flag=='A'||flag=='a')/*二叉树遍历*/
Tree2Main();
else if(flag=='B'||flag=='b')/*双链表插入排序*/
SlSortMain();
else if(flag=='c'||flag=='C')/*二分法查找演示*/
ErMain();
else if(flag=='d'||flag=='D')/*冒泡法排序*/
MaoMain();
else if(flag=='e'||flag=='E')/*选择法排序(双链表)*/
SLSort2();
else if(flag=='f'||flag=='F')
InsertionSortMain();/*插入排序*/
else if(flag=='g'||flag=='G')
QuickSortMain();/*快速排序演示*/
else if(flag=='h'||flag=='H')
TuShortMain();/*图中的最短路径*/
else if(flag=='i'||flag=='I')
MergeSort(); /*合并排序演示*/
else if(flag=='j'||flag=='J')
FtreeMain();/*建立查找树*/
else if(flag=='k'||flag=='K')
KPMain();/*拓扑排序*/
else if(flag=='l'||flag=='L')
DSortMain();/*堆排序*/
else if(flag=='M'||flag=='m')
XeSortMain();/*希尔排序*/
ClrScr();/*演示结束*/
}
void RjRun()/*系统运行阶段*/
{
int key;
int flag=1;
while(flag)
{
key=bioskey(0);
switch(key)
{
case ESC:flag=0;break;
case F1:OdinaryData();break;
case F2:GoodCtext();break;/*经典例子*/
case F3:DataDe
mo();break;/*趣味演示*/
case F5:RjHelp();break;/*软件介绍*/
}
}
}
void main()
{
int gd=DETECT,gm;
registerbgidriver(EGAVGA_driver);/*独立模式*/
initgraph(&gd,&gm,"c:\\tc");
RjWindow();/*软件初始画面*/
RjRun();/*系统运行阶段*/
closegraph();
clrscr();
RjEdn();
getch();
}
Word教程网 | Excel教程网 | Dreamweaver教程网 | Fireworks教程网 | PPT教程网 | FLASH教程网 | PS教程网 |
HTML教程网 | DIV CSS教程网 | FLASH AS教程网 | ACCESS教程网 | SQL SERVER教程网 | C语言教程网 | JAVASCRIPT教程网 |
ASP教程网 | ASP.NET教程网 | CorelDraw教程网 |