从人类进入二十一世纪以来,图书馆检索系统功能的日趋完善,特别是现在高校内大学生计算机的拥有量飞速上升,互联网络改变着人们工作和生活的方式。但是也正是由于网络的普及,致使网络上的信息纷繁复杂,信息分类不规范等原因,在一定程度上使信息用户在浩如烟海的信息海洋中不能迅速、准确地找到具有较高价值的信息。开发一个基于B/S结构的图书公共检索系统,使该系统实现在互联网上的应用。
标签:
上传时间: 2014-11-28
上传用户:hoperingcong
#include<stdio.h> #include<string.h> #include<stdlib.h> #define N 100 int iNumOfStu=0; struct score { float math; float english; float computer; }; struct student { int number; char name[20]; struct score sco; float average; }; struct student stu[N]; void print_menu(void);//输出菜单 void choosemenu(void);//菜单选择 void input_student1(int);//输入学生信息 void input_student2(void);//输入总函数 void input_student3(int &,int);//判断学号是否重复 void input_student4(int,int);//覆盖原信息 void sort_student3(student s[],int);//按照英语成绩排序 void sort_student4(student s[],int);//按照计算机成绩排序 void sort_student2(student s[],int);//按照数学成绩排序 void sort_student5(student s[],int);//按照平均成绩排序 float input_score2(int);//计算学生平均成绩 void print_student2(void);//显示表头 void print_student3(int);//显示学生信息 void print_student1(int);//显示全部学生资料 void sort_student1(void);//排序总函数 void menu(void);//菜单调度总函数 int search_student2(int);//按学号查询学生信息并输出 void search_student3(int);//按平均分最高查询并输出 void search_student1(void);//查询总函数 void delete_student2(int,int);//删除学生信息 void delete_student1(void);//删除总函数 void change_student2(int);//修改学生资料 void change_student1(void);//修改总函数 void input_score3(int);//统计成绩 void input_score1(void);//统计成绩总函数 void print_help(void);//输出帮助信息 void exit_student(void);//退出系统 void save_student(student *,int);//保存学生信息 void main() { menu(); } void save_student(student *s,int a)//保存学生信息 { FILE *fp; if((fp=fopen("d:\\学生信息.txt","wb"))==NULL) { printf("不能打开文件!\n"); } else { printf("保存信息到D盘\n"); fprintf(fp,"本班所有学生具体信息如下:\r\n"); fprintf(fp," 学号 姓名 数学成绩 英语成绩 计算机成绩 平均成绩\r\n"); for(int i=0;i<a;i++) { fprintf(fp,"%8d%12s%14.2f%14.2f%14.2f%14.2f\n",stu[i].number,stu[i].name,stu[i].sco.math,stu[i].sco.english,stu[i].sco.computer,stu[i].average); fprintf(fp,"\r\n"); } fclose(fp); printf("信息保存成功!\n"); } } void exit_student(void)//退出系统 { exit(1); } void print_help(void)//输出帮助信息 { printf("本系统所能容纳的最大学生数为%d人\n学生信息保存在D盘根目录下,保存文件为“学生信息.txt”。\n感谢使用!\n",N); } void input_score1(void)//统计成绩总函数 { int c; c=search_student2(iNumOfStu); printf("学号:%d\n",stu[c].number); printf("姓名:%s\n",stu[c].name); input_score3(c); printf("新成绩录入成功!\n"); stu[c].average=input_score2(c); } void input_score3(int a)//统计成绩 { printf("数学新成绩:"); scanf("%f",&stu[a].sco.math); printf("英语新成绩:"); scanf("%f",&stu[a].sco.english); printf("计算机新成绩:"); scanf("%f",&stu[a].sco.computer); } void change_student2(int a)//修改学生资料 { printf("学号:%d----修改为:",stu[a].number); scanf("%d",&stu[a].number); getchar(); printf("姓名:%s----修改为:",stu[a].name); gets(stu[a].name); printf("数学成绩:%.2f----修改为:",stu[a].sco.math); scanf("%f",&stu[a].sco.math); printf("英语成绩:%.2f----修改为:",stu[a].sco.english); scanf("%f",&stu[a].sco.english); printf("计算机成绩:%.2f----修改为:",stu[a].sco.computer); scanf("%f",&stu[a].sco.computer); } void change_student1(void)//修改总函数 { int c; c=search_student2(iNumOfStu); getchar(); printf("是否要修改此学生信息?(“y”代表是)"); char d; scanf("%c",&d); if(d=='y'||d=='Y') { change_student2(c); stu[c].average=input_score2(c); printf("信息修改成功!\n"); } } void delete_student1(void)//删除总函数 { int c; c=search_student2(iNumOfStu); getchar(); printf("是否删除此条记录?(“y”代表是)"); char d; scanf("%c",&d); if(d=='y'||d=='Y') { delete_student2(c,iNumOfStu); printf("记录已删除!\n"); } } void delete_student2(int a,int b)//删除学生信息 { for(int i=a;i<b-1;i++) { stu[i]=stu[i+1]; } --iNumOfStu; } void search_student1(void)//查询总函数 { printf("1、按学号查询\n2、按平均分最高查询\n请选择:"); int c; scanf("%d",&c); switch(c) { case 1: { search_student2(iNumOfStu); break; } case 2: { search_student3(iNumOfStu); break; } default: break; } } void menu(void)//菜单调度总函数 { print_menu(); choosemenu(); } void sort_student1(void)//排序总函数 { printf("1、按数学成绩排序\n2、按英语成绩排序\n3、按计算机成绩排序\n4、按平均成绩排序\n请选择:"); int c; scanf("%d",&c); switch(c) { case 1: { sort_student2(stu,iNumOfStu); break; } case 2: { sort_student3(stu,iNumOfStu); break; } case 3: { sort_student4(stu,iNumOfStu); break; } case 4: { sort_student5(stu,iNumOfStu); break; } default: break; } } void print_student1(int a)//显示全部学生资料 { printf("本班所有学生具体信息如下\n"); print_student2(); for(int i=0;i<a;i++) { print_student3(i); } } void print_student3(int a)//显示学生信息 { printf("%8d%12s%14.2f%14.2f%14.2f%14.2f\n",stu[a].number,stu[a].name,stu[a].sco.math,stu[a].sco.english,stu[a].sco.computer,stu[a].average); } void print_student2(void)//显示表头 { printf(" 学号 姓名 数学成绩 英语成绩 计算机成绩 平均成绩\n"); } void input_student4(int a,int b)//覆盖原信息 { stu[a]=stu[b-1]; --iNumOfStu; } void input_student3(int &a,int b)//判断学号是否重复 { if(a!=0) { int i=0; do { if(stu[a].number==stu[i].number) { printf("此学号代表的学生已录入\n1、覆盖原信息\n2、重新输入\n请选择:"); int c; scanf("%d",&c); switch(c) { case 1: { input_student4(i,iNumOfStu); a=iNumOfStu-1; printf("信息已替换!\n"); break; } case 2: { printf("请重新输入学生信息:\n"); input_student1(iNumOfStu-1); break; } default: break; } break; } ++i; } while(i<b-1); } } void print_menu(void)//输出菜单 { printf("======欢迎来到学生信息管理系统======\n"); printf(" 1、输入学生资料\n"); printf(" 2、删除学生资料\n"); printf(" 3、查询学生资料\n"); printf(" 4、修改学生资料\n"); printf(" 5、显示学生资料\n"); printf(" 6、统计学生成绩\n"); printf(" 7、排序学生成绩\n"); printf(" 8、保存学生资料\n"); printf(" 9、获取帮助信息\n"); printf(" 10、退出系统\n"); printf("====================================\n"); printf("请选择:"); } void input_student2(void)//输入总函数 { char end; printf("请输入学生信息(在最后一个学生信息录入完成后以“/”结束录入):\n"); for(int i=0;(end=getchar())!='/';i++) { input_student1(i); ++iNumOfStu; input_student3(i,iNumOfStu); } for(int j=0;j<iNumOfStu;j++) { stu[j].average=input_score2(j); } } void input_student1(int a)//输入学生信息 { printf("学号:"); scanf("%d",&stu[a].number); getchar(); printf("姓名:"); gets(stu[a].name); printf("数学成绩:"); scanf("%f",&stu[a].sco.math); printf("英语成绩:"); scanf("%f",&stu[a].sco.english); printf("计算机成绩:"); scanf("%f",&stu[a].sco.computer); } float input_score2(int a)//计算学生平均成绩 { return (stu[a].sco.math+stu[a].sco.english+stu[a].sco.computer)/3; } void search_student3(int a)//按平均分最高查询并输出 { int max=0; for(int i=0;i<a;i++) { if(stu[max].average<stu[i].average) { max=i; } } print_student2(); print_student3(max); } void sort_student2(student s[],int a)//按照数学成绩排序 { struct student temp; for(int i=0;i<a-1;i++) { int max=i; for(int j=i+1;j<a;j++) if(stu[j].sco.math>stu[max].sco.math) { max=j; } if(max!=i) { temp=stu[max]; stu[max]=stu[i]; stu[i]=temp; } } print_student2(); for(int k=0;k<a;k++) { print_student3(k); } } void sort_student3(student s[],int a)//按照英语成绩排序 { struct student temp; for(int i=0;i<a-1;i++) { int max=i; for(int j=i+1;j<a;j++) if(stu[j].sco.english>stu[max].sco.english) { max=j; } if(max!=i) { temp=stu[max]; stu[max]=stu[i]; stu[i]=temp; } } print_student2(); for(int k=0;k<a;k++) { print_student3(k); } } void sort_student4(student s[],int a)//按照计算机成绩排序 { struct student temp; for(int i=0;i<a-1;i++) { int max=i; for(int j=i+1;j<a;j++) if(stu[j].sco.computer>stu[max].sco.computer) { max=j; } if(max!=i) { temp=stu[max]; stu[max]=stu[i]; stu[i]=temp; } } print_student2(); for(int k=0;k<a;k++) { print_student3(k); } } void sort_student5(student s[],int a)//按照平均成绩排序 { struct student temp; for(int i=0;i<a-1;i++) { int max=i; for(int j=i+1;j<a;j++) if(stu[j].average>stu[max].average) { max=j; } if(max!=i) { temp=stu[max]; stu[max]=stu[i]; stu[i]=temp; } } print_student2(); for(int k=0;k<a;k++) { print_student3(k); } } int search_student2(int a)//按照学号查找学生并输出 { int num; int c; printf("请输入要查询的学号:"); scanf("%d",&num); for(int i=0;i<a;i++) { if(num==stu[i].number) { c=i; } } printf("此学生的信息是:\n"); print_student2(); print_student3(c); return c; } void choosemenu(void)//菜单选择 { int i; scanf("%d",&i); switch(i) { case 1: { input_student2(); printf("按回车键返回主菜单"); getchar(); getchar(); menu(); break; } case 2: { delete_student1(); printf("按回车键返回主菜单"); getchar(); getchar(); menu(); break; } case 3: { search_student1(); printf("按回车键返回主菜单"); getchar(); getchar(); menu(); break; } case 4: { change_student1(); printf("按回车键返回主菜单"); getchar(); getchar(); menu(); break; } case 5: { print_student1(iNumOfStu); printf("按回车键返回主菜单"); getchar(); getchar(); menu(); break; } case 6: { input_score1(); printf("按回车键返回主菜单"); getchar(); getchar(); menu(); break; } case 7: { sort_student1(); printf("按回车键返回主菜单"); getchar(); getchar(); menu(); break; } case 8: { save_student(stu,iNumOfStu); printf("按回车键返回主菜单"); getchar(); getchar(); menu(); break; } case 9: { print_help(); printf("按回车键返回主菜单"); getchar(); getchar(); menu(); break; } case 10: { exit_student(); } default: break; } } 运行结果: 源文件下载地址: http://115.com/file/clnq138g#一个简单的学生成绩管理系统.rar (请将此地址复制到浏览器地址栏中访问下载页面)
标签: 成绩查询系统
上传时间: 2019-06-08
上传用户:啊的撒旦
随着GPS(Global Positioning System)技术的不断发展和成熟,其全球性、全天候、低成本等特点使得GPS接收机的用户数量大幅度增加,应用领域越来越广。但由于定位过程中各种误差源的存在,单机定位精度受到影响。目前常从两个方面考虑减小误差提高精度:①用高精度相位天线、差分技术等通过提高硬件成本获取高精度;②针对误差源用滤波算法从软件方面实现精度提高。两种方法中,后者相对于前者在满足精度要求的前提下节约成本,而且便于系统融合,是应用于GPS定位的系统中更有前景的方法。但由于在系统中实现定位滤波算法需要时间,传统CPU往往不能满足实时性的要求,而FPGA以其快速并行计算越来越受到青睐。 本文在FPGA平台上,根据“先时序后电路”的设计思想,由同步没计方法以及自顶向下和自下而上的混合设计方法实现系统的总体设计。从GPS-OEM板输出的定位信息的接收到定位结果的坐标变换,最终到kalman滤波递推计算减小定位误差,实现实时、快速、高精度的GPS定位信息采集处理系统,为GPS定位数据的处理方法做了新的尝试,为基于FPGA的GPS嵌入式系统的开发奠定了基础。具体工作如下: 基于FPGA设计了GPS定位数据的正确接收和显示,以及经纬度到平面坐标的投影变换。根掘GPS输出信息标准和格式,通过串口接收模块实现串口数掘的接收和经纬度信息提取,并通过LCD实时显示。在提取信息的同时将数据格式由ASCⅡ码转变为十进制整数型,实现利用移位和加法运算达到代替乘法运算的效果,从而减少资源的利用率。在坐标转换过程中,利用查找表的方法查找转化时需要的各个参数值,并将该参数先转为双精度浮点小数,再进行坐标转换。根据高斯转化公式的规律将公式简化成只涉及加法和乘法运算,以此简化公式运算量,达到节省资源的目的。 卡尔曼滤波器的实现。首先分析了影响定位精度的各种误差因素,将各种误差因素视为一阶马尔科夫过程的总误差,建立了系统状态方程、观测方程和滤波方程,并基于分散滤波的思想进行卡尔曼滤波设计,并通过Matlab进行仿真。结果表明,本文设计的卡尔曼滤波器收敛性好,定位精度高、估计误差小。在仿真基础上,实现基于FPGA的卡尔曼滤波计算。在满足实时性的基础上,通过IP核、模块的分时复用和树状结构节省资源,实现数据卡尔曼滤波,达到提高数据精度的效果。 设计中以Xilinx公司的Virtex-5系列的XC5VLX110-FF676为硬件平台,采用Verilog HDL硬件描述语言实现,利用Xilinx公司的ISE10.1工具布局布线,一共使用44438个逻辑资源,时钟频率达到100MHZ以上,满足实时性信号处理要求,在保证精度的前提下达到资源最优。Modelsim仿真验证了该设计的正确性。
上传时间: 2013-04-24
上传用户:二驱蚊器
通过对IETM智能化语义检索方法的探讨,提出了一种基于Jena推理的IETM智能化语义检索方法。分析了当前IETM系统检索方法存在的不足,提出了语义检索是实现IETM智能化的有效途径。详细阐述了Jena语义推理的基本原理。最后,设计了基于Jena推理的IETM智能化语义检索方法,该方法根据输入检索语义检索条件在IETM领域本体库中进行Jena推理获得语义扩展的检索结果;根据语义扩展后的检索结果在CSDB中进行检索,获得最终结果。所提方法较好地满足了IETM系统中海量领域知识的智能化检索和用户多样性需求的要求,强调了检索的查全率和查准率,有效地克服了传统的关键字检索模型存在的语义缺失问题。
上传时间: 2013-11-10
上传用户:hehuaiyu
在基本Sprott-B混沌系统数学模型的基础上,引入一个控制参数进行系统改造,构建出一个恒定Lyapunov指数谱鲁棒混沌系统。通过相轨图、Lyapunov指数谱和分岔图等动力学工具对系统进行了仿真分析。研究结果表明,系统对唯一的控制参数保持恒定的Lyapunov指数谱,从而工作于鲁棒混沌状态,理论分析则揭示出控制参数对于系统的混沌振荡具有线性或非线性调幅作用。此外,在以改进的Euler算法进行离散化后,采用微控制器MSP430F249进行了实验验证,证明了系统的可实现性。
上传时间: 2014-01-06
上传用户:Shaikh
基于人工电视监视的交通检测方法存在检测效率低、实时性差的缺点,提出了基于视频序列的交通参数和交通事件检测系统。将采集和预处理后的视频信号通过DSP处理,检测视频交通参数和交通事件,提取的交通参数和交通事件等分析结果通过TCP/IP网络传输协议传给视频分析识别终端,在视频分析识别终端上存储、显示交通参数与交通事件和视频信息,设置系统参数,同时可以进行查询、检索以及管理交通参数与交通事件。该系统实现了对车流量、车速、抛落物、行人和停车等交通参数与事件的实时性检测。
上传时间: 2013-11-12
上传用户:gxf2016
农田信息的及时准确获取是精准农业实施的基础。基于当前无线传感器网络在农田信息采集中的应用现状,提出了设计体积小、成本低、低功耗、工作持续时间长的农田信息采集无线传感器网络节点的必要性。系统采用Atmel公司的低功耗处理器芯片ATmega1281和AT86RF231射频芯片,最终实现了低功耗、低成本、低复杂度的检测系统,通过对温湿度等环境因子的检测,能够达到对作物种植环境进行实时监测的要求。
上传时间: 2014-12-29
上传用户:zczc
文档管理系统 简介: 本系统由罗松独立自主开发,其他个人、组织不得非法进行拷贝、应用。违者将对其进行经济制裁、即法律责任。对于个人应用,在本人网站上提供了免费的服务。对于各机构组织、法人代表则需与本人商议,经本人同意方可应用。 作者:罗松 版权(c)工职软件开发组 http://cqpps.126.com e_mail:luosong@isofthome.com 实现语言:C 开发环境:Turbo C 系统结构: a:学生档案管理系统 b:职业档案管理系统 操作步骤: 1:进入主页面,按y同意本系统协议方可运行。 2:输入密码:666888 3:以下步骤按提示便可完成。
上传时间: 2014-01-18
上传用户:rocketrevenge
java实现的网上购物系统,使电子商务的重要设计内容。可以很方便的实现对用户、商铺、商品、公司等信息的检索和更新。
上传时间: 2015-06-20
上传用户:sardinescn
. 缓存处理技术,定时更新系统数据,提升系统性能 B. 系统模板管理功能,方便制作个性化的系统模板,可后台管理 C. 首页商品和店铺的自助推荐功能,用户可使用虚拟币采用竞价方式自助推荐自己的商品和店铺 D. 店铺的皮肤转换,重新设计店铺结构 E. 商品,店铺,求购信息的搜索,采用积木式查询,减少等待时间 F. 支付宝按钮支付功能(用于系统用户与用户间的付款交易) G. 重新制作广告系统,静态JS读取速度更快 H. 最高价竞拍模式中加入一口价购买的功能 I. 后台管理员的分权限管理(管理,添加,查看) j. 后台商品首页推荐,店铺首页推荐功能 K. 商品可实现四级分类处理 L. 增加店铺分类功能 M. 外接用户数据库(AC和SQL两种),系统邮件发送,图片上传,缓存更新,MD5加密等后台管理功能 N. 实现了商品登陆收费的功能
上传时间: 2015-06-24
上传用户:我干你啊