收藏 分享(赏)

高校最低录取分数线的查询源代码.doc

上传人:dreamzhangning 文档编号:2249845 上传时间:2018-09-07 格式:DOC 页数:6 大小:31.50KB
下载 相关 举报
高校最低录取分数线的查询源代码.doc_第1页
第1页 / 共6页
高校最低录取分数线的查询源代码.doc_第2页
第2页 / 共6页
高校最低录取分数线的查询源代码.doc_第3页
第3页 / 共6页
高校最低录取分数线的查询源代码.doc_第4页
第4页 / 共6页
高校最低录取分数线的查询源代码.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、高校最低录取分数线的查询问题描述:现要开发一个开放式的高校本科招生最低录取分数线的查询系统,供师生和学生家长等查询,高校自愿放入该校的信息,可能随时有高校加入。功能要求:要求实现的查询功能有:(1) 查询等于用户给定分数的高校;(2) 查询大于(或小于)用户给定分数的高校;(3) 查询最低录取分数线在用户给定的分数段中的高校。(注:为了省下打字的工夫,函数功能相似的都压缩到了一起,所以个别函数会显得烦琐!)/* 头文件 */#include“stdio.h“#include“windows.h“#define OK 1#define ERROR 0typedef struct node /学校

2、名称char SchoolName10,SchoolNum5;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

3、(STD_OUTPUT_HANDLE),c);/* 保存文件 */void InOrder_(QBtree bt,FILE *fp)if(bt!=NULL)InOrder_(bt-lchild,fp);fprintf(fp,“%st%st%dt“,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;

4、else InOrder_(bt,fp);fclose(fp);return OK;/*/void Print(QBtree bt)/输出SchoolList *p=while(p)printf(“%10st%10st%10dn“,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=1Print(bt);InOrder(

5、bt-rchild,PassMark,PassMark_,k);Btree* Search(QBtree bt,int PassMark)if(bt=NULL)|(bt-data.PassMark=PassMark)return bt;else if(bt-data.PassMarkPassMark)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(size

6、of(Btree);if(q!=NULL)if(fp=NULL)puts(“请输入高校名称、学校代码和最低录取分数线:“);scanf(“%s%s%d“,q-data.A.SchoolName,q-data.A.SchoolNum,else fscanf(fp,“%st%st%dt“,q-data.A.SchoolNum,q-data.A.SchoolName,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.PassMarkq-

7、data.PassMark) p=p-lchild;else p=p-rchild;if(pre-data.PassMarkq-data.PassMark) pre-lchild=q;else if(pre-data.PassMarkdata.PassMark) pre-rchild=q;else pre-data.A.next=return q;/* 读取文件 */int ReadFiles(QBtree *bt)FILE *fp;if(fp=fopen(“passmark“,“rb“)=NULL)printf(“tERROR.“);return 0;elsewhile(!feof(fp)B

8、t_Insert(bt,fp);fclose(fp);return 1;/*/void help()printf(“nnt 不好意思暂时没什么能帮助你的!“);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(“ 选择操

9、作项(16):“);printf(“);xy(23,10);for(;)scanf(“%d“,getchar();if(i6)xy(5,10);puts(“ 数据不合法!请重新选择操作项(16):“);xy(40,10);continue;else return i;void main()int i,j;QBtree temp,bt=NULL;ReadFiles(while(1)i=Menu();system(“cls“);switch(i)case 1:printf(“输入成绩:“);scanf(“%d“,temp=Search(bt,i);if(temp=NULL)printf(“没有相关

10、信息,建议选择 2 或 3 方式查找!“);system(“pause“);elseprintf(“有以下高校的最低录取线是 %d 分:n 高校代码t 高校名称t最低录取线n“,i);Print(temp);system(“pause“);break;case 2:printf(“输入分数线:“);scanf(“%d“,printf(“选择方向:1,录取线在%d 分以下的高校; 2,录取线在%d 分以上的高校:n“,i,i);scanf(“%d“,while(j2|jj) i=i+j;j=i-j;i=i-j;printf(“有以下高校满足查询条件:n 高校代码t 高校名称t 最低录取线n“);InOrder(bt,i,j,0);system(“pause“);break;case 4:Bt_Insert(break;case 5:help();break;case 6:SaveFiles(bt);exit(0);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报