2.1数表cadcam_第1页
2.1数表cadcam_第2页
2.1数表cadcam_第3页
2.1数表cadcam_第4页
2.1数表cadcam_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2 1数表的计算机处理 2 1 1数表的程序化2 1 2数表的文件化 数表的分类 数据彼此间存在函数关系的表格 例如 普通V带传动的包角系数表 常数数表 列表函数 数据彼此间没有函数关系的表格 例如普通V带传动的弯曲影响系数表和链轮轴孔最大直径表 公式化处理 数组赋值法 按数据间有无函数关系分 按数表的维数分 所要检索的数据只与一个变量有关 例如普通V带传动的弯曲影响系数表 一维数表 所要检索的数据与两个变量有关 例如链轮轴孔最大直径表 二维数表 多维数表 所要检索的数据与两个以上的变量有关 例如单根 带许用功率值表 教材57页 数表的分类 几维数表就用几维数组 2 1 1数表的程序化 常数数表程序化的主要内容是数表的输入和简单检索 即将数表的数据存储到数组中 再用循环和判断语句将已知参数和数组的元素值进行比较 找到相对应的数组元素的下标 即可获得正确的查询结果 一维数表用一维数组存储 二维数表用二维数组存储 依次类推 如果常数数表的数据量较大 或需要共享的数表 则用存入数据文件或数据库的方法 例1 计算机处理V带传动的弯曲影响系数表 写成语句如下 用i 0 7代表带型 kb 7 用来存储表中的数值 在程序中 若前面计算已得带型为B 则相应的i 3 弯曲影响系数为kb i 即kb 3 2 65e 3mm 带型 例2 将V带型号及断面尺寸表程序化 检索V型带的C语言程序 includemain inti floata 7 10 0 13 0 17 0 22 0 32 0 38 0 50 0 floath 7 6 0 8 0 10 5 13 5 19 0 23 5 30 0 floata0 7 8 5 11 0 14 0 19 0 27 0 32 0 42 0 floaty0 7 2 1 2 3 4 1 4 8 6 9 8 3 11 0 while 1 scanf 请输入V带型号 0 1 2 3 4 5 6 d elseprintf 您所输入的V带型号不对 请重新输入 说明i表示V带型号 a 7 存储V带的顶宽 h 7 存储V带的断面高 a0 7 存储V带的节宽 y0 7 存储V带的节高 doublesk doublei intn doublesi 5 1 0 1 04 1 19 1 49 2 95 doubleski 5 1 0 1 03 1 08 1 12 1 14 if isi 4 return ski 4 elsefor n 0 n 5 n if i si n 1 Return ski n 例3 对下表所示传动系数表程序化 该表程序化时要先判断 2 1 2数表的文件化 数表文件化即将数据按指定的文件名以一定的格式存放在外存中 需要时 指出文件名 用命令语句将所需的信息从外存中取出 送入内存 供程序使用 若数据用毕 还可将它们送回外存 不再占用内存 适用于数表很大 数据需要共享 以及表中数据可能发生变化的情况 数表文件化处理 可使程序简练 使数表和应用程序分离 实现数表的共享 早期的CAD系统多采用数据文件来存储数据 例 为数表建立数据文件 include defingenum14Structkey gb Floatd1 d2 b h t t1 key Main inti FILE fP If fp fopen key dat w NULL printf can topenthefile Exit For i 0 i num i printf record d d1 d2 b h t t1 i Scanf f f f f f f 将该程序编译 连接 然后运行 逐行输入各记录数据项 便在磁盘上建立了名为 key dat 的数据文件 例 检索数表的程序 include defingenum14Structkey gb Floatd1 d2 b h t t1 key Main inti FILE fP while 1 printf inputtheshaftdiameterd scanf f If fp fopen key dat r NULL printf can topenthefile Exit For i 0 ikey d1 平键和键槽尺寸 V带弯曲影响系数kb kb 0 kb 1 kb 2 kb 3 kb 4 kb 5 kb 6 假设前面设计已选定B型带 则后续程序中将kb 3 编入相应的语句 在程序中 只要给定普通V带型号的代码即数组元素的下标 即可通过数组元素检索到相应的弯曲影响系数 并参与运算 链轮轴孔最大直径dmax表 普通V带传动的包角影响系数表 随机读写与fseek 函数 所谓随机读写是指 读写完当前数据后 可通过调用fseek 函数 将位置指针移动到文件中任何一个地方 1 用法 intfseek 文件指针 位移量 参照点 2 功能 将指定文件的位置指针 从参照点开始 移动指定的字节数 1 参照点 用0 文件头 1 当前位置 和 文件尾 表示 2 位移量 以参照点为起点 向前 当位移量 时 或后 当位移量 时 移动的字节数 在ANSIC标准中 要求位移量为longint型数据 读写数据块函数 fread 和fwrite 函数 一般用于二进制文件的处理 intfread void buffer intsize intcount FILE fp intfwrite void buffer intsize intcount FILE fp fread 从fp所指向文件的当前位置开始 一次读入size个字节 重复count次 并将读入的数据存放到从buffer开始的内存中 同时 将读写位置指针向前移动size count个字节 其中 buffer是存放读入数据的起始地址 即存放何处 fwrite 从buffer开始 一次输出size个字节 重复count次 并将输出的数据存放到fp所指向的文件中 同时 将读写位置指针向前移动size count个字节 文件的打开 fopen 函数 1 用法 FILE fopen 文件名 操作方式 2 功能 返回一个指向指定文件的指针 3 函数原型 stdio h 文件名 是指要打开 或创建 的文件名 如果使用字符数组 或字符指针 则不使用双引号 操作方式 r 为读打开一个文件 w 为写打开一个文件 A 向文件尾添加数据 r w a 为读写打开一个文件 如果不能实现打开指定文件的操作 则fopen 函数返回一个空指针NULL 文件的关闭 fcolse 函数 1 用法 intfclose FILE 文件指针 2 功能 关闭 文件指针 所指向的文件 如果正常关闭了文件 则函数返回值为 否则 返回值为非 例如 fclose fp 关闭fp所指向的文件 例2 计算机处理链轮轴孔最大直径dmax表 写成语句如下 inti j floatdmax 12 8 10 13 16 20 25 28 31 34 11 15 20 24 2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论