• 大小: 5KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-06-09
  • 语言: C/C++
  • 标签: 中序输出  

资源简介

利用二叉排序树实现学生成绩处理 (1)每个学生信息包括:学号,姓名,成绩三个字段 (2)创建:按成绩构建二叉排序树,存储学生数据; (3)查找:在建立好的二叉排序树中,根据学号或姓名查找学生成绩; (4)排序:对学生信息按照成绩进行排序;

资源截图

代码片段和文件信息

#include 
#include 
#include 
# define max 100
# define  null 0

  
struct student     //定义学生实体结构体
{
    int id;
char name[15];
float score;
    struct student *lchild*rchild;
};


struct student *inserttree(struct student *tree);//录入信息的函数
struct student *find_id(struct student *tree int x);//按学号查找
struct student *find_name(struct student *treechar *name);//按姓名查找
void midorder(struct student *tree);//中序输出信息




int main()   //主函数
{
    int choose;
    struct student *tree *findi;
    int flag id;
char name[15];
    flag=1;
    tree=null;

    do
    {
            printf(“\n\n************************************************\n\n\n“);
            printf(“----------------欢迎使用本系统\n\n1----------创建排序二叉树并录入学生信息\n\n“);
printf(“2----------按学号查找\n\n3----------按姓名查找\n\n“);
            printf(“4----------按成绩排序输出\n\n“);
            printf(“\n\n************************************************\n“);
            scanf(“%d“&choose);
            switch(choose)
            {
                    case 1:
tree=inserttree(tree);
                        break;
                    case 2:
printf(“请输入要查找的学生的学号:“);
                        scanf(“%d“&id);
                        findi=find_id(treeid);
                        if(findi==null)
printf(“没有找到符合要求的学生\n\n“);
                        else
printf(“该学生信息为学号%d\t姓名%s\t分数%.1f\n\n“findi->idfindi->namefindi->score);
                        break;
                    case 3:
printf(“请输入要查找的学生的姓名:“);
                        scanf(“%s“&name);
                        findi=find_name(treename);
                        if(findi==null)
printf(“没有找到符合要求的学生\n\n“);
                        else
printf(“该学生信息为学号%d\t姓名%s\t分数%.1f\n\n“findi->idfindi->namefindi->score);
                        break;
                    case 4:
if(tree!=NULL)
{
printf(“学生信息为:\n\n\n“);
                            midorder(tree);
}
else
printf(“暂时没有学生信息!\n\n\n“);
                        break;
                    
                    default: printf(“error\n“);
            }
         printf(“继续操作请

评论

共有 条评论

相关资源