day1数据结构作业

 

  1 #include <stdio.h>
  2 #include <string.h>
  3 #include <stdlib.h>
  4 struct Stu
  5 {
  6     char name[20];
  7     int age;
  8     double score;
  9 };
 10 int main(int argc, const char *argv[])
 11 {
 12     struct Stu a[5]={0};
 13     for(int i=0;i<5;i++)
 14     {
 15         scanf("%s %d %lf",a[i].name,&a[i].age,&a[i].score);
 16     }
 17     putchar(10);
 18     for(int i=0;i<5-1;i++)
 19     {
 20         for(int j=0;j<5-i-1;j++)
 21         {
 22             if(a[j].score<a[j+1].score)
 23             {
 24                 struct Stu t=a[j];
 25                 a[j]=a[j+1];
 26                 a[j+1]=t;
 27             }
 28         }
 29     }
 30     for(int i=0;i<5;i++)                                                     
 31     {
 32         printf("%s %d %.2lf\n",a[i].name,a[i].age,a[i].score);
 33     }
 34     return 0;
 35 }

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
金属材料标准的应用数据库MtrRvw简介 1 应用数据库MtrRvw 1.1 “MtrRvw”的含义 1.1.1 “Mtr”是“Material Test Report”的首字母缩写,表示材料试验报告。 1.1.2 “Rvw”是“Review”的缩写,表示审查。 1.1.3 “MtrRvw”表示“材料试验报告的审查”,这是数据库的核心应用。 1.2 数据库的区分 1.2.1 开发数据库: 开发数据库是由开发者设计、使用和管理的数据库; 开发数据库包含标准数据化的成果——数据表、查询和应用程序模块; 开发数据库包含数据库开发的一切成果。 1.2.2 测试数据库: 测试数据库是开发数据库的子集,只包含订制的产品规范和适用产品规范的所有试验标准的数据,以及处理这些数据的机制; 开发者为数据库设置安全机制,绑定硬盘、建立帐户、设置权限和运行密码; 开发者通过运行密码设置适用开发环境的业务逻辑,运行测试数据库以确认数据库功能符合开发目标。 1.2.3 演示数据库: 演示数据库是开发数据库的子集,只包含若干典型的产品规范和适用产品规范的所有试验标准的数据,以及处理这些数据的机制; 开发者为数据库设置安全机制,建立帐户、设置权限和运行密码; 演示数据库不与硬盘绑定 用户利用演示数据库可以评价标准的数据化开发的成果是否符合自己的期望; 用户利用演示数据库可以了解产品规范和试验标准的数据构成,制定适用预算、审查对象、使用期限和工作计划的订制方案。 1.2.4 生产数据库:交付时的生产数据库是测试数据库的编译版本(MDE文件); 交付前设置生产数据库使用户只能通过数据库窗体访问数据和功能;用户不需要掌握操作数据库对象的知识和技能。 交付的数据库组件:生产数据库包含用户订制的材料规范和适用的试验标准的数据,以及使用这些数据的查询、窗体和应用程序模块;首次交付的生产数据库包含保存生产数据的数据表(没有任何生产数据);升级时交付的生产数据库不包含保存生产数据的数据表,但包含从生产数据库导入生产数据的数据表的机制。 必要时通过导入备份的生产数据库的数据表,将当前生产数据库的生产数据还原。 1.3 演示数据库和支持文件的发布 1.2.5 演示数据库在MtrRvw的“百度云网盘”的分享主页发布 1.2.6 MtrRvw的“百度云网盘”的分享主页地址: http://pan.baidu.com/share/home?uk=981856497#category/type=0 1.2.7 文件 1.2.7.1 数据库文件:DemoForMtrRvw.mde 1.2.7.2 工作组信息文件:WorkgroupInfo.mdw 1.2.7.3 保存演示数据库使用的图像文件的文件夹:“Images” 1.2.7.4 MtrRvw 帮助:MtrRvwChs.chm,保存在文件夹“Help/Chinese”。 1.2.7.5 文件汇编:MtrRvwRef.chm,保存在文件夹“Help/ Reference”。 1.2.7.6 其它文件 1.2.7.6.1 帐户信息文件:Accounts.xls 1.2.7.6.2 采集计算机的硬盘信息的文件:HddInfo.xls 1.2.7.6.3 运行密码明细:Keys.xls 1.2.7.6.4 ReadMe.txt 1.2.7.7 上述文件保存在文件夹“Demo”并压缩为“Demox.rar”,“x”表示一个自然数,数值越大表示“rar”文件的版本越新。 1.4 数据库MtrRvw的重要属性 1.4.1 数据库MtrRvw是金属材料标准的数据化开发的主要成果,也是高效应用标准数据的工具。 1.4.2 数据库MtrRvw诞生于实践并经历了实践的验证; 基于适用大型锅炉和钢结构的材料规范和试验标准的开发形成了完善的开发和应用机制,使首期的开发成果有可观的应用前景; 采用先开发和发布材料规范再按规划开发和发布适用的试验标准的策略,用户根据标准的开发状况和自身的实际需要选用。 1.4.3 数据库MtrRvw引入革新的材料标准的应用方式。 开发者长期专注于材料标准的跨体系开发,能够透彻和全面地理解标准,加上客观和严谨的态度,可以保证“标准条文数据化后的数据”与“数据化前标准的条文”在内涵和外延上的一致性; 数据库发布后,还可能吸收和整合大量专业人士的意见,使数据持续完善; 保存在数据库的数据是相对稳定的,并且可以被数据库高效地应用和处理,因此标准的应用效率和可靠性获得极大的提高; 利用“文件汇编”用户可以将精力集中于研究和解决发现的问题,而非寻找适用的条文。 1.4.4 数据库MtrRvw能够为用户创造重要的价值。 数据采集作业与分析和审查作业分离,提高各自效率并明确责任; 将耗时的反复操作的手工作业自动化,数据库应用为工作人员,尤其是薪资较昂贵的专业人员节省大量时间,使他们可以专注于研究和处理问题; 数据库应用能够按照材料规范,如果必要,甚至试验标准的所有条款的规定审查材料试验报告,因此审查是全面的和彻底的,这样可以避免问题在材料使用后才被发现而给制造厂带来损失,这种损失可能因材料追溯性缺失而进一步扩大; 数据库应用将问题集中起来以方便问题的跟踪和处理; 未来将开发除材料试验报告审查以外其它数据应用,包括数据操作跟踪、供应商质量记录、材料复验计划和完全可追溯性; 运行密码的引入使产品规范的灵活订制成为可能。 1.4.5 数据库MtrRvw是辅助用户对材料作出处理决定的工具。 MtrRvw厘清规范和标准的试验特征的逻辑关系,将试验数据放在在这个逻辑关系中考察其符合性; 试验特征的逻辑关系可能受一些特殊条件的影响,这些特殊条件由用户设置或确认; 一般的特殊条件容易发现,而依赖其它条件的特殊条件容易被忽略; 用户应该熟悉适用材料的标准体系,对影响材料性能的特征有充分的敏感性; MtrRvw发现的问题可以作为影响对材料的处理决定的诸多因素之一。 1.4.6 安全机制限制对数据库对象的访问。 如果保存数据库文件的计算机的硬盘信息与用户注册的硬盘信息不一致,则“Security”窗体和“MTR Review”窗体不能打开; 以分权方式在各帐户间分配权限,“管理员”和“管理员组”没有任何权限; “客户管理员”是“管理员组”的成员,能够设置帐户的密码和修改业务规则,但没有数据应用的权限; “客户用户”有数据应用的权限,但没有管理权限; 开发工具是Microsoft Access 2002,在更新版本Microsoft Access打开数据库时,弹出安全警告; 数据库以文件共享方式部署。 1.4.7 适用的用户: 生产金属材料的钢厂和以金属材料为原料的制造厂; 金属试验室和检测公司; 监造工程师、授权检验员、总包方和业主; 标准化组织。 2 关于数据化开发 2.1 数据化的定义 2.1.1 数据化开发全面地和彻底地将材料标准(包括材料规范和试验标准等)的内容(条文、表格和图形)分解为试验特征的标题、要求值(表达式)、依据和属性,以及计量、采样(统计)和数据测量规则等,并包装到各个相关的数据库表。 2.1.2 试验特征之间的逻辑关系通过试验特征对其它试验特征的要求值和测量值的引用,以及数据库表、查询和程序模块的设计表现。 2.1.3 将标准文件整合为“文件汇编” 2.2 试验标准的数据化 2.2.1 数据化的通用方法: 从标准的条文抽象试验特征,按一定的规则命名试验特征。 特征的标题从标准的条文提取,力求言简意赅。 按规定的格式构造试验特征的要求值表达式和依据表达式 2.2.2 化学分析和机械试验标准的数据化: 按标准的规定设置试验特征的数据规则 按试验特征本身以及与其它试验特征的逻辑关系,设置专用窗体的对应控件的属性,以及其它关于计算和审查的要求。 按规定的格式表达特征的要求值表达式 按规定的格式表达特征的依据表达式 辅助字段:ValExpr(特征的测量值的表达式)、ReqtSaved(特征的表达式的值临时保存起来以避免重复计算)、Must(对审查的设置)。 2.3 材料规范的数据化 2.3.1 化学元素含量、试验要求及其表达: 化学元素含量保存在“化学元素含量汇总表”; 化学分析的要求统一保存在“试验要求数据表”,该表包含指向特定化学分析方法的索引。 2.3.2 机械性能、试验要求及其表达: 机械性能保存在“机械性能汇总表”; 每种试验的试验要求保存在各自的“试验要求数据表” 2.4 其它检查、测试和试验的数据化 2.4.1 其它检查、测试和试验指除化学分析、热处理工艺检查、机械性能试验以外,一切检查、测试和试验,包括自定义的检查、测试和试验。 2.4.2 “检查、测试和试验标准的数据表”:通过联接字段和值过滤字段从“检查、测试和试验标准的数据表”选定第1个适用的记录,再计算该记录的各个特征的表达式;计算值非空的特征适用,既可以在“Miscellaneous”窗体显示,也会被审查。 2.4.3 “检查、测试和试验标准汇总表”表达各种检查、测试和试验标准的适用条件,设置材料规范和合同/协议的特殊要求,规定从“检查、测试和试验标准的数据表”选择记录以及计算试验特征的要求值的方法。 2.4.4 “检查、测试和试验的特征汇总表”的每一条记录设置一个特定特征的属性。这些属性决定在“Miscellaneous”窗体上相应的控件的显示信息(如果其要求值适用)。这些信息除了可以帮助用户了解特征以外,对一些重要功能的实现也是必要的,如输入字符的过滤、量规的显示和输入、自动计算和写入以及显示文件汇编等。 2.4.5 自定义的检查、测试和试验 自定义的检查、测试和试验指用户根据合同或协议规定的任何检查、测试和试验,既可以完全取代,也可以补充材料规范或其它标准规定的检查、测试和试验。 试验的定义:“试验方案的定义表”和“试验特征的定义表”。 3 关于窗体的设计 3.1 数据库MtrRvw使用窗体展现试验特征的标题、要求值、依据和逻辑关系,输入、编辑和管理试验数据,以上下文敏感的方式访问保存在“文件汇编”的标准条文。 窗体以试验标准的试验特征为主体,通常按若干范畴组织起来,而材料规范(产品规范和通用规范)的试验特征与试验标准的相应的试验特征合并。 试验标准的依据包含所有相关标准的条款号,当“F3”键被按下时,各标准的条文依次出现在“文件汇编”的相应窗口,因而可以对照阅读。 3.2 显示试验特征的窗体有两种类型。一种是“专用窗体”,适用热处理工艺检查、化学分析和机械性能试验,通常每一种试验方法都有一个对应的窗体; 另一种是“Miscellaneous”窗体,适用其它检查、测试和试验,包括自定义的检查、测试和试验,所有试验实际上使用同一个窗体。 4 关于审查 4.1 审查是基于试验的数据结构和处理机制,将试验数据与材料规范和试验标准的相应的要求比较,通过分析发现问题的过程。 4.2 材料规范规定的材料性能可以因特殊条件的确认而变化,也可以随试验的方法、条件和程序,即其它试验特征的数据而变化。 适用的材料性能必须有对应的试验数据,否则将作为一个问题报告。 试验标准规定的试验特征的要求值也可以因其它试验特征的数据而变化,但除非输入了测量值或者设置了“Must”属性,否则不会被审查。 4.3 审查的成果即问题清单是审查报告和后续数据应用的基础信息,也是联系试验数据和规范/标准的枢纽。 4.4 对问题的研究 4.4.1 “问题清单”的依据包含所有相关标准的条款号,当“F3”键被按下时,各标准的条文依次出现在“文件汇编”的相应窗口,因而可以对照阅读。 4.4.2 在“审查”窗体,单击命令按钮“View Details”,打开问题相应的试验窗体,找到发现问题的试验特征,将焦点放入表达该特征的测量值文本框或组合框。 4.4.3 在“审查”窗体,单击命令按钮“View Issues”,打开窗体“View Issues”;窗体“View Issues”将通用数据、“问题清单”和审查信息同时显示出来,以便分析。 4.4.4 在“审查”窗体,单击命令按钮“Preview Report”,打开报表的预览,报表将通用数据、“问题清单”和审查信息以报告的形式输出到显示器或打印机。 5 产品规范的订制 5.1 定价原则 5.1.1 基本费率 首期开发对象的108个产品规范及已开发的适用的通用规范和试验标准的数据量总和为56.410MB,其中,产品规范独占的数据量为22.391MB,产品规范分享的数据库对象的数据量为34.019MB; 上述数据量的1个月(31天)的使用费为1000RMB(元) 基本费率=1000(RMB)÷31(Day)÷56.410(MB)÷1(Account)=0.565055RMB/MB/Day/Account 5.1.2 订制方案的价格 订制方案的价格=基本费率×{[Σ(产品规范独占的数据量×产品规范的使用天数)]+[Σ(分享的数据库对象的数据量×最大使用天数)]}×账户数 账户数:“客户用户”的数目不超过2时,账户数=1;“客户用户”的数目超过2时,账户数=“客户用户”的数目-1。 5.2 订购流程 5.2.1 通过演示数据库体验应用数据库MtrRvw 5.2.2 订购信息的生成和发送 在“Order”窗体生成订制信息,将订单和明细输出到“Excel”表。 将硬盘信息文件(HddInfo.xls)复制到将来保存数据库文件的计算机,采集该计算机的硬盘信息。 用户将上述保存订购信息的文件发送到开发者的信箱:[email protected]。 5.2.3 《开发协议》的协商 如果接受用户的订单,开发者向用户的信箱发送《开发协议》。开发者和用户通过各自的信箱协商《开发协议》的细节;当开发者和用户就《开发协议》的所有细节达成一致时,《开发协议》生效;开发者和用户按照《开发协议》承担各自的责任并获取相应的权益。 如果不接受用户的订单,开发者向用户的信箱发送说明。 5.2.4 《开发协议》模板:见MtrRvw 帮助-〉用户手册-〉产品规范的订制
nside君的MySQL网络培训班课程特点: 业界最权威的MySQL数据库培训师姜承尧老师(也就是Inside君本人啦)亲授.姜承尧老师出版了《MySQL技术内幕:InnoDB存储引擎》、《MySQL内核:InnoDB存储引擎》等Mysql书籍。 课程紧密结合互联网公司实践,学员能够领略到BAT、网易等大公司的数据库架构与应用案例 课纲结合最新的MySQL 5.6、5.7版本,使得学员学到的都是最新的内容 充分掌握课程内容的学员年薪至少在25W起,第1期的学员已经证明了培训的价值 优秀学员可以获得姜老师的BAT等大型互联网公司的内推 面试技巧与简历模板(新增),帮助学员拿到更好的offer MySQL 安装与引擎 day001-MySQL 5.7介绍和安装 day002-MySQL 5.7安装多实例 day003-MySQL升级 参数 连接 权限 day004-MySQL权限拾 遗Role模拟 Workbench 体系结构 day005-slow_log generic_log audit 存储引擎一 day006-存储引擎二 多实例安装上 day007-MySQL 多实例下 SSL MySQL 数据类型和SQL查询 开发 day008-MySQL 数据类型 day009-精通JSON类型 day010-Employees 临时表的创建 外键约束 day011-SQL语法之SELECT day012-子查询 INSERT UPDATE DELETE REPLACE day013-作业讲解一 Rank 视图 UNION 触发器上 day014-触发器下 存储过程 自定义函数 MySQL 执行计划与优化器 day015-索引 B+树 上 day016-索引 B+树 下 Explain 1 day017-Explain 2 MySQL innodb引擎优化 day018-磁盘 day019-磁盘测试 day020-InnoDB_1 表空间 General day021-InnoDB_2 SpaceID.PageNumber 压缩表) day022-InnoDB_3 透明表空间压缩 索引组织表 day023-InnoDB_4 页(2) 行记录 day024-InnoDB_5 – heap_number Buffer Poo day025-InnoDB_6 Buffer Pool与压缩页 CheckPoint LSN day026-InnoDB_7 doublewrite ChangeBuffer AHI FNP MySQL 索引与innodb锁机制 day027-Secondary Index day028-join算法锁_1 day029-锁_2 day030-锁_3 day031-锁_4 day032-锁_5 day032-锁5标清 day033-锁_6 事物_1 day033-锁_6 事物1标清 day034-事物_2 MySQL 性能衡量 day035-redo_binlog_xa day036-undo_sysbench day036-undosysbench标清 day037-tpcc_mysqlslap MySQL 备份与恢复 day038-purge死锁举例_MySQL backup备份_1 day039-MySQL backup备份恢复_2 MySQL 复制技术与高可用 day040-MySQL 备份恢复backup_3_replication_1 day041-backup_4-replication_2 day042-replication_3 day043-replication_4-GTID 1 day044-replication_5-GTID 2
第一次作业 这个作业将让你去练习建立一些简单的类和使用C++的基本功能,包括:封装,引用,动态内存开辟, 简单构造函数和析构函数和const。 下面给的程序片段未经过编译或调试. 做出合理的错误修正是你任务的一部分。 一般的,我们会给你最基本部分的代码,如果你需要,你可以在一个类里添加额外的变量或方法,这个作业被分为三个部分,那么你们要按照步骤一步一步地完成。 1. 设计要求 第一部分) 构建简单的类 R1.1) 创建一个Person类, 其模型在下面的代码结构里。 R1.2) 人类(Persons)应该有一些属性: name, email_address, birthdate 作为表示人类的属性。 R1.3) 按下面的要求创建一个Date类。 R1.4) 每个类都应该可以使用输出运算符(<<)输出内容。 //file Date.h class Date { public: Date(); Date( int year, int month, int day ); ... private: int _year; int _month; int _day; }; //end file Date.h //file Person.h class Person { public: Person(void); Person(char * their_name, char * email, int day, int month, int year); char * GetName(); char * GetEmailAddress(); Date GetBirthDate(); void Print(); private: char* name; char* email_address; Date date; }; //end file Person.h 第二部分) 构建一个容器类 Set container. R2.1) 建立一个set的模型PersonSet类, 并且它只能保存Person的对象. R2.2) 这个set应该存储person的地址(指针),以便可以获取原始对象(非拷贝). R2.3) set的存储应该用动态数组来保存Person的指针(用new来创建), 但是set不应该有界限(数组大小), 它们应该在成员进行添加或移除时,适当进行扩展.. R2.4) 成员不按任何特定顺序存储(无排序). R2.5) set允许存储副本(相同对象). R2.6) Add() 函数应该当在添加的时候,并且需要的情况,进行扩展数组大小并且输出一串信息. R2.7) Remove() 函数应该在移除的时候, 并且在需要的情况, 可以进行缩小数组大小并输出一串信息. R2.8) Add() 函数应该带一个引用类型的参数(Person&). R2.9) 迭代应该通过NextElement()函数来提供. R2.10) NextElement()和 RemoveElement() 应该通过引用返回 对于现在我们将去建立sets去只保存Person对象,因此类名是PersonSet. //file PersonSet.h class PersonSet { public: //default constructor allocate appropriate heap storage store elements on //heap array declared like this: new Person*[initial_size]; PersonSet (int initial_size = 4); //store element in the set if the set is full allocate more memory ~ PersonSet (void); public: void Add(Person & element) ; Person & NextElement() ; // 从set中移除最后一个成员 //如果Set空的数据超过一半,释放一些内存 Person & RemoveElement(); // 从Set中的index索引处移除成员 // 如果Set空的数据超过一半, 释放一些内存 Person & RemoveElement( int index ); int Size(); //answer the number of elements in the set. void Print();

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值