C #学习手册( 二 )


C #学习手册

文章插图
本书特色最基础、最易学为了让初学者易于学习,本书力求内容通俗易懂,讲解寓教于乐 。对于初学者难理解的专业术语,本书都进行了形象的解释,有些还提供了例图 。书后附录中又单独将专业术语提炼出来,供读者学习时参考 。初学人员学习编程的另一个障碍是对抽象技术的理解,例如,介绍ADO.对象模型时,书中通过现实世界中的水库中的各种装置来做鲜明的对照,如下图所示 。
C #学习手册

文章插图
语音视频讲座为了方便读者学习本书内容,本书附赠光碟中提供了22小时视频讲座 。其讲解细緻、层次清楚、互动性强,不但可以加深对书中内容的理解,还可以引导学习者掌握“是什幺”、“为什幺”、“怎幺办”、“应注意些什幺”的编程思维能力 。视频不仅对书中的内容进行了详细介绍,还对相关技术进行了有效扩展,对开发中易犯的各种错误给出了视频解决方案 。注重实用性初学者经常会遇到这样的情况,书中讲解的技术能够理解,但不知道如何套用 。例如,在学习抽象类时,读者能够自己定义抽象类并且能够从抽象类派生子类,但是不知道抽象类能够做什幺,在哪里套用抽象类 。本书在介绍技术时,注意强调技术的实用性,并且通过实例突出技术的套用价值 。对于一些典型的套用,书中通过“情景套用”栏目进行重点介绍 。实战互动练习要掌握一项技术,最佳的方式就是多练习、多实践 。本书每章都提供了多个供读者实践的实例任务,读者可以对照检验对知识的掌握情况 。每个实例任务都分为“题目描述”、“技术指导”和“紧急救援”3部分 。其中“题目描述”给出了实例功能的详细描述和效果图,“技术指导”给出了开发思路和关键技术,“紧急救援”提供了下载实例原始码和开发文档的地址连结 。思想与激励本书每章都提供了一个与软体行业相关的励志故事,主要有两个目的:一是读者在学习疲惫的时候,可以阅读这些人物故事,放鬆一下;二是希望读者能从这些人物事迹中有所感悟 。这些人物都具有一些共同的特徵,它们都能将学习与实践完美结合;都能发现生活中的一些小机会,藉以发扬光大;都具有专注、坚持不懈的精神……希望这些故事能成为你编程路上的精神食粮,伴您度过编程学习的日日夜夜 。超值DVD光碟为了帮助读者学习和使用书中的实例,本书附赠DVD光碟,里面不仅提供了书中所有实例项目的原始码、素材、光碟使用说明书,还提供了22小时视频专题录像及5个项目源码 。光碟目录如下图所示 。
C #学习手册

文章插图
本书适用人群本书是一部零基础编程图书,非常适合以下人员阅读:? 零基础的初学编程人员 国中级程式开发人员编程爱好者想学编程的各企事业在职人员大、中专院校的老师和学生 相关培训机构的老师和学员本书参与作者本书由明日科技组织编写,参加编写的人员有赵会东、王小科、王军、董大永、李继业、尹强、张磊、房大伟、吕双、刘云峰、刘彬彬、王国辉、赛奎春、巩建华、顾丽丽等 。由于作者水平有限,疏漏和不足之处在所难免,欢迎广大读者提出宝贵意见 。非学无以广才,非志无以成学 。祝大家读书快乐!明日科技目 录第1篇 基础篇第1章 认识C#语言 171.1 简介C#语言 181.1.1 介绍C#语言产生背景 181.1.2 比较C#与其他语言的技术优势 191.1.3 了解C#语言的优良特性 191.1.4 纵观C#语言发展趋势 201.1.5 列举C#语言开发的成功案例 211.1.6 使用C#语言开发的领域 211.2 学好C#语言的方法 221.3 本章小结 23第2章 熟悉C#程式开发环境 242.1 介绍C#程式开发工具 252.2 简介.NET Framework框架 262.2.1 认识.NET Framework 262.2.2 讨论C#与.NET的关係 272.3 安装集成开发环境Microsoft Visual Studio 2008 272.3.1 安装和卸载Microsoft Visual Studio 2008 272.3.2 安装Microsoft Visual Studio 2008 MSDN帮助 302.3.3 如何使用MSDN帮助 322.4 熟悉Visual Studio 2008开发环境 332.4.1 启动Visual Studio 2008开发平台 332.4.2 创建控制台应用程式 342.4.3 创建Windows应用程式 352.4.4 主视窗 362.4.5 选单栏 372.4.6 工具列 382.4.7 “工具箱”视窗 392.4.8 “解决方案资源管理器”视窗 402.4.9 “属性”视窗 402.4.10 “窗体设计”视窗 402.4.11 “错误列表”视窗 412.4.12 “输出”视窗 412.5 本章小结 42第3章 掌握C#语言基础 433.1 编写第一个C#应用程式 443.2 认识C#程式的基本构成 453.2.1 使用命名空间组织C#程式 453.2.2 认识什幺是类 473.2.3 入口方法Main 483.2.4 标识符及关键字 483.2.5 C#语句 493.2.6 注释程式代码 503.3 数据类型 503.3.1 数据类型的分类 513.3.2 使用值类型 513.3.3 使用引用类型 543.4 常量与变数 553.4.1 声明和使用常量 553.4.2 声明变数 573.4.3 定义变数的作用域 583.4.4 给变数赋值 583.5 转换数据类型 593.5.1 隐式类型转换 593.5.2 显式类型转换 60 3.5.3 什幺是装箱和拆箱 613.5.4 套用装箱和拆箱操作 613.6 使用运算符进行计算 633.6.1 使用算术运算符 633.6.2 使用赋值运算符 663.6.3 使用关係运算符 673.6.4 使用布尔逻辑运算符 713.6.5 使用条件逻辑运算符 733.6.6 使用位移运算符 753.6.7 使用其他运算符 773.6.8 运算符优先权 793.6.9 情景套用:製作用户登录程式 803.7 实战练习 813.7.1 用“+”运算符进行加法和串连字元串 813.7.2 使用“?:”运算符判断奇偶数 823.8 本章小结 82第4章 掌握C#控制语句 834.1 选择语句 844.1.1 使用if语句实现单分支选择结构 844.1.2 使用if…else语句实现双分支选择结构 854.1.3 使用if…else if…else语句实现多分支选择结构 864.1.4 嵌套if语句或if…else语句的使用 874.1.5 使用switch语句实现多分支选择 894.1.6 情景套用:使用if…else语句判断付款方式 914.2 循环语句 924.2.1 使用while语句循环执行语句 924.2.2 使用do…while语句至少执行一次循环 934.2.3 使用for语句实现代码循环 944.2.4 使用foreach语句遍历集合 974.3 跳转语句 974.3.1 使用break语句实现程式跳转 984.3.2 使用continue语句实现程式跳转 994.3.3 使用return语句实现程式跳转 1004.4 实战练习 1014.4.1 把数字1~7转换成星期 1014.4.2 使用while语句计算前N个自然数之和 1014.5 本章小结 102第5章 熟悉字元和字元串 1035.1 Char字元类 1045.1.1 定义一个字元 1045.1.2 套用Char类 1045.1.3 使用转义字元 1065.2 String字元串类 1075.2.1 简述String类 1075.2.2 套用String类 1085.2.3 比较字元串 1095.2.4 格式化字元串 1115.2.5 截取字元串 1125.2.6 情景套用:截取档案的名称及路径 1135.3 StringBuilder字元串类 1135.3.1 简述StringBuilder类 1145.3.2 套用StringBuilder类 1145.3.3 区分StringBuilder类与String类 1155.4 实战练习 116 5.4.1 颠倒输出字元串中的每个字元 1165.4.2 去掉字元串中的所有空格 1165.5 本章小结 117第6章 熟悉数组和集合 1186.1 认识数组 1196.2 静态数组 1196.2.1 声明一维数组 1196.2.2 调用一维数组元素 1206.2.3 声明二维数组 1216.2.4 调用二维数组元素 1226.3 动态数组 1236.3.1 声明动态数组 1236.3.2 调用动态数组 1246.4 运算元组 1256.4.1 输入与输出数组 1256.4.2 定位数组 1266.4.3 遍历数组 1276.4.4 排序数组 1286.4.5 情景套用:拆分一个二维数组 1316.5 ArrayList集合类 1326.5.1 简述ArrayList类 1326.5.2 添加ArrayList元素 1336.5.3 删除ArrayList元素 1356.5.4 查找ArrayList元素 1376.5.5 遍历ArrayList集合 1376.6 实战练习 1386.6.1 把在控制台输入的数字存入数组 1386.6.2 添加数组元素到ArrayList集合中 1396.7 本章小结 139第7章 掌握C#面向对象程式设计 1407.1 学习面向对象编程 1417.1.1 认识什幺是面向对象编程 1417.1.2 了解面向对象编程的特点 1417.2 使用类封装成员 1427.2.1 介绍类的概念 1427.2.2 声明一个类 1427.2.3 访问类的成员 1437.2.4 情景套用:使用类来封装药品信息 1447.3 创建和使用对象 1457.3.1 创建一个对象 1457.3.2 论述类与对象的关係 1467.4 使用构造方法和析构方法 1477.4.1 使用构造方法创建对象 1477.4.2 使用析构方法销毁对象 1487.5 使用方法封装功能 1497.5.1 声明一个方法 1497.5.2 使用静态和非静态方法 1517.5.3 方法的重载 1527.6 使用栏位、属性和索引器存储数据 1547.6.1 使用栏位存储数据 1547.6.2 使用属性存储数据 1557.6.3 使用索引器存储数据 1587.7 理解封装、继承和多态 1597.7.1 套用封装特性隐藏实现细节 1597.7.2 套用继承特性扩展已存在类 1617.7.3 套用多态特性减少程式紧耦合 163 7.7.4 情景套用:通过多态增加程式的灵活性 1657.8 使用结构和枚举类型 1667.8.1 使用结构类型封装成员 1667.8.2 使用枚举类型改善程式 1677.9 实战练习 1697.9.1 使用属性记录用户编号和姓名 1697.9.2 使用继承特性实现计算梯形面积 1707.10 本章小结 170第8章 处理程式异常 1718.1 概述异常处理 1728.2 异常处理语句 1728.2.1 使用try…catch语句捕获并处理异常 1738.2.2 使用throw语句抛出异常 1748.2.3 使用try…catch…finally语句捕获并处理异常 1768.2.4 情景套用:捕获数学四则运算中的异常 1778.3 实战练习 1788.3.1 捕获除数为0的异常 1788.3.2 捕获数组越界异常 1798.4 本章小结 179第2篇 核心篇第9章 介绍WinForm窗体 1819.1 创建WinForm窗体 1829.1.1 简述WinForm窗体 1829.1.2 添加和删除窗体 1839.1.3 使用多个窗体 1849.1.4 设定窗体的属性 1849.1.5 显示与隐藏窗体 1879.1.6 触发窗体的事件 1879.1.7 情景套用一:设计一个系统登录窗体 1899.1.8 情景套用二:製作启动欢迎界面 1909.2 创建MDI窗体 1919.2.1 简述MDI窗体 1919.2.2 如何设定MDI窗体 1919.2.3 排列MDI子窗体 1929.3 创建模态窗体和非模态窗体 1949.3.1 创建模态窗体 1949.3.2 创建非模态窗体 1959.4 通过继承创建窗体 1959.4.1 简述继承窗体 1969.4.2 使用编程方式创建继承窗体 1969.4.3 使用继承选择器创建继承窗体 1979.4.4 在继承窗体中修改继承的控制项属性 1979.5 实战练习 1989.5.1 製作半透明渐显窗体 1989.5.2 製作标题栏文字右对齐的窗体 1999.6 本章小结 199第10章 使用WinForm常用控制项编程 20010.1 简述控制项 20110.2 操作控制项 20110.2.1 添加控制项 20210.2.2 对齐控制项 20210.2.3 锁定控制项 20210.2.4 删除控制项 20310.3 文本类控制项 20310.3.1 使用标籤控制项(Label控制项)显示文字 203 10.3.2 使用文本框控制项(TextBox控制项)输入数据 20410.3.3 使用有格式文本控制项(RichTextBox控制项)输入数据 20610.3.4 情景套用:製作图片和文字混合编辑工具 20910.4 动作类控制项 21010.5 选择类控制项 21110.5.1 使用下拉组合框控制项(ComboBox控制项)选择数据 21110.5.2 使用複选框控制项(CheckBox控制项)选择选项 21310.5.3 使用单选按钮控制项(RadioButton控制项)选择唯一选项 21410.5.4 使用数值选择控制项(NumericUpDown控制项)显示数据 21610.5.5 使用列表控制项(ListBox控制项)显示多项数据 21810.5.6 情景套用:使用ComboBox控制项选择职位 22010.6 容器类控制项 22010.6.1 使用容器控制项(Panel控制项)划分窗体 22110.6.2 使用分组框控制项(GroupBox控制项)对控制项分组 22210.6.3 使用选项卡控制项(TabControl控制项)把窗体设计成多页 22210.7 选单、工具列和状态栏控制项 22510.7.1 使用MenuStrip控制项创建选单 22610.7.2 使用ToolStrip控制项创建工具列 22710.7.3 使用StatusStrip控制项创建状态栏 22810.8 公共对话框 22910.8.1 “打开”对话框 22910.8.2 “另外储存为”对话框 23010.8.3 “浏览资料夹”对话框 23210.9 实战练习 23310.9.1 在Button中显示人性化图示 23310.9.2 在TextBox中只允许输入数字 23410.10 本章小结 234第11章 熟悉高级控制项、组件及自定义控制项 23511.1 ImageList控制项(存储图像控制项) 23611.1.1 在ImageList控制项中添加图像 23611.1.2 在ImageList控制项中移除图像 23711.2 ListView控制项(列表视图控制项) 23811.2.1 在ListView控制项中添加或移除项目 23911.2.2 选择ListView控制项中的项目 24111.2.3 为ListView控制项中的项目添加图示 24211.2.4 在ListView控制项中启用平铺视图 24311.3 TreeView控制项(树控制项) 24411.3.1 添加和删除树节点 24411.3.2 获取树控制项中选中的节点 24611.3.3 设定树控制项中节点的图示 24711.3.4 情景套用:使用TreeView显示部门结构 24811.4 DateTimePicker控制项(日期控制项) 249 11.4.1 使用DateTimePicker控制项显示时间 25011.4.2 使用DateTimePicker控制项以自定义格式显示日期 25111.4.3 返回DateTimePicker控制项中选择的日期 25211.5 ProgressBar控制项(进度条控制项) 25311.6 Windows组件 25411.6.1 使用ErrorProvider组件验证文本框输入 25411.6.2 使用HelpProvider组件调用帮助档案 25611.6.3 使用Timer组件设定时间间隔 25711.6.4 情景套用:製作闹钟计时器 25811.7 自定义控制项 26111.8 实战练习 26311.8.1 在ListView中添加书名目录 26311.8.2 仿製Windows资源管理器 26311.9 本章小结 264第12章 套用ADO.技术运算元据库 26512.1 介绍ADO.技术 26612.1.1 简述ADO. 26612.1.2 ADO.访问资料库的模式 26612.2 使用Connection对象连线资料库 26712.2.1 简述Connection对象 26712.2.2 创建资料库连线 26812.2.3 关闭资料库连线 26912.3 使用Command对象运算元据库 27112.3.1 简述Command对象 27112.3.2 设定数据源类型 27112.3.3 执行SQL语句 27312.3.4 情景套用一:获取SQL Server伺服器日期 27512.3.5 情景套用二:保存任意档案到SQL Server资料库 27612.4 使用DataReader对象读取数据 27712.4.1 简述DataReader对象 27712.4.2 判断查询结果中是否有值 27812.4.3 读取数据 27912.5 使用DataAdapter对象运算元据 27912.5.1 简述DataAdapter对象 28012.5.2 填充DataSet数据集 28012.5.3 更新数据源 28112.6 使用DataSet对象查询数据 28312.6.1 简述DataSet对象 28312.6.2 合併DataSet内容 28412.6.3 複製DataSet内容 28512.7 使用DataGridView控制项运算元据 28612.7.1 简述DataGridView控制项 28612.7.2 使用DataGridView控制项显示数据 28712.7.3 获取DataGridView控制项中的当前单元格 28812.8 实战练习 28912.8.1 实现向资料库中插入员工信息 289 12.8.2 实现修改资料库中的员工信息 29012.9 本章小结 290第13章 掌握C#面向对象高级技术 29113.1 接口和抽象类 29213.1.1 声明接口 29213.1.2 定义接口的成员 29313.1.3 使用两种方式实现接口 29413.1.4 声明抽象类 29613.1.5 声明抽象方法 29713.1.6 实现抽象类及抽象方法 29813.1.7 区分抽象类与接口 29913.1.8 情景套用:使用接口作为方法参数编程 29913.2 使用泛型将类型参数化 30013.2.1 简述泛型 30013.2.2 如何定义类型参数T 30113.2.3 使用泛型 30113.3 使用叠代器遍历数据 30313.3.1 简述叠代器 30313.3.2 创建叠代器 30413.3.3 使用叠代器 30413.4 内部类、分部类和密封类 30513.4.1 声明和使用内部类 30513.4.2 声明和使用分部类 30613.4.3 声明和使用密封类 30713.5 实战练习 31013.5.1 通过实现接口计算矩形面积 31013.5.2 通过实现抽象类计算圆形面积 31113.6 本章小结 311第3篇 高级篇第14章 操作档案及数据流 31314.1 System.命名空间 31414.1.1 简述System.命名空间 31414.1.2 File类和Directory类 31414.1.3 FileInfo类和DirectoryInfo类 31714.2 档案的基本操作 32014.2.1 判断档案是否存在 32014.2.2 创建档案 32114.2.3 複製或移动档案 32314.2.4 删除档案 32514.2.5 获取档案基本信息 32614.3 资料夹的基本操作 32714.3.1 判断资料夹是否存在 32714.3.2 创建资料夹 32814.3.3 移动资料夹 33014.3.4 删除资料夹 33114.3.5 遍历资料夹 33214.4 数据流操作档案 33414.4.1 简述流操作 33514.4.2 使用档案流读写档案 33514.4.3 读写文本档案 33814.4.4 读写二进制档案 34014.4.5 情景套用:比较两个档案内容是否相同 34314.5 实战练习 34414.5.1 实现批量複製档案 34414.5.2 删除资料夹中所有档案和子目录 345 14.6 本章小结 346第15章 使用GDI+技术绘图 34715.1 创建基本绘图对象 34815.1.1 简述GDI+技术 34815.1.2 创建Graphics对象 34815.1.3 创建Font对象 34915.1.4 创建Pen对象 34915.1.5 创建Brush对象 34915.2 使用GDI+绘製基本图形 35115.2.1 绘製直线 35215.2.2 绘製矩形 35315.2.3 绘製椭圆 35315.2.4 绘製圆弧 35415.2.5 绘製扇形 35515.2.6 绘製多边形 35615.2.7 绘製文本 35615.2.8 绘製图形 35715.2.9 情景套用:绘製柱形图 35815.3 实战练习 36015.3.1 使用GDI+绘製波形图 36015.3.2 在图片中写入文字 36115.4 本章小结 361第16章 列印和製作报表 36216.1 Windows列印控制项 36316.1.1 使用PageSetupDialog控制项设定页面 36316.1.2 使用PrintDialog控制项设定印表机 36416.1.3 使用PrintDocument控制项设定列印文档 36516.2 简述水晶报表 36716.3 .NET中的水晶报表 36716.3.1 简述水晶报表设计器 36716.3.2 划分水晶报表区域 36816.3.3 列举水晶报表数据源 36816.3.4 水晶报表的数据访问模式 36916.4 操作水晶报表 36916.4.1 创建水晶报表及连线数据源 36916.4.2 分组、排序及筛选水晶报表中的数据 37216.4.3 在水晶报表中绘製图表 37416.4.4 情景套用:设计一个信封标籤报表 37516.5 实战练习 37616.5.1 使用水晶报表显示考生信息 37616.5.2 使用水晶报表统计销售百分比 37616.6 本章小结 377第17章 套用执行绪技术编程 37817.1 简述执行绪 37917.1.1 简述单执行绪 37917.1.2 简述多执行绪 37917.1.3 执行绪的生命周期 38017.2 执行绪调度 38117.2.1 简述Thread类 38117.2.2 创建执行绪 38317.2.3 挂起与恢複线程 38417.2.4 执行绪休眠 38517.2.5 终止与阻止执行绪 38517.2.6 情景套用:使用多执行绪製作连线埠扫描工具 387 17.3 执行绪同步 39017.3.1 简述执行绪同步机制 39117.3.2 使用lock关键字实现执行绪同步 39117.3.3 使用Monitor类实现执行绪同步 39217.4 实战练习 39317.4.1 创建执行绪来连线并运算元据库 39317.4.2 创建执行绪複製档案并显示进度条 39417.5 本章小结 395第18章 熟悉网路通信技术 39618.1 计算机网路基础 39718.1.1 区域网路与网际网路 39718.1.2 网路协定 39718.1.3 连线埠及套接字 40018.2 网路编程技术 40018.2.1 System.命名空间 40018.2.2 System.Sockets命名空间 40418.2.3 System.Mail命名空间 40918.2.4 情景套用:製作区域网路聊天程式 41118.3 实战练习 41318.3.1 建立TCP伺服器 41318.3.2 建立TCP客户端 41418.4 本章小结 414第19章 操作注册表 41519.1 注册表基础知识 41619.1.1 简述注册表 41619.1.2 展示注册表的结构 41619.2 操作注册表 41719.2.1 读取注册表中信息 41719.2.2 创建和修改注册表信息 41919.2.3 删除注册表中信息 42119.2.4 情景套用:利用注册表设计注册软体 42419.3 实战练习 42519.3.1 添加“用记事本打开”快捷选单项 42519.3.2 控制软体的试用次数 42619.4 本章小结 427第20章 调试和打包应用程式 42820.1 简述程式调试 42920.2 调试应用程式 42920.2.1 设定断点调试程式 42920.2.2 开始、中断和停止程式的执行 43020.2.3 使用单步执行调试程式 43120.2.4 运行到程式的指定位置 43220.3 打包应用程式 43220.3.1 简介Windows Installer 43220.3.2 创建Windows安装项目 43320.3.3 製作Windows安装程式 43420.4 本章小结 438第21章 了解C#3.0新技术 43921.1 简述C# 3.0的新技术 44021.2 列举C# 3.0的新特性 44021.2.1 使用隐式类型var声明变数 440 21.2.2 使用对象初始化器创建对象 44121.2.3 使用集合初始化器创建集合对象 44221.2.4 使用扩展方法向现有类型中添加新方法 44321.2.5 使用匿名类型创建对象 44421.2.6 使用Lambda 表达式过滤数据 44521.2.7 定义自动实现的属性 44721.2.8 使用LINQ技术运算元据 44921.2.9 情景套用:使用查询表达式判断用户登录 45121.3 实战练习 45321.3.1 使用初始化器封装学生信息 45321.3.2 使用Lambda 表达式获取学生信息 45421.4 本章小结 454第4篇 实战篇第22章 文档管理系统 45622.1 系统分析 45722.1.1 需求分析 45722.1.2 开发工具选择 45722.2 总体设计 45722.2.1 项目规划 45722.2.2 系统业务流程分析 45822.2.3 系统功能结构 45822.3 系统设计 45822.3.1 设计目标 45822.3.2 开发及运行环境 45922.3.3 资料库设计 45922.4 技术準备 46022.4.1 档案的複製、修改和删除 46122.4.2 资料夹的複製、修改和删除 46122.5 公共模组设计 46222.5.1 档案及资料夹模组设计 46222.5.2 公共类设计 46322.6 主要功能模组设计 48322.6.1 主窗体设计 48322.6.2 资料夹和资料集操作窗体 48722.6.3 档案操作窗体 49022.6.4 导入/导出窗体 49622.7 疑难问题分析与解决 49822.7.1 获取本地计算机的驱动器名称 49822.7.2 资料夹的複製 49822.8 程式调试与错误处理 50022.9 技术、经验总结 50122.9.1 技术总结 50222.9.2 经验总结 502第23章 进销存管理系统 50323.1 系统分析 50423.1.1 需求分析 50423.1.2 开发工具选择 50423.2 总体设计 50423.2.1 项目规划 50423.2.2 系统业务流程分析 50523.2.3 系统功能结构 50523.3 系统设计 50523.3.1 设计目标 50623.3.2 开发及运行环境 50623.3.3 资料库设计 50623.4 技术準备 50923.4.1 水晶报表的配置 50923.4.2 水晶报表的使用 51023.5 公共模组设计 51023.5.1 档案及资料夹模组设计 51023.5.2 公共类设计 51023.6 主要功能模组设计 511 23.6.1 系统登录设计 51123.6.2 採购进货管理设计 51123.6.3 库存调拨管理设计 51123.6.4 员工信息报表设计 51223.6.5 商品进货分析报表设计 51223.6.6 系统用户设计 51223.7 疑难问题分析与解决 51323.8 程式调试与错误处理 51423.9 技术、经验总结 51423.9.1 技术总结 51523.9.2 经验总结 515附录A 专业术语表 516