C语言程序设计 字符串处理——文件合并排序

题目:字符串处理

        文本文件 num1.txt 和 num2.txt 中各有一组用空格分隔的整数,将 num1.txt
和 num2.txt 联合排序,并将结果保存在 num3.txt 中,例如图1 所示。

 
图 1
举例:
a) num1.txt
b) num2.txt
c) num3.txt

这是大一的一道程序设计题,题目本身并不是很难。

下面是思路:

        1.先读取两个文件,将两个字符串都转化为数字数组
        2.将两个数组合并且排序
        3.将数字数组转化为字符串且写入文件 

根据思路,先写出main函数并声明需要用到的函数

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

//读取文件
void readText(char strNumb[]);
//将字符串转化为数字数组并计数 
int tranToNumb(char strNumb[],int intNumb[]); 
//合并
void toOneArray(int intNumbSum[],int intNumb1[],int intNumb2[],int count1,int count2); 
//排序
void sort(int intNumbSum[],int countSum);
//将数字数组转化为字符串
void tranToString(int intNumbSum[],char strNumbSum[],int countSum);
//写入文件
void writeText(char strNumbSum[]);
 
int main(void){
	//文件字符串与转化后的数字数组 
	char strNumb1[1000]="num1.txt",strNumb2[1000]="num2.txt";
	int intNumb1[100]={0},intNumb2[100]={0};
	//计数
	int count1=0,count2=0; 
	//整合后的数字数组 
	int intNumbSum[200]={0};
	//转化为字符串写入文件 
	char strNumbSum[2000]={0};
	
	//读取文件 
	readText(strNumb1);
	readText(strNumb2);
	//将字符串转化为数字数组并计数 
	count1=tranToNumb(strNumb1,intNumb1);
	count2=tranToNumb(strNumb2,intNumb2);
	//合并
	toOneArray(intNumbSum,intNumb1,intNumb2,count1,count2); 
	//排序
	sort(intNumbSum,count1+count2);
	//将数字数组转化为字符串
	tranToString(intNumbSum,strNumbSum,count1+count2);
	//写入文件
	writeText(strNumbSum);
} 

根据要求写函数内容

1.读取文件

        将文件内容转化为程序中字符串

//读取文件
void readText(char strNumb[]){
	//定义文件指针,只读文件 
	//上面将字符串初始化为了打开的文件名 
	FILE *fp=fopen(strNumb,"r");
	//清空
	memset(strNumb,'\0',sizeof(strNumb));
	//读取文件 
	fgets(strNumb,1000,fp);
} 

2.将字符串转化为整型数组并计算有效数字多少

        这也是这道题唯一较难的点,也可以不使用atoi函数,直接采用(‘字母’-‘0’)的方式也可以转化为数字

//将字符串转化为数字数组并计数 
int tranToNumb(char strNumb[],int intNumb[]){
	int count=0;
	char temp[10]={0};
	int i=0,j=0;
	while(strNumb[i]!=EOF&&strNumb[i]!='\0'&&strNumb[i]!='\n'){//非终止符 
	
		while(strNumb[i]!=' '){//空格前暂存为一个字符串 
			if(strNumb[i]==EOF||strNumb[i]=='\0'){//最后一个数字 
				break;
			}
			temp[j++]=strNumb[i++];
		}
		if(strNumb[i]==' '||strNumb[i]==EOF||strNumb[i]=='\0'){//空格结算一次 
			intNumb[count++]=atoi(temp);//将暂存的字符串用arrayToInt函数转为数字 
			
			//清空,位移到下一位 
			j=0;
			i++;
			memset(temp,'\0',sizeof(temp));
		}
	}
	return count;
}

3.合并

//合并
void toOneArray(int intNumbSum[],int intNumb1[],int intNumb2[],int count1,int count2){
	int i;
	for(i=0;i<count1+count2;i++){//整合 
		if(i<count1){
			intNumbSum[i]=intNumb1[i];
		}
		else{
			intNumbSum[i]=intNumb2[i-count1];
		}
	} 
}

4.排序

        冒泡算法

//排序
void sort(int intNumbSum[],int countSum){
	int i,j;
	int temp=0;
	//引入数字个数,进行冒泡排序 
	for(i=1;i<countSum;i++){
		for(j=0;j<countSum-i;j++){
			if(intNumbSum[j]>intNumbSum[j+1]){
				temp=intNumbSum[j];
				intNumbSum[j]=intNumbSum[j+1];
				intNumbSum[j+1]=temp;
			}
		}
	}
} 

5.将数字数组转化为字符串

//将数字数组转化为字符串
void tranToString(int intNumbSum[],char strNumbSum[],int countSum){
	int i;
	char temp[100]={0};
	for(i=0;i<countSum;i++){ 
		//intToArray(int,char,radix进制)函数,转化为字符串 
		itoa(intNumbSum[i],temp,10);//10进制 
		//将字符串temp接到strNumbSum之后 
		strcat(strNumbSum,temp);
		strcat(strNumbSum," ");
	}
} 
 

6.写入文件

//写入文件
void writeText(char strNumbSum[]){
	//定义文件指针,只写文件 
	FILE *fp=fopen("num3.txt","w");
	//写入文件 
	fputs(strNumbSum,fp);
} 

运行效果:

运行后: 

 

 


总结与思考:

        这是在暑假期间重新写的,原先在学校写的交上去的作业,有的函数甚至超过了70行,重复代码太多,比如写了两个函数来打开文件,而且还有一些类似于定义了count[1]这种一个单位的数组。

        更改后减少了至少一半的代码,但我在写的过程中,似乎想到了更为简单的方法,因为字符串的拼接更为简单——只需要一个strcat函数,是否可以先让两个字符串拼接,然后再转化为整型数组进行排序,这个改动应该不是很难。

        还有没有什么更简单的方法呢?

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
第1篇 Excel基本功能 • 冻结窗格 • 名称框定位 • 区域名称显示 • 多表区域设置格式 • 自动填充功能 • 数据的格式化 • 设置数字格式 • 数据类型转换 • 自定义数字格式 • 数据的填充复制 • 数据的查找替换 • 格式查找替换 • 数据中含通配符的查找 • 表格边框设置立体效果 • 如何在Excel自动扩展格式 • 如何在Excel自动套用格式 • 自定义工具栏 • 非连续区域集中打印 • 设置打印标题 第2篇 使用公式和函数 • 使用简单公式计算产品销售利润 • 使用相对和绝对引用计算产品销售额与利润 • 多表区域引用 • 利用混合引用制作九九乘法表 • INDEX函数和SUMIF函数特殊情况下的易失性 • Excel公式结果的检验和验证 • 创建Excel动态名称来实现采购数据的动态引用 • 成绩检索表-Excel名称代替引用 • Excel图表中使用名称 • 相对引用和混合引用定义名称 • 借用“列表”定义动态名称 • Excel工作表复制的名称问题 • 利用文本比较标识首次出现的记录 • 更改数据字母大小写 • 利用MID 函数提取身份证号码中的8 位生日数字 • 使用文本提取函数进行数字分列 • 使用查找函数拆分空格分隔的数据 • 实现EAN-13条码的校验位的算法 • 利用文本查找函数进行模糊查找 • 利用SEARCHB 函数分离全半角字符 • 利用FIND 函数提取连续数字 • 统计开奖号码中不重复数字个数 • 取得零件规格中的最后序号 • 利用TEXT函数格式化设备编号 • 从身份证号码中提取员工的生日信息 • 使用TEXT 函数显示中文格式的年份 • 将数值转换为商业发票中的中文大写金额 • 生成中文大写金额 • 利用CELL 函数取得动态工作表标签名称 • 利用MOD 函数生成数字校验码 • 利用MOD 函数实现培训反馈表中票数求和 • 利用取舍函数生成重复个数的自然数序列 • 按照特定条件进行取舍计算 • 利用取舍函数解决四舍六入问题 • 产生50~100 的随机整数 • 利用随机函数仅生成数字和字母 • 利用随机函数实现考试座位随机编排 • 日计帐中的余额累计 • 计扣个人所得税 • 统计月末考试中大于等于平均分的总分 • 利用CHAR 函数生成A~Z 序列 • 利用DATE 函数生成指定日期 • 利用运算符计算日期相差天数 • 利用日期函数计算公民年龄 • 利用日期函数计算员工退休日期 • 计算上月的天数 • 计算目标日期所在季度的最后一天 • 返回目标日期是全年中的第几天 • 判断是否为闰年 • DATEDIF函数基本用法 • 利用日期函数计算员工工龄 • 计算指定日期的星期值 • 计算上月月末日期的星期 • 指定某月的第几周的天数 • 推算出指定年份的母亲节和父亲节日期 • 计算上个月的考勤天数 • 计算基金赎回入账日期 • 加班时间的累加 • 计算车间工人工时 • 员工加班时间的舍入计算 • 使用VLOOKUP 函数进行员工信息查询 • 利用HLOOKUP 函数查询产品月销售量 • 查找某员工是否登记在员工信息表中 • 判断员工公积金是否重复提缴 • 查询申购基金的申购手续费 • 从成绩明细表中查询学员总成绩 • 利用LOOKUP 函数实现无序查询 • 取得最后非空单元格数值 • 利用行列号函数生成永恒的序号 • 查询员工信息表中所有人事信息 • 利用INDIRECT函数动态统计产品销量 • 利用OFFSET函数产生区域引用 • 利用INDEX函数隔行提取数据 • 多条件组合查询资料 • 利用INDEX函数结合MATCH函数进行向左查找 • 实现根据学员成绩查询等级 • 确定工资单中最后一名员工的位置 • 根据工资表生成工资条 • 利用CHOOSE函数重新生成内存数组 • 利用查找函数进行多表数据标识 • 实现多区域联合判断求值 • VLOOKUP函数实现向左查询 • 从生产配件编号中提取连续的数字编码 • 利用MATCH 函数提取连续数值 • 查询并汇总各产品销售额 • 利用MATCH函数汇总最后3 天的产品销售额 • 利用RANK函数实现按班级进行动态排名 • 利用COUNT函数统计培训反馈表中的平均票数 • 动态引用商品进货明细表 • 统计培训课程表中各部门的授课数 • 统计进货量大于5小于10的型号数量 • 标注各种水果第1次出售日期 • 查询重复输入员工身份证 • COUNTIF函数使用通配符统计示例 • 汇总指定公司的产品季度销量 • 统计二季度手机销量情况 • 利用SUMIF 函数实现多表汇总 • 按区间统计数值个数 • 学员英语成绩分段统计人数 • 计算比赛评分表中频率最高的分值 • 利用极值函数限定销售价格 • 取得不重复的第2 个最低报价 • 统计各科成绩大于等于平均分的总平均分 • 计算体操比赛的选手得分 • 统计年度培训完成情况表 • 在筛选条件下生成连续序号 • 按学员成绩进行排名 • 根据比赛成绩实现中国式排名 • 根据学员成绩的百分比占比划分等级 • 统计购买商品的不重复VIP 用户数 • 商品月度销量统计汇总 • 统计足彩数据中最多连胜场数 • 单利与复利的比较 • 终值系数和现值系数 • 普通年金终值和现值的计算过程 • 预付年金终值和现值的计算过程 • 递延年金终值和现值的计算过程 • 年金终值系数表和年金现值系数表 • 名义利率与实际利率 • 整存整取 • 零存整取(一) • 零存整取(二) • 房屋的价值(一) • 房屋的价值(二) • 买卖房屋的利润率 • 投资经营房屋的利润率 • 多久才能拥有100万(一) • 多久才能拥有100万(二) • 孩子上大学的学费(一) • 孩子上大学的学费(二) • 孩子上大学的学费(三) • 利用Excel财务函数计算住房按揭还款计划 • 相同间隔时间序列的现金流量净现值 • 相同间隔时间序列的现金流量内部收益率 • 不规则时间序列和现金流量的净现值与内部收益率 • 考虑融资成本和再投资收益的内部收益率 • 直线折旧法 • 年限总和折旧法 • 固定余额递减折旧法 • 双倍余额递减折旧法 • 可变余额递减法的累计折旧 • 累计到第2年第3 季度中期的累计折旧 • CONVERT函数的应用 • 使用CONVERT函数应注意正确书写 • 多单元格数组公式计算销售金额 • 单个单元格数组公式计算销售总额 • 两个一维数组的乘法运算 • 两个一维数组的连接运算 • 使用两个一维数组构造二维数组 • 部门评价等级转换 • 使用MMULT 函数计算产品结构指数 • 产生1-10 的自然数垂直序列和水平序列 • 等比例构造一维循环数组 • SUMIF函数对产品产量进行逐行汇总 • 利用MMULT函数实现数组累加 • 将销售明细表中合并单元格填充地区名称 • 将二维数组按列转换为一维数组 • 数组公式实现单条件求和 • 计算一周中内存采购的平均价格 • 统计各品牌的商品销量汇总 • 利用COUNT函数代替SUM 函数统计不重复记录 • 标识零件规格号中的非法数据 • 将中文大写日期转换成日期序列 • 实现按日期和客户名查询数据 • 按条件实现总表拆分到分表 • 按比赛成绩进行降序排列 • 对员工信息表中员工姓名排序 • 从培训课程安排表中提取讲师部门 • 从商品明细表中提取唯一品牌名称 • 根据商品和品牌确定唯一品牌名称 • 多维引用示例的数据来源 • 利用INDIRECT函数返回对多表区域的引用 • 求金额最大的费用项目 • 提取无重复的水果清单 • 计算按原始股折算的某股票最高价格 • 计算用餐记录分摊实例 • 计算最好成绩和的最优成绩实例 • 跨多表条件求和 • 宏表函数取得工作表标签名称 • 标识商品销售表中红色字体的记录 • 按照商品采购表中的数值格式显示查询结果 • 提取指定单元格的公式表达式 • 根据立方体指定参数计算公式结果 • 提取固定字符间隔的零件规格号 第3篇 创建图表和图形 • 图表种类 • 柱形图 • 条形图 • 折线图 • 饼图 • XY散点图 • 面积图 • 圆环图 • 雷达图 • 曲面图 • 气泡图 • 股价图 • 圆柱图、圆柱图和棱锥图 • 自定义图表类型 • 线-柱图 • 两轴折线图 • 对数图 • 组合图 • 创建自定义图表 • 添加误差线 • 设置轴格式 • 分类坐标轴标签 • 空单元格的绘制方式 • 设置单个数据点格式 • 设置透明色 • 多工作表数据作图 • 添加趋势线 • 设置三维图表 • 数字条件格式 • 设置坐标轴的交点 • 使用次坐标轴 • 图表上的文本框 • 图表的组合 • Microsoft Graph图表 • 图表转为图片 • 设置自动筛选 • 添加辅助行 • 定义名称 • 数据透视图 • 使用Excel VBA • 添加水平线 • 添加垂直线 • 复合饼图 • 等高线图 • 直方图 • 排列图 • 控制图 • 动态对比图 • 动态股票图 • XY散点折线图的内插值计算 • 自选图形种类 • 插入自选图形 • 添加文本 • 自选图形绘制线条和连接符 • 旋转和翻转 • 对齐和分布 • 自动靠齐 • 设置叠放次序 • 设置组合 • 设置阴影 • 设置三维效果 • 设置超链接 • 制作室内平面图 • Excel图形 • Excel工作表背景 • 插入图片到Excel工作表 • 图片的调整 • 裁剪图片 • 旋转图片 • 设置图片的透明色 • 插入动态图片 • 制作组织结构图 • 流程图 • 循环图 • 射线图 • 棱锥图 • 维恩图 • 目标图 • 创建艺术字 • 插入剪贴画 第4篇 使用Excel进行数据分析 • 数据列表的实例 • 使用记录单为数据列表命名动态名称 • 数据列表按行排序 • 含有公式的数据排序 • 简单排序的例子 • 自定义排序 • “关系或”条件的高级筛选 • “关系与”条件的高级筛选 • 利用高级筛选选择不重复的记录 • 三个“关系或”条件的高级筛选 • 使用计算条件的Excel高级筛选 • 同时使用“关系与”和“关系或”的Excel高级筛选 • 创建分类汇总 • 列表 • Excel分列功能 • 使用“导入外部数据”功能导入标准工时数据 • Microsoft Query检索数据源 • 销售数据清单 • 定义名称创建动态数据透视表 • 分页显示数据透视表 • 使用数据列表功能创建动态数据透视表 • 按日期或时间项组合 • 按数字项组合 • 指定项组合 • 创建计算字段 • 添加下计算项 • 获取Excel数据透视表数据 • 创建复合范围的Excel数据透视表 • 数据透视图 • 模拟运算表 • 单变量求解 • 规划求解 • 分析工具库 第5篇 使用Excel的高级功能 • 设置单元格数值条件 • 设置公式条件 • 复制删除条件格式 • 应用示例 • 优先顺序 • Excel数据有效性允许的条件 • 定位复制删除Excel数据有效性 • 数据有效性的高级应用 • 数据有效性的高级应用_多表不重复输入 • 分级显示 • 合并计算 第6篇 使用Excel进行协同 • Excel单元格引用建立链接统计奖金总额 • 超链接实例 • 创建Excel动态超链接 • 发布(不)具有交互性的网页_Excel的交互性 • 创建Web查询 • Excel和ASP • Excel与XML数据 • Excel与其他应用程序共享数据 • 使用Excel工作组 第7篇 Excel自动化 • 录制宏 • VBA语言基础 • 与Excel进行交互 • Excel的自定义函数 • 如何操作Excel工作簿、工作表和单元格 • 工作表的Change事件 • 工作表中高亮显示行和列 • 文件保存提醒 • 关闭工作簿是恢复Excel默认设置 • 设置Excel工作簿打开时的界面 • VBA事件激活的顺序 • VBA事件的激活与禁止 • 插入命令按钮 • 使用命令按钮设置单元格格式 • 使用复选框控件制作多选调查问卷 • 使用选项按钮控件制作单项调查问卷 • 使用组合框控件制作调查问卷 • 使用文本框控件快速录入三位数字 • Excel工作簿中插入用户窗体 • 在用户窗体中插入控件 • 为窗体控件添加事件代码 • 用户窗体的QueryClose事件和Terminate事件
25312 提高了面板的打开速度,例如“属性”和“视图配置”面板。 26036 修改了引脚映射器中的数据列排序,以匹配网络名称和引脚编号顺序。 26554 修复了按组件容差排序后,Explorer面板中显示错误组件参数的问题。 26927 改进了滚动条的UI动作(在面板,网格,对话框中),使它们更易于使用。 27405 修复了访问多维数组时出现“变量或安全数组索引超出范围”错误消​​息的问题。 27113 修复了在删除VCS Provider-GIT服务时尝试检出时引发异常的问题(BC:9551)。 27906 修复了以下问题:“属性”面板中的修改字段值(在SCHDOC或SCHLIB上编辑对象时),如果当前所选项目已更改为另一个项目,或取消选择(BC:9641)。 27975 改善了多板装配中板组件和外部零件之间的移动和锁定行为。 28216 修复了.PrjPCB文件中克隆变体复制UniqueID导致具有相同足迹的备用零件的无限ECO循环参数的错误。 28304 更新登录下拉菜单UI以提供所有可用的托管内容服务器。 28482 减少和优化系统注册表的查询数量(BC:9106)。 28582 更新了“打开项目”对话框,从文件浏览器到对话框,以访问所有项目源,包括托管项目。 28907 添加了新的“创建项目”对话框,简化了项目目标位置和应用模板的选择。 29828 修复了导致对关联服务器进行多次重新连接尝试的无效会话ID错误。 29880 名称Design Workspace已更改为Project Group,以避免与新的云工作区混淆。已保存的项目组保留了* .DsnWrk文件扩展名。 数据管理 21617 修改了ActiveBOM中的“过滤器编辑器”对话框UI。 22430 添加了在组件编辑器,资源管理器和ActiveBOM中为托管组件设置制造商零件选择排名的功能。 22653 将供应商部件号和制造商部件号的检索更改为批处理模式,以防止与BOM报告,SchLib编辑器和带有活动物料清单的OutJob中的顺序单个数据请求相关的延迟。 22982 修复了“数据管理 - 首选项的服务器”页面中的问题,该页面在未进行任何更改时标记为已修改。 23120 恢复了“发布文档到”功能,以便从Explorer面板发布已发布的文档。 23348 在BOM报告中实施BOM文档过滤器选项。 23824 导入排名功能现在支持手动解决方案。将组件的手动解决方案从一个项目BOM导入另一个项目。 23999 修复了项目属性的变化未传递到BOM输出的问题(BC:9580 ; 7072)。 24029 向云组件数据添加了新的“供应商包装”参数,以区分制造商的“包装”参数(BC:8063 ; BC:8986)。 24443 解决了BOM过滤选项在设计项数量增加或减少后发生变化的问题(BC:5572)。 24619 在BOM报告和BOM集中引入了对ActiveBOM过滤器选项的支持。 24832 修复了在“首选项”中更改“部件提供者”位置时,BOM文档中的“部件供应商”未动态更新的问题。 24844 添加了在ActiveBOM中直接更改组件源(设计项)的功能,如在项目管理器中。 24876 为ActiveBOM解决方案添加了新的创建/编辑制造商链接功能(BC:9437)。 25271 添加了在未安装MS Office时以xls / xlsx格式导出BOM的功能(BC:4646)。 25441 修复了PCB 3D打印输出的打印预览为空白的问题。 25760 使用ActiveBOM文档时,粘贴功能已得到改进,并且至少选择了一个目标单元格。 25801 修复了无法在“存储”面板(BC:8643)中成功重命名设计文件的问题。 26014 修复了SVN连接错误问题,其中在重新启动软件后无法提交创建的SVN v1.9文件存储库。 26111 解决了当PC屏幕缩放设置为125%时,“项目发布选项”对话框中无法显示大量列出的OutJobs的问题。 26133 在Explorer面板中搜索受管组件时,“Resistor”部件类型的已还原过滤器选项。 26267 已解决BOM报告中指定参数类型优先级的问题。 26496 尝试从单组件编辑器编辑特定组件占用空间时出现已解决的异常错误。 26699 已解决的问题,其中Vault 3.0中的现有部件请求未显示在“资源管理器”面板中。 26967 解决了Project Releaser的问题,如果任何参数之间的唯一区别是存在特殊字符(_,&,\等),则发布会产生“相同的密钥”错误。 27026 修复了组件的符号和占用空间之间的区分大小写的问题。将组件释放到服务器时,引脚名称会导致多个错误。 27048 将供应商包装数据添加到制造商零件搜索UI作为详细信息部分中的参数条目(BC:8986 ; BC:8063)。 27064 已解决的问题,如果在组件值参数中使用了希腊字符,则BomDoc行号为空。 27268 修复了“属性”面板中的错误,该错误导致NEXUS Server托管组件的“无法在可用库中找到组件”错误,该组件也损坏了引用。 27404 修复了从服务器更新组件数据时由于过多的数据请求导致的ActiveBOM延迟问题。 27535 修复了BOM报表中组件的供应商链接顺序与该组件的供应商链接参数的实际顺序(BC:9691)不匹配的问题。 27714 修复了BOM报告问题,其中“包含服务器参数”功能将不同的供应商返回到组件“属性”中指定的供应商。 27959 修复了目标SVNDbLib缓存文件夹路径缺少导致SVN进程失败的'\'字符的回归。 28081 修复了在准备数据期间发生的项目发布器中的“在000000010DA15E92处发生了一个或多个错误”的错误。 28291 BOM报告首选项中添加了“在消息面板中报告BOM违规”选项。 28443 将“带有ActiveBOM文档的BOM检查”项添加到“验证输出”菜单中。 28448 “缓存文件夹”选项已添加到“首选项”对话框的“数据管理 - SVN库”页面(BC:1195)。 29089 Altium Infrastructure Server Packager现在可以正确使用部署包的更新首选项。 29090 安装期间不再需要Altium Infrastructure Server部署包(BC:8488)。 29809 固定组件面板错误,在执行基于文件的库搜索后无法重新打开所选组件类别。 进口商/出口商 17619 修复了导致P-CAD导入导出错误和PCAD16LD.DLL访问冲突的错误。 24746 修复了导入xDxDesigner项目时未正确转换总线的问题。 25221 更新了xDxDesigner导入器,改进了层和连接的解释以及Net Labels的对齐。 25427 DXF导入现在可以正确支持样条线对象并创建相应的多边形对象。 25959 解决了导入xDX Designer项目时未转换某些组件的问题。 27588 修复了在使用多部件组件导入特定xDxDesigner设计期间发生“访问冲突”的问题。 28014 修复了远征导入器中的一个错误,其中仅为特定项目导入了顶层和底层。 28735 P-CAD Importer现在可以正确导入连接和端口(BC:9577)。 29014 改进的Eagle进口商,包括许多修复; 分层块,板轮廓,图层分配和对象形状。 28067 在字符串对象中使用多行文本时,生成IPC-2581输出不再导致访问冲突(BC:10407)。 30293 添加了新扩展 - Ansys EDB Exporter。安装后,使用File> Export> Ansys EDB在PCB Editor中访问。 起草者 15059 添加了新的Board Region View对象,以显示Draftsman文档中的板堆叠区域。 16063 在Draftsman自定义表(BC:7698)中添加了对特殊字符串的支持。 18439 向Draftsman添加了板3D逼真3D视图对象(BC:6991)。 18441 添加了绑定到圆弧和圆弧中心的Draftsman Center Mark对象(BC:9029)。 18756 修复了刚度Flex设计在等轴测视图和具有真几何的Board装配视图中显示不正确的问题。 22669 改进了Dimension对象点的捕捉行为。 24616 修复了(特定用户的设计)导出到PDF (BC:9184)后出现“绘图员文档已过期”的冗余警告消息的问题。 25766 添加了在Draftsman Board Assembly和Fabrication视图中选择显示的图层叠加层的功能。(BC:6910 ; BC:7716)。 25779 在Draftsman中添加了新的传输线结构表对象,该对象填充了来自层堆栈管理器的阻抗计算数据。 25784 添加了绘图符号对象,用于表示焊接和粘合点。 25785 改进了在Draftsman中添加文本的过程,只需单击鼠标即可在默认文本框中添加默认文本。 25786 为Draftsman添加了新类型的Sheet Number参数,允许GOST兼容的纸张编号。 26114 修复了移动或调整大小的Draftsman图形对象可以折叠为单行的问题(BC:9471)。 26164 修复了由PCB库更新引起的PCB中3D体位置的变化未更新到Draftsman中的电路板视图的问题。 26266 修复了在单击表格单元格时,Space Navigator无法放大Draftsman文档的问题。 26443 修复了一个问题,即在重命名相关的PCB文档后,Draftsman会崩溃。 26542 修复了回归,其中未选择丝网印刷图形的组件的装配视图中缺少阴影线(BC:9416)。 26867 修复了回归,其中没有显示缺少3D体的Not Fitted组件的阴影线。 26934 解决了从OutJob生成PDF输出时性能下降的问题。 27359 修复了在特定用户设计的装配视图中显示某些未装配的组件的错误(BC:9416)。 27601 修复因PCB上的重复指示符导致长时间挂起的错误(BC:9203 ; BC:9632)。 27694 添加了在放置后移动Draftsman Callouts和Dimensions的起点(目标)点的能力(BC:7740)。 27699 修复了重新打开文档时,绘图员图层堆栈图例中的填充图案将恢复为其默认设置的问题(BC:9756)。 27854 修复了Draftsman bug,其中Variants未应用于输出作业生成的等轴测视图。 28416 在3D模型存在潜在错误的情况下(BC:9944)改进了Draftsman Assembly View的显示。 28803 径向尺寸现在可以在Draftsman中正确复制/粘贴(BC:9969)。 29424 修复了使用自定义视图选项时Draftsman Realistic View和Outjob PCB 3D Print的3D相机捕捉定位不一致的问题。 29443 修复了在PCB编辑器(BC:9857)中工作时自动保存备份崩溃绘图员的问题。 29463 添加了Draftsman支持,以在Board Assembly View中显示Flex区域拓扑。 30087 Draftsman的“更新板”命令已更改为“从[PCB文档]导入更改”以更好地描述其功能。 多板 21572 修复了Space Navigator中MbaDoc中3D运动与PcbDoc不一致的问题。 23734 修复了拆分Multi-Board Schematic的信号Entry (BC:9406)时“输入字符串格式不正确”的错误。 24498 修复了在尝试拆分多板原理图模块条目(BC:9406)时抛出“输入字符串格式不正确”错误的问题。 28431 在多板设计中增加了对3D鼠标的支持 - 缩放/平移/旋转。 28432 添加了对以STEP和Parasolid X_T格式导出多板装配的支持。 28433 多板组件现在支持并显示刚挠结构设计的最终折叠状态。 概要 23846 修复了“属性”面板“参数”列表(BC:9153)中无法使用剪切/复制/粘贴的问题。 24226 修复了在“属性”面板中按“更新” (BC:9637)时未更新原理图库组件的名称/ URL链接(除非使用“输入”或“焦点更改” )的问题。 25412 修复了使用暂停的交互式进程关闭原理图文档时发生的“地址访问冲突”错误。 25459 在对具有大量供应商链接的原理图库进行参数更改后执行ECO时,解决了非常慢的响应。 25864 修复了Port对象的“属性”面板中的“名称”字段未提供所有现有端口名称的下拉列表的问题。 27672 修复了原理图文本框架对象的问题,当通过“属性”面板进行编辑时,从外部编辑器粘贴文本时,选项卡将替换为空格(BC:9663)。 27900 修复了在编译后将组件放置在原理图表上变得缓慢的问题。 28442 现在,使用“属性”面板同时编辑多个原理图中的多个对象,可以正确地将所有工作表标记为已修改(BC:9236)。 28446 在原理图首选项(默认值)(BC:10072)中启用“覆盖库原语”选项时,不再覆盖原理图组件(指示符或注释)值。 28539 “属性”面板的“组件”模式现在在“参数”选项卡上包含“规则”部分,允许在原理图上指定组件类型设计规则(BC:9445 ; BC:8903)。 28565 现在,当使用Altium Light Grey UI主题时,参数表编辑器会正确显示所有数据(BC:9931)。 28716 恢复了通过其属性添加和编辑与原理图组件或文档关联的设计规则的功能。在“属性”面板的“参数”选项卡下的“规则”部分中访问。 PCB 16383 修复了导致基于嵌入式主板的ODB ++输出失败的错误。 24425 Gloss和Retrace现在能够对联合对象进行操作。 24595 对路由友好的移动组件功能进行了各种增强,包括更好地支持何时:组件被扇出; 它的引脚布线; 目标区域有路线(BC:1048 ; BC:2866)。 24805 继续开发交互式路由器跟随模式,修复各种错误和行为。 25517 添加了HDI - microvia(uVia)支持。 25634 解决了在某些视角下半透明自由3D体不能看到捕捉点和测量线的问题。 25666 当无法在信号完整性的“模型分配”对话框中更改“值/类型”列值时,修复了回归。 25671 解决了交互式差分对长度调整命令不遵守设置为匹配路由差分对的目标长度的问题。 25724 修复了交互式多路径过程中的回归,其中未通过“属性”面板应用总线间距的更改。 25809 单击选项卡时,图层选项卡不再自动滚动。只要最左侧的选项卡不是第一个可见选项卡(BC:9927),就会发生这种情况。 25853 现在,使用From Diff时,“目标长度”值在“属性”面板中正确排序。对设置。 25951 添加首选项选项以在移动组件功能后启用/禁用重新连接。 25975 修复了在特定电路板设计中启动交互式路由器时存在很长延迟的问题。 25982 为焊盘和过孔添加并集成了新的热释放选项。 26034 修复了“PCB列表”面板“智能编辑”功能中的错误,其中“批量替换”功能无效。 26128 增加了定义,使用和输出无限数量机械层的功能(BC:8976)。 26144 修复了在删除上一组时选择图层集时在“视图配置”面板中出现的“被销毁后访问的对象”错误消息。 26361 解决了IPC Compliant Footprint Wizard中的回归问题,当未选择Full Matrix时,无法更改(或插入)LGA,BGA包布局选项的任何参数。 26459 修复了“属性”面板中的“网络类别”排序,以匹配软件其他区域中使用的网络排序,例如PCB面板。 26610 更新了图层堆栈管理器,其中包含用于堆栈定义,uVia支持,材料库,阻抗计算器等的新文档界面和UI增强功能。 26862 解决了CAMtastic问题,其中设计规则值被错误地舍入到一个小数位。 26953 修复了在PCB库编辑器(BC:9535)中错误地提供定义新组件层对的能力的问题。 26970 解决了Extract 3D Models功能无法从源PCB库(BC:9418)创建3D模型文件输出的问题。 27000 修复了特殊字符串中的项目参数未响应参数值的更改而更新的问题。 27451 修复了使用嵌入式板阵列创建的PCB面板错误地将板轮廓(“轮廓”)层输出到ODB ++的问题。 27575 修复了DRC标记反钻停止层的最小环形环违规时的问题。 27661 添加了在交互式路由期间从Ctrl + L热键打开的下拉菜单中直接选择首选图层的功能。 27662 添加了在交互式路由期间使用数字键盘键选择所需图层的功能。 27666 添加了“显示图层编号”选项以在PCB编辑器图层选项卡中启用图层编号。 27673 修复了在多边形浇筑上粘贴自由垫或通道时不接受该多边形的网络设置的问题,导致短路和间隙违规(BC:9229)。 27689 添加了交互式路由逻辑,以防止子通道在推送和拥抱过程中与其堆叠的通路设置轴分离。 27708 修复了在特定项目中打开PCB文档后未出现反钻的问题。 27771 在Interactive Routing Properties面板中添加了完全标记的Via侧视图。 27871 为独立区域实现了Arc Approximation属性。此属性可用于“属性”面板,“PCB列表”面板和“FSO”对话框中的选定区域。 28086 修复了在特定电路板设计中针对阴影多边形报告错误的未路由网络违规的问题。 28114 修复了通过Make PCB Library功能(BC:9847)将第17-32层上的某些对象(如Line和Arc)转换为第16层的错误。 28174 为“垫”和“过孔”的“属性”面板添加了“热释放”连接样式选项,这些选项将覆盖PolygonConnect规则中定义的样式。 28188 现在,Gerber-X2 Exporter在使用arcs \ curves (BC:9868)时可以正确生成Profile层。 28275 现在可以在放置可以连接到多个网络的PCB对象时正确处理网络继承,将显示一个列出所有可能网络的选择窗口。 28427 添加了在PCB库中放置尺寸的功能,这些功能未出现在PCB布局中(BC:903)。 28428 添加了从选定的轨迹,弧线和实体区域创建3D实体的功能。使用工具>转换>从所选基元创建3D体(BC:1868)。 28441 按下L快捷键将移动组件翻转到电路板的另一侧不再导致显示不正确的焊盘违规(BC:5427)。 29176 在交互式路由的层转换期间,6快捷键可用于通过选项循环可用。现在包括所有可能的通道组合,例如uVia + blind via。 29179 增加了在3D模式下在叠加层上移动字符串的可能性(BC:584)。 29262 修复了PCB 3D体点中的回归,其中使用“位置3D体”工具时无法选择添加的自定义捕捉点。 29269 在使用移除未使用的垫形状工具移除未使用的垫/通孔环(BC:4701)后,DRC不再错误地检测到最小环形环错误。 29698 解决了组件错误启用“翻转图层”设置的突出情况,包括:在移动然后执行撤消时翻转组件; 使用当前图层上的粘贴功能(Alt + Ins或选择性粘贴)在粘贴时交换图层; 或者从启用了该设置的旧版本导入首选项(BC:9238 ; BC:10235)。 29727 修复了无法将特殊字符粘贴到文本字符串的Text属性框中的回归(BC:10221)。 29778 解决了使用RMB多次拖动视图后PCB编辑器性能下降的问题。 29786 “PCB规则和违规”面板中的缩放行为得到了改进 - 现在缩放到违规细节而不是违规对象(BC:7987)。 29887 解决了3D模型中的透明对象在3D命令期间变得可见的问题,例如从3D主体创建,与板对齐面或测量3D对象(BC:8699)。 29932 添加了新的查询关键字:IsBlindVia,IsBuriedVia,IsMicroVia和IsThruVia。 30270 修复了在3D模式下拖动PCB组件指示符时突出显示不起作用的问题。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值