Visual C++基本输入输出与语言结构教程

版权申诉
0 下载量 191 浏览量 更新于2024-12-14 收藏 16.73MB RAR 举报
资源摘要信息:"Visual C++ 基础教程" 在IT行业,Visual C++ 是一个广泛使用的集成开发环境(IDE),由微软公司推出。它主要用于C++语言的开发工作,是学习和开发C++程序的重要工具。C++作为一种高级编程语言,以其面向对象的特性和强大的功能,在系统软件、游戏开发、实时物理模拟等领域拥有不可替代的地位。 本压缩包中的内容围绕着C++基本输入输出语句和语言形式排列的知识点进行展开。具体知识点包括: 1. C++基本输入输出语句 C++提供了一套丰富的输入输出库,称为iostream,它定义了几种用于输入输出的标准对象,如cin(标准输入流)、cout(标准输出流)、cerr(标准错误流)和clog(用于日志信息的输出流)。通过这些对象可以实现数据的输入和输出操作,是进行程序交互的基础。 - cin:通常用于从标准输入(键盘)读取数据。 - cout:通常用于向标准输出(屏幕)打印数据。 - cerr和clog:用于输出错误信息,cerr是无缓冲的输出流,而clog则有缓冲。 在使用这些对象进行输入输出时,常常配合使用操作符重载、格式化控制和流状态操作。 2. 语言的形式排列 C++语言的形式排列指的是代码的书写规范和格式,它包括代码的缩进、空格、换行、注释以及命名规范等。良好的代码排列可以提升代码的可读性和可维护性。 - 缩进:通常推荐使用空格或Tab键对代码进行适当的缩进,以区分代码块和语句层次。 - 空格:在操作符和操作数之间、逗号后、分号前添加空格,使代码更加清晰。 - 换行:合理地使用换行,可以让复杂的表达式或代码结构更易于理解。 - 注释:C++支持两种类型的注释:单行注释(//)和多行注释(/* ... */)。注释用于解释代码的目的和功能。 - 命名规范:变量名、函数名、类名等应具有一定的意义,以反映其用途和功能。 压缩包中的文件名称列表分别表示四篇不同的文档,它们可能是按照一定顺序排列的教程篇章。例如,文件列表按顺序可能是:“第一篇.pdf”介绍C++基础语法;“第二篇.pdf”讲解了C++中的控制结构,如条件语句和循环;“第三篇.pdf”可能涉及函数的使用和定义;而“第四篇.pdf”则可能深入探讨C++的面向对象编程特性,例如类和对象、继承和多态等。这样逐篇深入的教材结构可以帮助学习者逐步建立扎实的C++编程基础。 通过认真学习Visual C++的相关教程,可以帮助开发者掌握C++编程语言的核心概念,并有效地运用到实际软件开发中去。这对于成为合格的软件工程师是非常重要的一步。

import FreeCAD import FreeCADGui from PySide import QtGui, QtCore Gui.activateWorkbench("PartWorkbench") FreeCAD.newDocument() class SphereDialog(QtGui.QDialog): def __init__(self): super().__init__() self.setWindowTitle("Create Sphere") self.create_widgets() def create_widgets(self): layout = QtGui.QVBoxLayout() # Radius widget radius_label = QtGui.QLabel("Radius:") self.radius_spinbox = QtGui.QDoubleSpinBox() self.radius_spinbox.setMinimum(0.1) self.radius_spinbox.setMaximum(1000.0) self.radius_spinbox.setValue(10.0) layout.addWidget(radius_label) layout.addWidget(self.radius_spinbox) # Opacity widget opacity_label = QtGui.QLabel("Opacity:") self.opacity_slider = QtGui.QSlider(QtCore.Qt.Horizontal) self.opacity_slider.setMinimum(0) self.opacity_slider.setMaximum(100) self.opacity_slider.setValue(50) layout.addWidget(opacity_label) layout.addWidget(self.opacity_slider) # Create button create_button = QtGui.QPushButton("Create") create_button.clicked.connect(self.create_sphere) layout.addWidget(create_button) self.setLayout(layout) def create_sphere(self): # Get sphere parameters radius = self.radius_spinbox.value() opacity = float(self.opacity_slider.value() / 100) # Create sphere sphere = FreeCAD.ActiveDocument.addObject("Part::Sphere", "Sphere") sphere.Radius = radius sphere.ViewObject.Transparency = int(round(opacity * 100)) # Show in 3D view sphere.ViewObject.Visibility = True FreeCADGui.SendMsgToActiveView("ViewFit") FreeCADGui.Selection.clearSelection() FreeCADGui.Selection.addSelection(sphere) FreeCADGui.SendMsgToActiveView("ViewFit") # Close dialog self.close() dialog = SphereDialog() dialog.show()代码中执行没有球体出现,请修改代码

2023-05-30 上传

为什么下面的sql语句会输出重复的结果:SELECT tp.parent_production_orders AS parent_production_orders, tp.production_orders AS production_orders, tp.work_order AS work_order, tp.contract AS contract, tp.sbbh AS sbbh, tp.batch_num AS batch_num, tp.product_code AS product_code, tp.product_number AS product_number, tp.product_name AS product_name, to_char( middle.create_date, 'yyyy-mm-dd' ) AS issued_date, to_char( to_timestamp( tp.delivery_time / 1000 ), 'yyyy-mm-dd' ) AS delivery_time, middle.line_code AS work_area_code, middle.line_name AS work_area_name, tp.workorder_number AS workorder_number, tp.complete_number AS complete_number, tp.part_unit AS part_unit, middle.work_time_type AS work_time_type, middle.process_time AS process_time, CASE WHEN sc.totalSubmitHours IS NULL THEN 0 ELSE sc.totalSubmitHours END AS submit_work_hours, CASE WHEN middle.process_time > 0 AND sc.totalSubmitHours IS NOT NULL THEN round( ( sc.totalSubmitHours / middle.process_time ), 2 ) * 100 ELSE 0 END plan_achievement_rate, CASE WHEN sc.totalSubmitHours IS NULL THEN 0 ELSE round( CAST ( sc.totalSubmitHours AS NUMERIC ) / CAST ( 60 AS NUMERIC ), 1 ) END AS submit_work_hours_h, round( CAST ( middle.process_time AS NUMERIC ) / CAST ( 60 AS NUMERIC ), 1 ) AS process_time_h, pinfo.material_channel AS material_channel FROM hm_model_work_order_report_middle middle LEFT JOIN hm_model_trc_plan tp ON middle.work_order = tp.work_order LEFT JOIN ( SELECT oro.work_order AS orderNo, oro.work_area_code AS lineCode, SUM ( submit_work_hours ) AS totalSubmitHours, '自制' AS workHourType FROM hm_model_trc_order_report_operation_u orou LEFT JOIN hm_model_trc_order_report_operation oro ON orou.work_order_process_id = oro.ID WHERE orou.work_order_process_id IS NOT NULL AND oro.work_area_code IS NOT NULL GROUP BY oro.work_order, oro.work_area_code UNION all SELECT ohs.work_order_no AS orderNo, ohs.line_code AS lineCode, SUM ( receiving_hour ) AS totalSubmitHours, '外委' AS workHourType FROM hm_model_outsourcing_hour_statistics ohs GROUP BY ohs.work_order_no, ohs.line_code ) sc ON middle.work_order = sc.orderNo AND middle.line_code = sc.lineCode AND middle.work_time_type = sc.workHourType LEFT JOIN hm_model_part_info AS pinfo ON tp.product_number = pinfo.part_code WHERE middle.process_time > 0 AND tp.delivery_time IS NOT NULL AND tp.production_orders LIKE'FJ2023051100286' ORDER BY to_char( to_timestamp( tp.delivery_time / 1000 ), 'yyyy-mm-dd' ) DESC, tp.parent_production_orders DESC, tp.node_level ASC

2023-06-06 上传