首页 高校最低录取分数线的查询源代码

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

举报
开通vip

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

高校最低录取分数线的查询源代码
高校最低录取分数线的查询 问题描述: 现要开发一个开放式的高校本科招生最低录取分数线的查询系统,供师生和学生家长等查询,高校自愿放入该校的信息,可能随时有高校加入。 功能要求: 要求实现的查询功能有: (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.SchoolN ame,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.Pa ssMark); 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<=Pa ssMark_)) //printf("%10s\t%10s\t%10d\n",bt->data.A.SchoolNum,bt->data.A.Sc hoolName,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.PassMarkdata.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); system("pause"); }break; case 2: printf("输入分数线:"); scanf("%d",&i); printf("选择方向:1,录取线在%d分以下的高校; 2,录取线在%d分以上的高校:\n",i,i); scanf("%d",&j); while(j>2||j<1) { printf("输入错误,请重新选择:"); scanf("%d",&j); } printf("有以下高校满足查询条件:\n"); printf(" 高校代码\t 高校名称\t最低录取线\n"); InOrder(bt,i,0,j);system("pause"); break; case 3: printf("请分别输入最低分和最高分:"); scanf("%d%d",&i,&j); if(i>j) {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(&bt,NULL); break; case 5:help();break; case 6:SaveFiles(bt);exit(0); } } }
本文档为【高校最低录取分数线的查询源代码】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_353097
暂无简介~
格式:doc
大小:30KB
软件:Word
页数:0
分类:管理学
上传时间:2019-08-26
浏览量:34