Qt嵌入式开发:智能家居项目4任务6 实现自定义模式保存和读取的功能.pptxVIP

Qt嵌入式开发:智能家居项目4任务6 实现自定义模式保存和读取的功能.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

任务6实现自定义模式保存和读取的功能

任务描述本任务实现对自定义模式保存和读取的功能,如下图所示。用户输入条件和阈值,选择要控制的设备,选择模式号(最多可保存三组模式),点击“保存”按钮保存当前的设置。点击“读取”按钮,根据模式号将设置模式的条件、阈值和控制设备进行读取,并显示在页面中。

任务目标1.掌握数组的概念与应用。2.掌握数组的声明、定义与使用方法。3.掌握二维数组的概念及应用。

知识准备在本任务中,需要对多组数据进行保存,在前面的学习中,是利用变量的方式对数据进行存储,而在本任务中需要存储大量的数据(每组9个数据,共3组),这样要声明27个变量来记录数据,不仅声明变量的工作量非常烦琐,而且变量在使用过程中会出现较多问题。为了解决这个问题,可以使用数组的方式对这些数据进行分组记录,如此,利用一个数组即可解决。1.数组的概念数组(Array)是一组具有相同名称的变量的集合,它的每个元素具有相同的数据类型。数组中的每一个变量使用相同的数组名,但使用不同的唯一标识。

知识准备2.数组的声明在Qt中数组声明的语法格式为:数据类型数组名[数组长度]。例如:QString[5]names;intages[3];上述代码分别表示定义了一个数据类型为“QString”(字符串),长度为5的数组和数据类型为“int”(整型),长度为3的数组。3.数组的赋值与变量赋值相同,数组的赋值可以在声明时赋值,也可以在使用时赋值。如:intages[3]={10,15,20};ages[0]=30;第一个为数组声明时赋值,使用“{值1,值2,…值n}”的方式对每一个数组元素进行赋值,第二个为数组使用时赋值,使用“数组名[下标]=值”的方式,为数组的某个元素赋值。这里需要注意的是数组的下标是从0开始的,即数组的第一个元素下标为0,最后一个元素为n-1。

知识准备4.数组的遍历由于数组的下标是连续的,因此,通常与数组相关的操作可以结合循环语句来完成。使用循环的方法逐一对数组的元素进行访问的操作称为数组的遍历。例如:for(inti=0;i3;i++){ //ages[i]的相关操作。}以上代码对“ages[3]”数组进行遍历访问,每次循环访问的元素为“ages[i]”。5.二维数组二维数组本质上是以数组作为数组元素的数组,即“数组的数组”。二维数组的声明方式为“数据类型数组名[m][n]”,如“intarr[3][4]”,表示声明了一个数据类型为int的3行4列的二维数组。对于二维数组的操作需要提供其行号和列号,如设置“arr”数组第三行第二列的值为1,可以利用“arr[2][1]=1”来进行赋值。

知识准备实例1:声明并初始化一个数组,将数组的元素进行从小到大的排序(冒泡法排序),操作步骤如下:⑴创建项目“Test”。⑵在构造方法中输入如下代码:intarr[5]={5,2,1,4,3};//定义一个数组for(inti=1;i5;i++){//排序操作for(intj=0;j5-i;j++){if(arr[j]arr[j+1]){inta=arr[j];arr[j]=arr[j+1];arr[j+1]=a;}}}qDebug()数组排序后为:;for(inti=0;i5;i++){//显示排序后的数组qDebug()arr[i];}⑶设计完成,运行测试。

知识准备实例分析:本实例使用经典的“冒泡排序算法”实现对数组的排序。首先定义一个长度为5的整形数组“intarr[5]={5,2,1,4,3};”,元素初始为无序状态。冒泡排序算法的原理是:先进行第1轮比较,首先将第1个数和第2个数比较,如果第1个数大于第2个数,则把后两个数的位置交换,否则不交换。再将第2个数与第3个数比较,以此类推,比较完4次后,最后1位最大的数字是“5”。按照此规则进行第2轮比较,比较完3次后,倒数第2位是第二大的数字“4”。按照此方法进行4轮比较后,把数字“2、3、4、5”的顺序已经排好,最小的数字“1”必定是在第1位,无须比较了。依据这个原理,使用双重for循环的方式实现冒泡排序,外层循环“for(inti=1;i5;i++)”控制比较的轮数,内层循环“for(intj=0;j5-i;j++)”控制每轮比较的次数。由于每轮比较的次数不同,因此使用“j5-i”条件控制循环次数。排序完成后,使用数组遍历的方法将数组中的元素打印出来。

知识准备实例分析:本实例使用经典的“冒泡排序算法”实现对数组的排序。首先定

文档评论(0)

***** + 关注
实名认证
文档贡献者

教师资格证持证人

该用户很懒,什么也没介绍

领域认证该用户于2025年02月18日上传了教师资格证

1亿VIP精品文档

相关文档