二叉排序树构造学生管理系统

本程序以二叉排序树为数据结构,构造了一个学生信息管理系统,可以进行建立 编辑 插入 删除 查找学生信息,本程序设计的亮点在于FindBSTree函数,此函数为通用函数,供建立 编辑 插入 查找 等操作服务

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct BSTree
{ int num;
char name[20];
char sex[20];
char major[20];
int enter;
struct BSTree *lchild,*rchild;
}BSTree;
int InputBSTree(BSTree *T,int *m);
int CreatBSTree(BSTree *T);
BSTree *FindBSTreeinsert(int num,BSTree *T,int *flag);
BSTree *FindBSTreeequal(int num,BSTree *T,int *flag);
int EditBSTree(BSTree *T);
BSTree *InsertBSTree(BSTree *T);
BSTree *DeleteBSTree(BSTree *T);
BSTree *DelBSTree(int num,BSTree *T,int *flag);
BSTree *Del(BSTree *T);
int SearchBSTree(BSTree *T);
int PrintBSTree(BSTree *T);
int Print(BSTree *T);
int Get_int(void);
int SaveBSTree(BSTree *T);
int Save(FILE *fp,BSTree *T);
void main(void)
{ BSTree *T=0;
int flag=0,m=0;
while(!(T=(BSTree *)malloc(sizeof(BSTree))))
     continue;
T->lchild=T->rchild=0;
printf("            ---------------------------------------------------------/n");
printf("            |                                                       |/n");
printf("            |             ^_^ 欢迎使用学生信息管理系统              |/n");
printf("            | 每个学生信息包括:学号,姓名,性别,专业,入学时间(年)    |/n");
printf("            ---------------------------------------------------------/n");
do
{ printf("/n1,读入 | 2,编辑 | 3,插入 | 4,删除 | 5,查找(以学号)| 6,输出所有信息 | 0,退出/n操作=");
    flag=Get_int();
switch(flag)
{ case 1: InputBSTree(T,&m); if(m) PrintBSTree(T); break;
   case 2: EditBSTree(T); PrintBSTree(T);break;
      case 3: T=InsertBSTree(T); PrintBSTree(T);break;
      case 4: T=DeleteBSTree(T); PrintBSTree(T);break;
      case 5: SearchBSTree(T); break;
      case 6: PrintBSTree(T);break;
   case 0: break;
   default : printf("/n*********对不起,选择无效!*******/n");
}
}while(flag);
printf("/n您想保存吗?/n||1,保存|0,不保存||/n选择=");
flag=Get_int();
if(flag)
   SaveBSTree(T);
printf("/n谢谢使用,按任意键继续/n");
getchar();
}
int InputBSTree(BSTree *T,int *m)
{
int flag=0;
char address[100];
FILE *fp=0;
BSTree *t=0,*S=0;
printf("你想用什么方式读

  • 6
    点赞
  • 58
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值