内容简介
本书详细介绍了C#语言编程的相关知识。
在本书中,我们精选了两个游戏案例、五个信息系统案例和三个系统应用案例,按照软件开发和游戏开发的步骤,详细地阐述系统的开发过程。
本书适合作为大中专院校计算机专业课程的教材,也可供自学者参考使用。
再 版 前 言
C#编程语言是由微软公司专门为.NET平台设计的语言,它可以使程序员把工作迁移到.NET上。这种迁移对于广大的程序员来说是比较容易的,因为C#从C、C++和Java发展而来,采用了这三种语言最优秀的特点,并加入了它自己的特性。
C#是事件驱动的、完全面向对象的可视化编程语言,我们可以使用集成开发环境来编写C#程序,程序员可以方便快速地建立、运行、测试和调试C#程序。所以它一经推出,马上就受到广大程序员的青睐。
《C#课程设计案例精编》是清华大学出版社高等院校课程设计案例精编系列教材之一,第1版出版至今,已受到读者广泛好评。第2版在保持了前一版风格的基础上,根据读者的反馈,对部分内容进行了更新和修订,以达到与时俱进、满足读者需求的目的。
本书内容丰富,案例经典,从实际应用角度出发,涵盖了游戏开发、文件操作、网络编程等范畴,共12章,涉及10个经典案例,由浅入深、从简单到复杂,详细介绍了使用C#开发应用程序的方法。本书是一本实践性和应用性很强的C#语言实用教材。
在基础知识中,我们使用两章的篇幅重点介绍了.NET框架和C#语言的基本语法结构,对于初学者来说非常实用,同时也涉及到本书其他章节中所用到的知识点,比如数据库的连接等。
在游戏开发中,介绍了俄罗斯方块、贪吃蛇游戏的设计和实现,告诉读者如何使用C#语言进行绘图、如何响应键盘按键操作和播放音乐文件;在文件操作中,介绍了目前应用十分广泛的员工管理信息系统、房屋出租管理系统、仓库管理信息系统、研究生管理信息系统、图书馆管理信息系统、影院语音播报系统的设计与实现,在这些案例中包含了数据库的操作、Excel文件的操作和Windows语音功能的调用;在网络编程中,结合物联网的相关内容,介绍了网站监控系统、PM2.5模拟采集系统的设计与实现,这部分内容涵盖了网络协议、多线程和地图API等相关技术。
本书从实践性和应用性出发,所有案例程序的开发都遵循软件工程的方法,即采取分析→设计→编码→运行调试的路线,内容组织合理、分析详细、通俗易懂。
本书中,所有案例均需在VS开发环境中进行开发和调试,其中前7个案例均在Visual Studio 2003中调试通过,后3个案例均在Visual Studio 2013 + Windows 7中调试通过。此外,文件操作和网络编程部分案例需要安装微软Office办公软件中的Access数据库和Excel电子表格应用。
本书适合作为本科、高职高专院校计算机、机械、电子、自动化等专业的学生进行课程设计的参考教材,可供计算机专业编程人员参考使用,同时,也可以作为C#语言开发人员和爱好者的参考读物。
第1版前言
C#是一种先进的、面向对象的语言,使用C# 语言可以让开发人员快速地建立大范围的基于MS网络平台的应用,并且提供大量的开发工具和服务,帮助开发人员开发基于计算和通信的各种应用。由于C#是一种面向对象的开发语言,所以C#可以大范围地适用于高层商业应用和底层系统的开发。即使是通过简单的C# 构造,也可以让各种组件方便地转变为基于Web的应用,并且能够通过Internet被各种系统或是其他开发语言所开发的应用调用。
本书精选了八个信息系统案例和两个游戏案例,按照开发信息系统和游戏的步骤详细阐述了系统的开发过程。这十个案例分别是员工管理信息系统、房屋出租管理系统、仓库管理信息系统、研究生管理信息系统、图书馆管理信息系统、宿舍管理信息系统、理财管理信息系统、IT设备资产管理系统、俄罗斯方块游戏的编制和贪吃蛇游戏的编制。其中,房屋出租管理系统后台数据库采用Microsoft SQL Server,其他系统后台数据库采用Microsoft Access。Access是Office系列软件中用来专门管理数据库的应用软件,是一种功能强大并且使用方便的关系型数据库管理系统,一般也称为关系型数据库管理软件。它可运行于各种Microsoft Windows系统环境中,由于它继承了Windows的特性,不仅易于使用,而且界面友好,如今在世界各地广泛流行。它不需要数据库管理者具有专业的程序设计水平,任何非专业的用户都可以用它来创建功能强大的数据库管理系统。
本书适合作为高等院校计算机、自动化、机械、电子等专业学生课程设计的指导书,也适合作为开发人员的参考书。
本书由段德亮、余健、张仁才等编著。参与编写的人员还包括张伟、陈嗥、蔚辉、张坤、陈运来、田野、仇亚飞、刘广兴、王翠翠、代小华、王莹莹、韩忠明、张辰威。由于编者水平有限,加上时间仓促,书中难免有一些不足之处,欢迎同行和读者批评指正。
编 者
目录
第1章 C#基础知识 11.1 Visual Studio .NET 21.1.1 什么是.NET 21.1.2 .NET结构 21.2 初识C# 21.2.1 什么是C# 21.2.2 C#代码的结构 31.2.3 C#注释 41.2.4 标识符与关键字 51.3 C#基本类型 61.3.1 值类型 71.3.2 引用类型 101.3.3 类型转换 141.4 变量和常量 171.4.1 变量的定义 171.4.2 变量的命名 171.4.3 变量的类型 181.4.4 常量 181.5 运算符与表达式 191.5.1 运算符分类 191.5.2 算术运算符 191.5.3 关系运算符 201.5.4 赋值运算符 221.5.5 逻辑运算符 231.5.6 位运算符 241.5.7 其他运算符 251.5.8 运算符的优先级和结合性 27第2章 C#程序设计 292.1 C#控制台应用程序 302.1.1 创建工程 302.1.2 修改代码 312.1.3 运行程序 322.2 C# Windows应用程序 332.2.1 新建项目 332.2.2 添加新的窗口 352.2.3 添加菜单 362.3 SQL入门 372.3.1 SQL简介 372.3.2 SQL的优点 372.3.3 从服务器资源管理器连接数据库 382.4 连接数据库 402.4.1 .NET中的连接对象 402.4.2 C#连接Access 402.4.3 C#连接SQL Server 412.4.4 C#连接Oracle 422.4.5 C#连接MySQL 43第3章 俄罗斯方块游戏的编制 453.1 程序概述 463.1.1 游戏的功能 463.1.2 游戏的预览 463.2 游戏的概要设计 483.2.1 游戏实现方案 483.2.2 游戏逻辑设计 483.3 游戏的详细设计及编码 483.3.1 主界面设计编码 483.3.2 游戏控制设置设计编码 563.3.3 游戏方块设计编码 583.3.4 游戏声音设计编码 73本章小结 74第4章 贪吃蛇游戏的编制 754.1 程序概述 764.1.1 游戏的功能 764.1.2 游戏的预览 764.2 游戏的概要设计 774.2.1 游戏实现方案 774.2.2 游戏逻辑设计 774.3 游戏的详细设计及编码 774.3.1 主界面设计编码 774.3.2 游戏颜色设置设计编码 824.3.3 游戏蛇设计编码 85本章小结 89第5章 员工管理信息系统 915.1 系统概述 925.1.1 系统功能与应用背景 925.1.2 系统预览 925.2 系统设计 945.2.1 系统设计思想 945.2.2 系统结构设计 955.3 数据库设计 955.3.1 数据库需求分析 955.3.2 数据库概念结构设计 955.3.3 数据库逻辑结构设计 975.3.4 设置表与表之间的关系 985.4 工种种类设置 995.4.1 添加工种种类 995.4.2 浏览工种种类 1015.4.3 修改工种种类 1025.4.4 删除工种种类 1035.5 员工个人信息管理 1045.5.1 添加员工信息 1045.5.2 浏览员工信息 1065.5.3 修改员工信息 1085.5.4 删除员工信息 1105.6 员工所属部门信息管理 1115.6.1 添加部门信息 1115.6.2 浏览部门信息 1125.6.3 修改部门信息 1135.6.4 删除部门信息 1155.7 员工月收入信息管理 1165.7.1 添加员工月收入信息 1165.7.2 浏览员工月收入信息 1175.7.3 修改员工月收入信息 1195.7.4 删除员工月收入信息 120本章小结 121第6章 房屋出租管理系统 1236.1 系统概述 1246.1.1 系统的应用背景 1246.1.2 系统的功能 1246.1.3 系统的预览 1246.2 系统概要设计 1286.2.1 系统实现方案和系统模块划分 1286.2.2 数据库逻辑设计 1306.3 系统详细设计 1346.3.1 数据库连接 1346.3.2 出租人信息管理 1356.3.3 房屋信息管理 1356.3.4 房屋查询 1366.3.5 承租者入住管理 1376.3.6 承租者查询 1386.3.7 利润信息 1386.4 系统编制 1396.4.1 主界面的编码 1396.4.2 出租人信息管理部分的编码 1486.4.3 房屋信息管理部分的编码 1536.4.4 房屋查询部分的编码 1556.4.5 承租者入住部分的编码 1596.4.6 承租者查询部分的编码 1606.4.7 利润信息部分的编码 161本章小结 161第7章 仓库管理信息系统 1637.1 系统概述 1647.1.1 系统功能与应用背景 1647.1.2 系统预览 1647.2 系统设计 1657.2.1 系统设计思想 1657.2.2 系统功能模块设计 1657.2.3 数据库设计 1677.3 登录界面与用户模块设计 1697.3.1 登录界面设计 1697.3.2 用户模块设计 1707.3.3 系统模块设计 1717.4 物资信息管理 1747.4.1 添加物资信息 1747.4.2 浏览物资信息 1757.4.3 修改物资信息 1777.4.4 查询物资信息 1787.5 入库信息管理 1807.5.1 添加入库信息 1807.5.2 浏览入库信息 1827.5.3 修改入库信息 1837.5.4 查询入库信息 1857.6 出库信息管理 1877.6.1 添加出库信息 1877.6.2 浏览出库信息 1897.6.3 修改出库信息 1907.6.4 查询出库信息 1927.7 库存信息管理 1947.7.1 浏览库存信息 1947.7.2 查询库存信息 195本章小结 196第8章 研究生管理信息系统 1978.1 系统概述 1988.1.1 系统功能 1988.1.2 系统预览 1988.2 系统概要设计 1998.2.1 功能模块设计 1998.2.2 文件架构设计 2008.2.3 数据库设计 2018.3 系统详细设计 2048.3.1 数据库连接 2048.3.2 主界面 2048.3.3 系统管理 2058.3.4 专业管理 2068.3.5 课程管理 2078.3.6 研究生管理 2098.3.7 成绩管理 2108.3.8 用户管理 2128.4 系统程序设计 2128.4.1 登录界面编码 2128.4.2 主界面编码 2148.4.3 系统管理编码 2178.4.4 专业管理编码 2198.4.5 课程管理编码 2228.4.6 研究生管理编码 2268.4.7 成绩管理编码 2278.4.8 用户管理编码 231本章小结 232第9章 图书馆管理信息系统 2339.1 系统概述 2349.1.1 系统功能 2349.1.2 系统预览 2359.2 系统概要设计 2369.2.1 系统设计思想 2369.2.2 功能模块设计 2379.3 数据库设计 2389.3.1 数据库概念设计 2389.3.2 数据库逻辑设计 2399.3.3 数据库表之间的关系 2419.4 系统详细设计 2419.4.1 数据库连接 2419.4.2 系统管理设计 2429.4.3 图书管理设计 2439.4.4 读者管理设计 2469.4.5 借还管理设计 2489.4.6 查询管理设计 2519.4.7 用户管理设计 2529.5 系统程序设计 2539.5.1 登录界面的编码 2539.5.2 主界面编码 2559.5.3 系统管理编码 2599.5.4 图书管理编码 2619.5.5 读者管理信息 2639.5.6 借还管理信息 2649.5.7 查询管理信息 2699.5.8 用户管理信息 271本章小结 272第10章 影院语音播报系统 27310.1 系统概述 27410.1.1 系统功能 27410.1.2 系统预览 27410.2 系统概要设计 27510.2.1 系统设计思想 27510.2.2 功能模块设计 27610.2.3 数据库设计 27610.3 系统详细设计 27710.3.1 数据库连接 27710.3.2 系统登录设计 27810.3.3 系统主界面设计 27810.3.4 系统管理设计 27910.3.5 场次管理设计 28110.3.6 紧急播报设计 28310.4 系统程序设计 28410.4.1 登录界面编码 28410.4.2 主界面编码 28610.4.3 用户管理编码 29510.4.4 修改密码编码 29710.4.5 场次管理编码 29810.4.6 播报设置编码 30010.4.7 紧急播报编码 30110.4.8 编码补充说明 301本章小结 304第11章 网站监控系统 30511.1 系统概述 30611.1.1 系统功能 30611.1.2 系统预览 30611.2 系统概要设计 30711.2.1 系统设计思想 30711.2.2 功能模块设计 30811.2.3 数据库设计 30811.3 系统详细设计 31011.3.1 数据库连接 31011.3.2 系统登录设计 31111.3.3 系统主界面设计 31211.3.4 系统管理设计 31311.3.5 监控项目设计 31411.3.6 报警配置设计 31511.4 系统程序设计 31611.4.1 登录界面编码 31611.4.2 主界面编码 31811.4.3 用户管理编码 32811.4.4 修改密码编码 33111.4.5 监控项目编码 33211.4.6 报警配置编码 33311.4.7 编码补充说明 335本章小结 335第12章 PM2.5模拟采集系统 33712.1 系统概述 33812.1.1 系统功能 33812.1.2 系统预览 33812.2 系统概要设计 34012.2.1 系统设计思想 34012.2.2 系统功能模块设计 34012.2.3 数据库设计 34012.3 系统详细设计 34112.3.1 数据库连接 34112.3.2 服务端界面设计 34312.3.3 系统管理设计 34412.3.4 设备管理设计 34512.3.5 虚拟终端设计 34712.4 系统程序设计 34812.4.1 Socket调用编码 34812.4.2 主服务端编码 35012.4.3 采集端口编码 35612.4.4 设备管理编码 35612.4.5 虚拟终端编码 36012.4.6 编码补充说明 364本章小结 364