• 当前位置:创业找项目 > 范文大全 > 高校最低录取分数线
  • 高校最低录取分数线

  • 来源:创业找项目
  • 时间:2018-05-06
  • 移动端:高校最低录取分数线
  • 篇一:高校最低录取分数线的查询源代码

    高校最低录取分数线的查询

    问题描述:

    现要开发一个开放式的高校本科招生最低录取分数线的查询系统,供师生和学生家长等查询,高校自愿放入该校的信息,可能随时有高校加入。

    功能要求:

    要求实现的查询功能有:

    (1) 查询等于用户给定分数的高校;

    (2) 查询大于(或小于)用户给定分数的高校;

    (3) 查询最低录取分数线在用户给定的分数段中的高校。

    (注:为了省下打字的工夫,函数功能相似的都压缩到了一起,所以个别函数会显得烦琐!)

    /*************** 头文件 ***************/

    #include"stdio.h"

    #include"windows.h"

    #define OK 1

    #define ERROR 0

    typedef struct node//学校名称

    {

    char SchoolName[10],SchoolNum[5];

    struct node *next;

    }SchoolList;

    typedef struct //录取分数对应的学校

    {

    int PassMark;

    SchoolList A;

    }PassMark_Info;

    typedef struct Node //二叉树节点定义

    {

    PassMark_Info data;

    struct Node *lchild,*rchild;

    }Btree,*QBtree;

    void xy(int x, int y)

    {

    COORD c;

    c.X=x-1;

    c.Y=y-1;

    SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),c); }

    /************** 保存文件 ******************/

    void InOrder_(QBtree bt,FILE *fp)

    {

    if(bt!=NULL)

    {

    InOrder_(bt->lchild,fp);

    fprintf(fp,"%s\t%s\t%d\t",bt->data.A.SchoolNum,bt->data.A.SchoolName,bt->data.PassMark);

    InOrder_(bt->rchild,fp);

    }

    }

    int SaveFiles(QBtree bt)

    {

    FILE *fp;

    if((fp=fopen("passmark","wb"))==NULL)

    {

    printf("\tERROR...");

    return 0;

    }

    else InOrder_(bt,fp);

    fclose(fp);

    return OK;

    }

    /*************************************/

    void Print(QBtree bt)//输出

    {

    SchoolList *p=&(bt->data.A);

    while(p)

    {

    printf("%10s\t%10s\t%10d\n",p->SchoolNum,p->SchoolName,bt->data.PassMark);

    p=p->next;

    }

    }

    void InOrder(QBtree bt,int PassMark,int PassMark_,int k)

    {

    if(bt!=NULL)

    {

    InOrder(bt->lchild,PassMark,PassMark_,k);

    {

    if((k==1&&bt->data.PassMark<=PassMark)||(k==2&&bt->data.PassMark>=PassMark)||(k==0&&PassMark<=bt->data.PassMark&&bt->data.PassMark<=PassMark_))

    //printf("%10s\t%10s\t%10d\n",bt->data.A.SchoolNum,bt->data.A.SchoolName,bt->data.PassMark);

    Print(bt);

    }

    InOrder(bt->rchild,PassMark,PassMark_,k);

    }

    }

    Btree* Search(QBtree bt,int PassMark)

    {

    if((bt==NULL)||(bt->data.PassMark==PassMark))

    return bt;

    else if(bt->data.PassMark>PassMark)

    return Search(bt->lchild,PassMark);

    else return Search(bt->rchild,PassMark);

    }

    Btree* Bt_Insert(QBtree *bt,FILE *fp)

    {

    Btree *p,*pre,*q;

    q=(Btree *)malloc(sizeof(Btree));

    if(q!=NULL)

    {

    if(fp==NULL)

    {

    puts("请输入高校名称、学校代码和最低录取分数线:");

    scanf("%s%s%d",q->data.A.SchoolName,q->data.A.SchoolNum,&q->data.PassMark);

    }

    else

    fscanf(fp,"%s\t%s\t%d\t",q->data.A.SchoolNum,q->data.A.SchoolName,&q->data.PassMark);

    q->lchild=q->rchild=NULL;

    q->data.A.next=NULL;

    }

    if(*bt==NULL) {*bt=q;return *bt;}

    p=*bt;

    while(p!=NULL)

    {

    pre=p;

    if(p->data.PassMark>q->data.PassMark) p=p->lchild;

    else p=p->rchild;

    }

    if(pre->data.PassMark>q->data.PassMark) pre->lchild=q;

    else if(pre->data.PassMark<q->data.PassMark) pre->rchild=q; else pre->data.A.next=&(q->data.A);

    return q;

    }

    /************** 读取文件 ****************/

    int ReadFiles(QBtree *bt)

    {

    FILE *fp;

    if((fp=fopen("passmark","rb"))==NULL)

    {

    printf("\tERROR...");

    return 0;

    }

    else

    while(!feof(fp))

    Bt_Insert(bt,fp);

    fclose(fp);

    return 1;

    }

    /***************************************/

    void help()

    {

    printf("\n\n\t不好意思暂时没什么能帮助你的!");

    system("pause");

    }

    int Menu()

    {

    int i;system("cls");

    printf("\n");

    printf("高校最低录取分数线查询系统菜单\n"); printf("┌──────────────────┬───────────────────┐");

    printf("│ 1:按考生分数查询 │ 2:按分数线查询 │");

    printf("├──────────────────┼───────────────────┤");

    printf("│ 3:按分数段查询│ 4:添加高校信息 │");

    printf("├──────────────────┼───────────────────┤");

    printf("│ 5:系统帮助 │ 6:退

    出│");

    printf("├──────────────────┴───────────────────┤");

    printf("│ 选择操作项

    (1~6): │"); printf("└──────────────────────────────────────┘");

    xy(23,10);

    for(;;)

    {

    scanf("%d",&i);

    getchar();

    if(i<1||i>6)

    {

    xy(5,10);

    puts(" 数据不合法!请重新选择操作项

    (1~6): ");

    xy(40,10);

    continue;

    }

    else return i;

    }

    }

    void main()

    {

    int i,j;

    QBtree temp,bt=NULL;

    ReadFiles(&bt);

    while(1)

    {

    i=Menu();

    system("cls");

    switch(i)

    {

    case 1:

    printf("输入成绩:");

    scanf("%d",&i);

    temp=Search(bt,i);

    if(temp==NULL)

    {

    printf("没有相关信息,建议选择2或3方式查找!");

    system("pause");

    }

    else

    {

    printf("有以下高校的最低录取线是 %d 分:\n 高校代码\t 高校名称\t最低录取线\n",i);

    Print(temp);

    篇二:2015年全国二本大学在北京理科录取分数线

    2015年全国二本大学在北京理科录取分数线

    2015年北京市高招本科二批高校录取最低分数(理工类)

    篇三:2015年全国一本大学在陕西理科录取分数线

    2015年全国一本大学在陕西理科录取分数线


    高校最低录取分数线》由:创业找项目整理
    链接地址:http://www.gjknj.com/duwu/10966.html
    转载请保留,谢谢!
  • 下一篇:安全生产月宣传咨询