📄 银行财务实时处理系统.cpp
字号:
#include<stdio.h>
#include<math.h>
#include<malloc.h>
#define NULL 0
#define OK 1
#define ERROR -1
#define LEN sizeof(bnode)
typedef struct btreenode /* 定义每个分户结点的结构 */
{long int recorder;
int number;
struct btreenode *lchild;
struct btreenode *rchild;
}bnode;
void Inorder(bnode * T) /*中序遍历二叉树*/
{
if(T)
{
Inorder(T->lchild); /*遍历左子树*/
printf("%d,%d\n",T->number,T->recorder); /*输出结点*/
Inorder(T->rchild); /*遍历右子树*/
}
}
bnode *searchBST(bnode *T,int key,bnode *j) /*查找某结点*/
{if (!T) {T=j;return(T);}
if (T->number==key) return(T);
else if (key<T->number) return(searchBST(T->lchild,key,T));
else return(searchBST(T->rchild,key,T));
};
bnode *creatBST(bnode *h,bnode *t,bnode *p) /*建立二分户二叉树*/
{
int i,n;
h=NULL;
t=NULL;
printf("输入要录入数据的个数\n");
scanf("%d",&n);
printf("开始录入%d个数据\n",n);
printf("请输入分户号、记录号\n");
for(i=0;i<n;++i)
{p=(bnode*)malloc(LEN);
scanf("%d %d",&p->number,&p->recorder);
p->lchild=p->rchild=NULL;
t=searchBST(t,p->number,NULL);
if(!t) h=p;
else if (p->number>t->number) t->rchild=p;
else t->lchild=p;
t=h;
};
return(h);
};
bnode *search(bnode *h,int k) /*查找分户*/
{
printf("请输入要查找的分户号\n");
scanf("%d",&k);
h=searchBST(h,k,NULL);
printf("你要找的记录号是\n%d\n",h->recorder);
return(h);
};
void main()
{bnode *h,*t,*p;
int k,j;
look:printf("\n");
printf("*******************************银行财务实时处理系统*****************************\n");
printf("构造分户二叉排序数(请按1)\n");
printf("\n");
printf("中序遍历分户二叉排序树(请按2)\n");
printf("\n");
printf("查找某一分户号记录(请按3)\n");
loop:scanf("%d",&j);
switch(j)
{case 1:h=creatBST(h,t,p);goto look;
case 2:Inorder(h);goto look;
case 3:search(h,k);goto look;
default:printf("您的输入有误,请重新输入\n");goto loop;
};
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -