数值型随机森林R代码,供数值型数据进行决策树构建
上传时间: 2016-10-29
上传用户:友禾步渴
f 16的特点总结。 这是所有爱航空的人非常有趣的信息。
标签: f16
上传时间: 2016-10-30
上传用户:yforf
#include <stdlib.h> #include<stdio.h> #include <malloc.h> #define stack_init_size 100 #define stackincrement 10 typedef struct sqstack { int *base; int *top; int stacksize; } sqstack; int StackInit(sqstack *s) { s->base=(int *)malloc(stack_init_size *sizeof(int)); if(!s->base) return 0; s->top=s->base; s->stacksize=stack_init_size; return 1; } int Push(sqstack *s,int e) { if(s->top-s->base>=s->stacksize) { s->base=(int *)realloc(s->base,(s->stacksize+stackincrement)*sizeof(int)); if(!s->base) return 0; s->top=s->base+s->stacksize; s->stacksize+=stackincrement; } *(s->top++)=e; return e; } int Pop(sqstack *s,int e) { if(s->top==s->base) return 0; e=*--s->top; return e; } int stackempty(sqstack *s) { if(s->top==s->base) { return 1; } else { return 0; } } int conversion(sqstack *s) { int n,e=0,flag=0; printf("输入要转化的十进制数:\n"); scanf("%d",&n); printf("要转化为多少进制:\n"); scanf("%d",&flag); printf("将十进制数%d 转化为%d 进制是:\n",n,flag); while(n) { Push(s,n%flag); n=n/flag; } while(!stackempty(s)) { e=Pop(s,e); switch(e) { case 10: printf("A"); break; case 11: printf("B"); break; case 12: printf("C"); break; case 13: printf("D"); break; case 14: printf("E"); break; case 15: printf("F"); break; default: printf("%d",e); } } printf("\n"); return 0; } int main() { sqstack s; StackInit(&s); conversion(&s); return 0; }
上传时间: 2016-12-08
上传用户:爱你198
R实用教程;R是一套由数据操作、计算和图形展示功能整合而成的套件。包括: • 有效的数据存储和处理功能, • 一套完整的数组(特别是矩阵)计算操作符, • 拥有完整体系的数据分析工具, • 为数据分析和显示提供的强大图形功能, • 一套(源自S语言)完善、简单、有效的编程语言(包括条件、循环、自 定义函数、输入输出功能)。 在这里使用”环境”(environment)是为了说明R的定位是一个完善、统一的系 统,而非其他数据分析软件那样作为一个专门、不灵活的附属工具。 R很适合被用于发展中的新方法所进行的交互式数据分析。由于R是一个动 态的环境,所以新发布的版本并不总是与之前发布的版本完全兼容。某些用户 欢迎这些变化因为新技术和新方法的所带来的好处;有些则会担心旧的代码不 再可用。尽管R试图成为一种真正的编程语言,但是大家不要认为一个由R编写 的程序可以长命百岁。 1.2 相相相关关关的的的软软软件件件和和和文文文档档档 R可以被当作S语言(由Rick Becker,John Chambers和AllanWilks在Bell实验
标签: R实用教程
上传时间: 2017-01-01
上传用户:zhanluejia
设有二元函数 f(x,y) = f(x) + f(y) 其中: f(x) = f(x-1) * x (x >1) f(x)=1 (x=1) f(y) = f(y-1) + f(y-2) (y> 2) f(y)=1 (y=1,2) 请编程建立 3 个并发协作进程,它们分别完成 f(x,y)、f(x)、f(y)
上传时间: 2017-04-21
上传用户:WWSAE
学懂分析,玩转大数据,用R轻松实现数据可视化,从实际数据分析出发,全面掌握R编程
标签: 语言
上传时间: 2018-06-07
上传用户:33ya
R语言实战完整版,中文版本,包括了R语言的入门和升级,非常有用
标签: 语言
上传时间: 2018-06-12
上传用户:了了了了
产品型号:HT9B92 产品品牌:HOLTEK/合泰 封装形式:TSSOP48/LQFP48 产品年份:新年份 原厂直销,工程服务,技术支持,价格更具优势! RAM 映射 36×4 LCD 显示驱动器 概述 HT9B92 是一款存储器映射和多功能LCD控制驱动芯片。该芯片显示模式有144 点(36×4 )。 HT9B92 软件配置特性使得它适用于多种LCD应用,包括LCD 模块和显示子系统。HT9B92 通过双线双向 I2C 接口与大多数微处理器/ 微控制器进行通信。 功能特点 ● 工作电压:2.4V~5.5V ● 内部集成振荡电路 ● Bias: 1/2 or 1/3; Duty: 1/4 ● 带电压跟随器的内部LCD 偏置发生器 ● 提供VLCD 引脚来调整LCD 工作电压 ● I2C接口 ● 可选 LCD 帧频率 ● 多达36×4 位RAM 用来存储显示数据 ● 最大显示模式36×4:36 SEGs 和4 COMs ● 多种闪烁模式:不闪烁,0.5Hz,1Hz,2Hz ● 写地址自动增加 ● 低功耗省电模式 ● 采用硅栅极CMOS 制造工艺 ● 封装类型:48-pin TSSOP/LQFP ● 市面可兼容型号:元泰VINTEK:VKL44A TSSOP48封装,VKL144B QFN48(6MM*6MM)封装,VKL128 LQFP44封装,VKL060 SSOP24封装 ------ 同种脚位可以任意切换,少脚位更具性价比高,方便设计等特点。 ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●● 产品型号:VKL144A 产品品牌:VINTEK/元泰 封装形式:TSSOP48 产品年份:新年份 原厂直销,工程服务,技术支持,价格更具优势! 超低功耗液晶LCD显示驱动芯片 概述 VKL144A是一款性能优越的字段式液晶显示驱动芯片,由于其驱动段位多达144段和超低功耗的工艺设计特点。还具有性能稳定和低价格优势、供货稳定,目前被业界广泛应用在众多的仪器仪表的产品上。比如手持式仪表、费率表、工控仪表、医疗仪器、专用测量仪表头等等设备上使用 功能特点 ● 液晶驱动输出: Common 输出4线 Segment 输出36线 ● 内置Display data RAM (DDRAM) 内置RAM容量:36*4 =144 bit ● 液晶驱动的电源电路 1/2 ,1/3 Bias ,1/4 Duty 内置Buffer AMP I2C串行接口(SCL, SDA) ● 内置振荡电路 ● 不需要外围部件 ● 低功耗设计 ● 搭载等待模式 ● 内置Power-on Reset电路 ● 搭载闪烁功能 ● 工作电源电压: 2.5-5.5V ★应用推荐: 各种费率表,电表、水表、气表、热表、各种计量专用表头。 ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●● 产品型号:VKL144B 产品品牌:VINTEK/元泰 封装形式:QFN48L(6MM*6MM) 产品年份:新年份 原厂直销,工程服务,技术支持,价格更具优势! 超低功耗液晶LCD显示驱动芯片 概述 VKL144B是一款性能优越的字段式液晶显示驱动芯片,由于其驱动段位多达144段和超低功耗的工艺设计特点。还具有性能稳定和低价格优势、供货稳定,目前被业界广泛应用在众多的仪器仪表的产品上。比如手持式仪表、费率表、工控仪表、医疗仪器、专用测量仪表头等等设备上使用 功能特点 ● 液晶驱动输出: Common 输出4线 Segment 输出36线 ● 内置Display data RAM (DDRAM) 内置RAM容量:36*4 =144 bit ● 液晶驱动的电源电路 1/2 ,1/3 Bias ,1/4 Duty 内置Buffer AMP I2C串行接口(SCL, SDA) ● 内置振荡电路 ● 不需要外围部件 ● 低功耗设计 ● 搭载等待模式 ● 内置Power-on Reset电路 ● 搭载闪烁功能 ● 工作电源电压: 2.5-5.5V ★应用推荐: 各种费率表,电表、水表、气表、热表、各种计量专用表头。 HOLTEK合泰全系列产品 芯片介绍如下: 一.LCD液晶显示驱动控制器 HT1620 HT1620G HT1621 HT1621B HT1621G HT1622 HT1622G HT1623 HT1625 HT1626 HT16C21 HT16C22 HT16C23 HT16C24 HT1620 HT16220 HT1647 HT1650 HT1660 HT1670 HT16K23 HT9B92 HT9B92G HT9B95A HT9B95B HT9B95C HT16LK24 HT16L21 HT16L23 HT1611C HT1613C HT1616C (全部封装、规格形式 均有海量现货!) 二:LED/VFD控制、驱动器 HT16506 HT16511 HT16512 HT16515 HT16514 HT16561 HT16562 HT16565 HT16566 HT16523 HT16525 HT1632C HT16K33 HT16K33 HT16528-001 HT16528-002 HT16528-003 (全部封装、规格形式 均有海量现货!) 三.Touch Key触摸按键电路/ I/O Flash MCU BS801B/C BS802B/C BS804B/C BS804B/C BS806B/C BS808B/C BS812A-1 BS813A-1 BS814A-1 BS814A-2 BS816A-1 BS818A-2 BS8112A-3 BS8116A-3 BS83A02A-4 BS83A04A-3 BS83A04A-4 BS83B04A-4 BS83B08A-3 BS83B08A-4 BS83B12A-3 BS83B12A-4 (全部封装、规格形式 均有海量现货!) 四.HT7XXX全系列 微功耗LDO HT1015-1 HT71xx-1 HT71xx-2 HT71xx-3 HT71xx-3 HT75xx-1 HT75xx-2 HT75xx-3 HT73xx HT72xx HT78xx Power management(电源LDO稳压管理IC) HT71**为30MA稳压芯片 产品:HT7130,HT7133,HT7136,HT7144,HT7150 HT75**为100MA稳压芯片 产品:HT7530,HT7533,HT7536,HT7544,HT7550 HT73**为300MA稳压芯片 产品:HT7318,HT7325,HT7327,HT7330,HT7333,HT7335,HT7350 HT70**为电压检测芯片 产品:HT7022,HT7024,HT7027,HT7033,HT7039,HT7044,HT7050 HT77::为升压DC-DC芯片 产品:HT7727,HT7730,HT7733,HT7737,HT7750 LDO与探测器和数据收发:HT71DXX 高电源抑制比300mA双LDO稳压器:HT72Dxxxx 高电源抑制比300mA LDO稳压器:HT72BXX 高电源抑制比 150mA LDO稳压器:HT75BXX 高电源抑制比 500mA LDO稳压器:HT78BXX 3SOT89 T/R 电压检测器系列(小功率):HT70xxA-1 HT70xxA-2 HT70xxA-3 PFM升压DC-DC变换器:HT77xx HT77xxA HT77S10 HT77S11 PFM同步升压直流/直流转换器:HT77xxS HT77xxSA LED照明驱动:HT7L4811 HT7L4091 HT7L4091 HT7L2102 HT7L2103 HT7L2103 白光LED背光驱动:HT7936 HT7937 HT7938 HT7938A HT7939 HT7943 HT7945 降压直流-直流转换器:HT7465 HT7466 AC/DC PWM变换器:HT7A3942 HT7A6002 HT7A6003 HT7A4016 充电泵直流/直流转换器:HT7660 (全部封装、规格形式 均有海量现货!) 五:时钟IC及其他消费类IC HT1380 HT1380A HT1381 HT1381A HT1382 HT9200A HT9170 HT9172 HT9032 HT8970 HT9247 HT82V731 HT82V736 HT6221 HT6222 HT62104 HT12A\E HT12D\F (全部封装、规格形式 均有海量现货!) 六.电可擦除只读存储器 HT2201 HT24LC02 HT24LC02A HT24LC04 HT24LC08 HT24LC16 HT24LC32 HT24LC64 HT24LC128 HT24LC256 HT93LC46 HT93LC66 HT93LC86 (全部封装、规格形式 均有海量现货!) 七.各类编码/射频/解码器 HT12D HT12E HT12F HT6010 HT6012 HT6014 HT6026 HT6030 HT6032 HT6034 HT600 HT604L HT6207 HT680 HT6P20B HT6P20D HT6P40B2 HT6P40C2 HT6P40D2 HT6P40E2 HT6P40B2T3 HT6P40C2T3 HT6P40D2T3 HT6P40E2T3 HT6P423A HT6P423A HT6P427A HT6P433A HT6P437A HT12C2T3 HT12C2T4 HT12E2T3 HT12E2T4 HT12E2T4 HT16C2T3 HT16C2T4 HT16E2T3 HT16E2T4 HT16G2T3 HT16G2T4 HT9831 HT7610A HT7611A/B HT7612 HT7612B (全部封装、规格形式 均有海量现货!) 八.MCU(微控IC) HT48 系列 应用于遥控,电扇/电灯控制,洗衣机控制,电子秤,玩具及各种系统控制. 产品:HT48R05,HT48R06,HT48R30,HT48R50 HT49系列 应用于多种LCD DI低功耗应用,如电子秤,休闲产品,高阶的家用电器 产品:HT49R30,HT49R50 HT46带A/D系列 适用于充电器控制,电磁炉等 产品:HT46R47,HT46R22,HT46R23,HT46R24,HT46R51 HT46带A/D及LCD系列 适用于洗衣机控制器,相机控制器和带LCD显示的家用电器系列 产品:HT46R62,HT46R63,HT46R64 HT48RA系列适用于红外遥控器以及各种电子系统的控制器 (全部封装、规格形式 均有海量现货!) 九.放大器/音频放大器 /DA转换器 HT9231 HT9232 HT9234 HT9251 HT9252 HT9254 HT9274 HT9291 HT9292 HT9294 HT82V732 HT82V733 HT82V735 HT82V736 HT82V736 HT82V739 HT82V73 HT82V731 HT82V737 HT82V738 (全部封装、规格形式 均有海量现货!) 十.音调IC/发生器 /接收器 HT9200A HT9200B HT9170B HT9170D HT9172 HT8970 HT8972 (全部封装、规格形式 均有海量现货!) IC型号众多,未能一一收录。 芯片主要应用领域如下: ★显示模块:电子秤、无线麦克风、录音笔、影音多媒体、小家电周边 ★家电类:电风扇、电饭煲、玩具、冷气机、暖风机、空调扇、饮水机、抽油烟机、消毒柜、电热水器、面包机、豆浆机、咖啡壶、电冰箱、洗衣机控制器、空调控制板等。 ★通讯类:来电显示电话、无绳电话、IC电话、投币电话、对讲机等 ★玩具游戏类:无线遥控车、PS游戏机、跳舞毯、方向盘、手柄、电子枪、PS开机IC等。 ★计算机周边:显示器控制、PC-MOUSE、单/双滚、遥控MOUSE、键盘、手写板等。 ★智能卡类:IC卡煤气表、电能表、水表、IC读写器、IC卡门禁系统等。 ★汽车及防盗类:机车防盗器、********器、汽车天线控制器、里程表、汽车日历等。 ★医用保健类:电子针灸器、甩脂机、智能体温计、LCD显示血压计、跑步机、按摩器、按摩垫、按摩椅 等。 ★仪表类:电压表、瓦斯表、电池电压检测器、频率计、计数器、电度表、水位检测器等。 ★其它类:充电器、照相机、电子万年钟、自动给皂机、路灯控制器、呼叫服务器等
标签: TSSOP B92 HT9 LCD HT 9B 92 48 合泰 液晶驱动
上传时间: 2018-12-07
上传用户:shubashushi66
#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
上传用户:啊的撒旦
#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 (请将此地址复制到浏览器地址栏中访问下载页面) #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("新成绩录入成功!
标签: c语言
上传时间: 2019-06-09
上传用户:啊的撒旦