vb.net李春葆,net vb
学生成绩查询系统 论文(vb)
学生成绩管理系统的开发
成都创新互联公司是专业的田林网站建设公司,田林接单;提供网站建设、网站制作,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行田林网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
1 研究背景
1.1 研究目的
本系统的主要功能是对学校的学生的成绩进行管理。成绩管理是学校教务部门一项重要而繁杂的工作,它不仅数据多、处理量大、而且时间要求紧,牵涉到学生基本情况、学习成绩、教师情况、课程情况、任教情况、系部专业情况、班级管理、重修管理、留级处理等,因此,要求本系统能够将现有的手工作业全部电脑化,而且打印出符合教务要求的报表,、能够应用到实际应用中。系统开发的总体任务就是要实现学生信息关系的系统化、规范化,自动化,实现作业的迅速性。本系统是面向现实要求的一个实用系统,因此它具有一定的经济价值和社会价值。正如题目所言,本系统目的是对学校的学生的成绩进行管理,因此在设计本系统时,力图做到能使其真正的实用和方便。这就要求利用面向对象技术的开发方法结合原型法和结构化开发方法来编写整个学生成绩管理信息系统。
1.2 研究意义
学生成绩管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生成绩管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理学生的成绩,这种管理方式存在着许多缺点,如:效率低、易出错等,另外时间一长,将产生大量的文件和数据与实际上的数据不符,这对于查找、更新和维护都带来了不少的困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
数据库管理是微机应用的重要方面,几乎所有微机应用系统都离不开对数据库的管理和操作。由于数据库管理系统所服务的对象各种各样、千差万别,各个不同行业需要开发适合本单位、本部门特点的数据库管理系统,甚至一个部门也需要多个不同的管理系统,因此,通过开发自动化程度较高的通用性软件,来满足不同对象的要求。现在,随着学校学生人数的增多,人工管理学生档案工作日益繁琐,而且容易出错,为了解决这些问题,在此我根据本校特点开发了学生信息管理系统,此系统是一种自动化程度较高的通用管理软件。
2 文献综述
2.1 管理信息系统的综述
管理信息系统是一个和机器结合的人机系统,是用系统的观点,数学的方法建立起来的,以电子计算机为基础,为管理过程服务的信息系统。
3 技术路线
本系统的主要功能是对学校的学生的成绩进行管理。成绩管理是学校教务部门一项重要而繁杂的工作,它不仅数据多、处理量大、而且时间要求紧,牵涉到学生基本情况、学习成绩、教师情况、课程情况、任教情况、系部专业情况、班级管理、重修管理、留级处理等,因此,要求本系统能够将现有的手工作业全部电脑化,而且打印出符合教务要求的报表,能够应用到实际应用中。系统开发的总体任务就是要实现学生信息关系的系统化、规范化,自动化,实现作业的迅速性。
3.1 分析问题,建立模型
分析一个要由计算机解决的问题,就是要设法确定该问题最合适的模型,这是分析问题的出发点和目的。为此,首先要分析问题和题意,明确所要解决的问题属于什么类型、原始数据是什么、是怎样被加工的、经计算机处理后需要输出什么结果,然后才能建立相应的系统模型,并把解决问题的方法确定下来。
3.2 确定算法
算法是一个过程,由一组清晰的规则组成,这些规则指定了一个操作顺序,依照这个有限的步骤可以完成特定类型问题的解答。如何确定算法是计算机程序设计的重点。数据结构加算法构成程序,我们可以利用出版刊物上的程序库或计算机厂家内部建立的程序库等来源找出合适的算法或者依据实际问题和所具备的经验自己设计算法。流程图是程序设计中很有用的工具,它直观、清晰易懂,便于检查交流和修改,详细的流程图可以作为编写程序的依据,当算法确定后,还可按照车家标准用流程图画出计算机解题步骤框。
3.3 编写程序
有了算法和相应程序流程图后,就可以选定高级语言,以书面形式将算法描述出来。编写程序的结果就是形成用程序设计语言编写的源程序,编程中应尽量采用可重用技术,引用已有的程序模块,进行二次开发,以提高编程效率。
3.4 高度运行程序
完成程序清单的书写并输入到计算机以后,就可以上机调试了。调试工作主要包括排错和测试两部分。排错是指查出在程序中隐藏的错误,并给予纠正;测试是确认程序在各种可能的情况下都可以正确执行,输出结果准确无误。这两个工作往往交叉进行,不仅使用合法数据测试,而且使用非法数据或误操作测试,直到经过足够量的实例测试后达到满意效果。
3.5 建立文档资料
文档资料是计算机软件工作的重要组成部分,从接受用计算机解题任务开始就应注意和加强文档资料的编写和建立。一般地,解题任务完成,文档资料也全部建好。
3.6 程序维护
程序维护指对已经交付使用后的程序进行修改、扩充、完善等工作。当程序应用于实际工作或生活中,就得到了实践的检验,由于计算机硬件、软件环境的变更、实际需求的变化或操作人员的变动,会出现这样那样的问题需要编程人员对程序更新数据、排除隐患、修改或扩充功能等都属于维护工作。根据实际情况,我们使用原型法(Rapid Prototyping),即以少量代价快速地构造一个可执行的软件系统模型。使用户和开发人员可以较快地确定需求,然后采用循环进化的开发方式,对系统模型做连续的精细处理,将系统需具备的性质逐步加上去,直到所有的性质全部满足。此时,模块也发展成为最终产品了。
4 进度计划
5 参考文献
[1] 刘韬,骆娟等.Visual Basic 6.0数据库系统开发实例导航[M]. 人民邮电出版社,2002年4月.
[2] 刘圣才,李春葆.Visual Basic 6.0程序设计导学[M].清华大学出版社,2002年1月.
[3] Mike Geundenloy[美]著,孙月琴等译.Visual Basic开发指南[M].电子工业出版社,2000年7月.
[4] 张海藩.软件工程导论[M].清华大学出版社,1998年1月.
[5] 伍俊良.VISUAL BASIC 课程设计与系统开发案例. 北京:清华大学出版社,2002;
求VB学生成绩管理系统毕业论文
【摘要】
本论文叙述了我校学成绩管理的现状以及Visual basic6.0语言的概况。重点介绍了学生成绩管理系统的实现过程:包括系统分析、 系统调查、 数据流程分析、功能设计、 数据库设计、 系统物理配置方案、 系统实现、 系统测试和调试。本系统主要功能有用户管理、学生注册、班级信息录入、学生信息录入、班级课程录入、学校专业信息录入、课程信息录入、学生成绩录入、教师信息录入、数据。。。。。。。。。。。包括功能需求描述、数据库设计等内容。第四章介绍了本系统的具体实现。第五章关于本系统开发过程中的结论及体会。
【关键词】学生成绩管理系统,功能,特点,论文内容。
【Abstract】
This thesis describes my school the present condition of the score management and the general situation of the Visual basic6.0 languages .The point introduced the student the result management system carries out the process 。。。。。。。。。 such as function request description and the database design...etc. .A concrete realization that introduced this system .Chapter 5 concerning conclusion within this system development process and realize.
【KeyWords】
the Student result management system, function, characteristics, thesis contents
目 录
摘要
.前言
第一章 引言
1.1 开发背景
1.2开发目标
1.3 项目提出的意义
1. 4 系统开发所用的技术准备
第二章 系统分析
2.1系统需求分析
2.1.1系统调查
2.1.2组织机构设置
2.1.3用户需求
2.1.4系统业务流程图
2.1.5系统设计思想
2.1.6系统设计分析
2.1.7系统功能分析
2.2新系统逻辑方案
2.2.1数据流图(简称为DFD)
2.2.2数据字典
2.2.3新系统逻辑模型的提出
2.2.4系统边界
第三章 系统设计
3.1学生成绩查询系统功能需求简介
3.2功能需求描述
3.3系统目标要求
3.4系统平台选择
3.5数据库设计
3.5.1数据库需求分析
3.5.2数据库概念结构设计
3.5.3、逻辑结构设计(E-R图向关系模型的转换)
第四章 系统实施
4.1各子系统模块程序设计举例
4.2 软件测试的目的和原则
4.3 子系统测试
4.4 软件运行与转换
第五章 结 论
致 谢
参考文献
第一章 引 言
1.1 项目开发背景
几年前,各个学校的学生成绩管理基本上都是靠手工进行,随着各个学校的规模增大,有关学生成绩管理工作所涉及的数据量越来越大,有的学校不得不靠增加人力、物力来进行学生成绩管理。但手工管理具有效率底、 。。。。。。。所以我想借本次毕业设计之际,开发一个不仅适用本校各系而且适用于其它各校的通用高校学生成绩管理系统。
我选择母校来设计这个系统主要有两个原因:
一是:。。。。。。。报。
1.2 项目开发的目标
建立学生成绩管理系统,采用计算机对学生成绩进行管理,进一步提高办学效益和现代化水平。帮助广大教师提高工作效率,实现学生成绩信息管理工作流程的系统化、规范化和自动化
1.3 项目提出的意义
现在我国的大中专院校的学生成绩管理水平普遍不高,有的还停留在纸介质基础上,这种管理手段已不能适应时代的发展,因为它浪费了了许多的人力和物力。在当今信息时代这种传统的管理方法必然被计算机为基础的信息管理系统所代替。如果本系统能被学校所采用,将会改变以前靠手工管理学生成绩的状况,可以树立良好的办学形象,提高工作效率。
1.4 系统开发所用的技术准备
1.4. 1数据库技术的现状与发展
数据库是60年代末出现的一门计算机软件技术,到现在虽然只有三十多年的历史,但在理论和时间。。。。。。。。。。。。。。。。。。。。。。。。。。。。
2、信息查询流图
使用人员
成绩数据表
班级数据表
课程数据表
学生数据表
查询条件
查询结果
学生信息录入
成绩信息录入
班级信息录入
课程信息录入
图2-4 学生信息查询流图
3.1学生成绩查询系统功能需求简介
学生成绩查询系统对学校加强学生成绩管理有着极其重要的作用。由于各个大学都在持续扩招,学生的数量日益庞大,传统的手工成绩管理不仅工作量大,而且容易出现问题。
3.2功能需求描述
1、用户管理功能
用户分为管理员、教师用户、学生用户三类。不论是管理员或教师用户,还是学生用户都需要通过用户名和口令进行登录。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
按学生角度管理教师可以看到学生信息和成绩信息。学生信息包括学号、姓名、班级、生日、性别、地址、电话和简历。当教师用鼠标双击某一学生信息时,可以自动显示出该课程的这个学生所有课程的学习成绩,并同时自动计算出这个学生的总分和平均分。在成绩信息中,教师可以对学习成绩进行增加、修改和删除。并能够打印报表。
3、学生对成绩的查看功能
学生用户登录后,学生可以看到自己的学生信息和成绩信息。学生信息包括学号、姓名、班级、生日、性别、地址、电话和简历。成绩信息包括这个学生的所有课程的成绩信息。。。。。。。。。。。。。。。。。。。。。。。。。。
Private Sub CmdOk_Click()
Dim Conn As New ADODB.Connection
Dim mlink As String
mlink = "provider=microsoft.jet.oledb.3.51;data source=score.mdb;"
Conn.Open mlink
‘当用户名密码为空时给出提示
If Text1.Text = "" Then
MsgBox "请。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
在frmlogin窗体中如果用户登录成功,将会出现如图4-3所示的MDI主窗体。
4-3系统主窗体
若是学生用户,则有些菜单项不可用,只能运行本系统的部分功能(即重新登录和信息查询功能可用)。如图4-4
Option Explicit
‘‘‘当改变记录集时,需要刷新整个网格控件
Sub RefreshGrid()
grdScan.DataMember = ""
grdScan.Refresh
If DataEnv.rssqlStudent.State adStateClosed Then DataEnv.rssqlStudent.Close
DataEnv.rssqlStudent.Open
grdScan.DataMember = "sqlStudent"
grdScan.Ref...【摘要】
本论文叙述了我校学成绩管理的现状以及Visual basic6.0语言的概况。重点介绍了学生成绩管理系统的实现过程:包括系统分析、 系统调查、 数据流程分析、功能设计、 数据库设计、 系统物理配置方案、 系统实现、 系统测试和调试。本系统主要功能有用户管理、学生注册、班级信息录入、学生信息录入、班级课程录入、学校专业信息录入、课程信息录入、学生成绩录入、教师信息录入、数据。。。。。。。。。。。包括功能需求描述、数据库设计等内容。第四章介绍了本系统的具体实现。第五章关于本系统开发过程中的结论及体会。
【关键词】学生成绩管理系统,功能,特点,论文内容。
【Abstract】
This thesis describes my school the present condition of the score management and the general situation of the Visual basic6.0 languages .The point introduced the student the result management system carries out the process 。。。。。。。。。 such as function request description and the database design...etc. .A concrete realization that introduced this system .Chapter 5 concerning conclusion within this system development process and realize.
【KeyWords】
the Student result management system, function, characteristics, thesis contents
目 录
摘要
.前言
第一章 引言
1.1 开发背景
1.2开发目标
1.3 项目提出的意义
1. 4 系统开发所用的技术准备
第二章 系统分析
2.1系统需求分析
2.1.1系统调查
2.1.2组织机构设置
2.1.3用户需求
2.1.4系统业务流程图
2.1.5系统设计思想
2.1.6系统设计分析
2.1.7系统功能分析
2.2新系统逻辑方案
2.2.1数据流图(简称为DFD)
2.2.2数据字典
2.2.3新系统逻辑模型的提出
2.2.4系统边界
第三章 系统设计
3.1学生成绩查询系统功能需求简介
3.2功能需求描述
3.3系统目标要求
3.4系统平台选择
3.5数据库设计
3.5.1数据库需求分析
3.5.2数据库概念结构设计
3.5.3、逻辑结构设计(E-R图向关系模型的转换)
第四章 系统实施
4.1各子系统模块程序设计举例
4.2 软件测试的目的和原则
4.3 子系统测试
4.4 软件运行与转换
第五章 结 论
致 谢
参考文献
第一章 引 言
1.1 项目开发背景
几年前,各个学校的学生成绩管理基本上都是靠手工进行,随着各个学校的规模增大,有关学生成绩管理工作所涉及的数据量越来越大,有的学校不得不靠增加人力、物力来进行学生成绩管理。但手工管理具有效率底、 。。。。。。。所以我想借本次毕业设计之际,开发一个不仅适用本校各系而且适用于其它各校的通用高校学生成绩管理系统。
我选择母校来设计这个系统主要有两个原因:
一是:。。。。。。。报。
1.2 项目开发的目标
建立学生成绩管理系统,采用计算机对学生成绩进行管理,进一步提高办学效益和现代化水平。帮助广大教师提高工作效率,实现学生成绩信息管理工作流程的系统化、规范化和自动化。
1.3 项目提出的意义
现在我国的大中专院校的学生成绩管理水平普遍不高,有的还停留在纸介质基础上,这种管理手段已不能适应时代的发展,因为它浪费了了许多的人力和物力。在当今信息时代这种传统的管理方法必然被计算机为基础的信息管理系统所代替。如果本系统能被学校所采用,将会改变以前靠手工管理学生成绩的状况,可以树立良好的办学形象,提高工作效率。
1.4 系统开发所用的技术准备
1.4. 1数据库技术的现状与发展
数据库是60年代末出现的一门计算机软件技术,到现在虽然只有三十多年的历史,但在理论和时间。。。。。。。。。。。。。。。。。。。。。。。。。。。。
2、信息查询流图
使用人员
成绩数据表
班级数据表
课程数据表
学生数据表
查询条件
查询结果
学生信息录入
成绩信息录入
班级信息录入
课程信息录入
图2-4 学生信息查询流图
3.1学生成绩查询系统功能需求简介
学生成绩查询系统对学校加强学生成绩管理有着极其重要的作用。由于各个大学都在持续扩招,学生的数量日益庞大,传统的手工成绩管理不仅工作量大,而且容易出现问题。
3.2功能需求描述
1、用户管理功能
用户分为管理员、教师用户、学生用户三类。不论是管理员或教师用户,还是学生用户都需要通过用户名和口令进行登录。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
按学生角度管理教师可以看到学生信息和成绩信息。学生信息包括学号、姓名、班级、生日、性别、地址、电话和简历。当教师用鼠标双击某一学生信息时,可以自动显示出该课程的这个学生所有课程的学习成绩,并同时自动计算出这个学生的总分和平均分。在成绩信息中,教师可以对学习成绩进行增加、修改和删除。并能够打印报表。
3、学生对成绩的查看功能
学生用户登录后,学生可以看到自己的学生信息和成绩信息。学生信息包括学号、姓名、班级、生日、性别、地址、电话和简历。成绩信息包括这个学生的所有课程的成绩信息。。。。。。。。。。。。。。。。。。。。。。。。。。
Private Sub CmdOk_Click()
Dim Conn As New ADODB.Connection
Dim mlink As String
mlink = "provider=microsoft.jet.oledb.3.51;data source=score.mdb;"
Conn.Open mlink
‘当用户名密码为空时给出提示
If Text1.Text = "" Then
MsgBox "请。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
在frmlogin窗体中如果用户登录成功,将会出现如图4-3所示的MDI主窗体。
4-3系统主窗体
若是学生用户,则有些菜单项不可用,只能运行本系统的部分功能(即重新登录和信息查询功能可用)。如图4-4
Option Explicit
‘‘‘当改变记录集时,需要刷新整个网格控件
Sub RefreshGrid()
grdScan.DataMember = ""
grdScan.Refresh
If DataEnv.rssqlStudent.State adStateClosed Then DataEnv.rssqlStudent.Close
DataEnv.rssqlStudent.Open
grdScan.DataMember = "sqlStudent"
grdScan.Ref...
我想自学计算机方面的知识不知道哪种书好?
我是计算机系的学生,学习计算机要从基础开始,
《组装与维修》是自己看的基础方面的,如果学习还是这几本书比较有用
第一本书《计算机基础》讲的是一些比较简单的计算机操作方面的,WORD,EXCEL等,简单易学的操作,几乎是看着书就能学会的,
第二本书《图形图像》制作处理一些图片,比较有意思
第三本书《数据库》我不太喜欢这个方面,但是数据库是很重要的一门学科
第四本书《网页》教你制作一些简单的网站,网页等
第五本书《C语言》比较高级的语言,很深奥,很细腻!
《C程序设计》学完了往后想学C++推荐几本书
经过十分漫长的C++学习过程,我总算完成了我自己的C++心愿,看完了我想看的所有C++书籍,回
顾我C++的整个学习过程,颇有一些心得和经验,希望与各位分享,也希望给正处在摸索学习阶段的
XDJM一点学习参考。
首先看看我第一次接触编程语言,唔,那可能要追述上到世纪,在我小学4年纪的时候第一次接触到
BASIC,那个时候学习这个东西完全是为了要爸爸给我买一台386,没想到的是,BASIC开启了我对于计算
机的一切兴趣与追求。5年纪的时候参加少年的计算机奥赛,我用BASIC写的一个彩色立体可旋转移动的正
方体拿了一个铜牌,从此计算机编程成为了最大的爱好,现在我还保留着源代码,是保存在一盘普通单放
机的磁带上的,我估计很少有人用过录音机和串口的转换器吧,呵。我用BASIC写的第二个大程序是给我
妈妈用的财务程序,初中二年纪的时候,我妈妈在单位做出纳,我总看到妈妈每天晚上拿个计算机算一堆
表,所以我写了这个程序帮助妈妈快速完成她的工作,其实我的根本目的是为了一台打印机,因为这个程
序,生成了简单的报表,她可以直接打印,当然为了这个便利,她必须花钱给我买一台当时还算价值不低
的打印机。不过现在回顾起来,BASIC虽然是我编程的第一位启蒙老师,但是在我开始C++的学习之后,他
确实使我我思想上产生了很大的困绕,主要是OOP思想,我花费了将近1年多的时间才真正体会到什么是OO!
到了大学,我才真正开始系统的学习编程。在此之间走过一些歪路,比如高中的时候研究HACKING,
之所以说学习hacking是条歪路,原因很简单,因为研究到一定的程度,没有十分稳固的编程基础,根本
的无法继续深入学习。中国**联盟解体前,位列第三的kender给了我这方面很大的打击,从此我就退出了
,从此对于hacking我就不闻不问,从此看到那些下三烂的货色也要学hacking,我就感到可笑。第一次接
触的是C,没什么好说的,我C学的不好,因为我大二的时候经商去了,而且我觉得C能做的,我用BASIC都
能做到,为什么要学C?当然那个时候我成绩真是北大的BBS...然后接触到的就是C++,教材的钱能的
《C++程序设计》,这本书其实还是很不错的,不过很多看了两本名著的朋友都对这本书嗤之以鼻,也许是
我天生很笨,在我看完了《C++PRIMER》后还经常番看《C++程序设计》。《C++程序设计》虽然出书的时
候ANSI C++还没有确定下来,不过它还是含盖了C++所有语法,建议对C++感兴趣却又没有任何基础的人先
从这本书开始,简单而高效,不要认为人家一上来就看《C++ PRIMER》或是《the c++ programming
language》就觉得自己的档次很低,你要确信,你肯定能超过他!这本书课后习题在我看来是典型的结构
化编程,即使到了CLASS,也全部可以用STRUCT代替。不过在这个阶段做习题十分必要,用处我不想敲了
,推荐使用的编译器就是书中所说到的编译器(我忘记叫什么了:P)看完之后,如果你想说C++很简单的话
,建议你在看完了《C++ PRIMER》或是《the c++ programming language》之后再说。这两本书都是基于
标准C++的,十分苛求的说,后者对标准的兼容性稍差:)。对这两本书,我的看法是,如果你确实想仔细
的学习,建议你看《C++ PRIMER》,如果你想跳过我将要写到的下面两本书的话,建议你看
《the c++ programming language》。对这两本书,前者最高到中文第三版,因为第四版,后者到特别版
。对于前者,我看后的感觉是它的优点在于解析,特别是函数,类,模板的解析,但是它并没有含盖C++
的方方面面,后者就不是这样。实际上我并没有仔细看过后者,只是同学总是拿这本书上的问题来与我商
量,所以有机会偷窥了几眼。暂定你选择的是前者继续学习,在看完后,也许你用C++编制普通的程序已
经能够运用自如,但是你仍然应该会有很多问题和遗憾,比如,类继承,虚拟继承,类访问控制,类继承
下的访问控制,还有虽然我已经对如何解析十分清楚,但是我仍然感觉我对语法掌握得不系统,遗憾的是
,书中出现了很多的库函数,我为什么都不知道?这个时候建议你看看《标准C++宝典》,这本书对于语
法正所谓事无巨细,一一道来啊,再就是回顾一下《C++ 程序设计》(钱能),对类的部分讲解的还是十
分精辟的。在掌握了一切牢固的语法基础之后,我选择的下一步不是STL,而是IOSTREAM,原因之一是因
为《C++ PRIMER》并没有把这一部分讲述的很好,对了,《C++ PRIMER》也没有把STL讲述的很好,所以
我看《C++ PRIMER》的时候这些章节都跳过了,我的目标是不求知道,只求精通。对于IOSTREAM,我选的
书是《Standard C++ IOStream and Locales》,我当时还是看的E文原版,事实证明,我错了,这本对于
当时的我,难度突然拔的太高,所以在看完了第一章之后我就放弃了,只是暂时的搁置下来了。对了,忘
记说,对于《C++ PRIMER》或是《the c++ programming language》的学习,你应该十分认真的选择编译
器了,我推荐3个首选dev-cpp最高4.9.9.2,然后是vc.net(千万看清楚,不是vc6.0!),最后就是
borland c++ builder-X,具体我就不介绍了,相信你学习到这一步,自己应该已经掌握很多的信息了.继
续,下一步,我的选择是〈深入探索C++对象模型〉,我是在图书馆借阅的,现在也有电子版了,不过我
看了以下,效果一般,但是可以和E文原版的电子版一起看。这本书看完。如果你是跟我一样,把
《C++ PRIMER》翻烂掉,能把《深入探索C++对象模型》的知识要点全部背出来的话,我恭喜你,你的
C++水平已经到中级了:)接下来,我的选择是对C++这门语言为我提供的所有服务设施通透的学习一边。
说穿了,就是库函数,C++库函数分两部分,一部分来自C语言,一部分就是STL,对于C语言部分,我建议
你可以买一本C++函数库的书,最近好象刚出了一本,不过我还没有机会看,我看的是〈C和C++代码精
粹〉,里面把C语言部分的库函数分为3类,这本书我也就看了这3个章节,其他的东西我知道,看他做
甚?而对于STL,你如果真想成为C++出类拔萃的高手,你应该看3本C++标准程序库 泛型编程与
STL STL源码剖析,第一本主要讲的是如何使用STL,第二本将STL的一些设计理念,并指导你进
行泛型设计,所谓泛型说穿了就是指模板。看完这些书,如果你跟我一样,可以把STL全部重写一边的
话,那么恭喜你,你已经成为C++准高手,这个时候我的选择是回过头去看《Standard C++ IOStream
and Locales》,呵,现在才发现原来这本书这么简单!简直是naive!其实,我现在最想做的事情就是能
够把IO全部重写一边,不过还没有找到合适的编译器下手,感觉应该用GCC比较好,还没开始研究,我也
不清楚。好了,既然这么多本讲述C++技术的书籍你都搞完了,也不在乎多两本吧,呵呵。知道你应该看
什么吗?你应该看看exceotional c++还有effective c++,这两本书都有more版,不算太难,最后可
以看《高质量C++编程》,最后有一套练习题,做做,小菜一样。接下来我的选择是C++编程思想 〈设
计模式〉 〈大规模C++程序设计〉(最后一本我最近才看完:P)这3本书可不讲什么语法,第一本实在没
有必要介绍,似乎每一种语言的编程思想的的书籍都是说的如何用这门语言编程,第二本其实并不能说是
针对C++,所有语言通用的一本书,关键是程序设计的方式,第三本被称为〈设计模式〉的C++实践篇,其
意义毋庸多说。看完了吗?好吧,你应该选一个项目锻炼一下。如果你能在一个月内看完这所有的书,欢
迎你加入ISS_SQL开发团队,这个就是我近期想做的事情,我就是想写一个自己的数据库。不过如果你不
是外星人的话,我估计你不可能在一个月的时间内,看完我看了2年的书。对于我刚才说的SQL,我还在选
人,说实在的,现在我的同学里,真的是没有几个人的技术能让我看的上的,哎,得一知己难啊!还是继
续说编程,这个时候,你已经有了顶级的C++基础,想学什么不容易?JAVA,你学了一个月??开玩笑,
我看了一个星期的书就开始做项目了!其实我觉得到了这个时候是一个面临选择的时候,一个是做UNIX下
的开发,一个是做WINDOWS下的,不过我选择了第三条路,也就是我正在学的,算法,因为我的导师正在
做973计划中的数据挖掘项目,所以我也沾光,因为是基与weka,所以我用java,这个B语言真弱智,我已
经开始讨厌JAVA了,所以我才想用C++重写一个WEKA类的开源软件,不过我感觉用java写算法,的确不
错。前段时间,我一个同学为了一个C#问题苦恼,问题粗略说来是GIS设备返回串,要进行处理,提取数
据,因为串本身的复杂性,具体是怎么样的我也不知道,因为他的这个是商业项目。这个问题在C#下十分
困难,连正则表达式都无能为力,所以我给他的建议是写一个自动机,也不知道他最后的处理方式,不过
在java下,呵,大概不超过五十行代码吧。说远了。
最后说说人的问题。有一点点浮躁的人建议你千万别想学C++,直接学VB或者C#算了,希望在浩方有
个排名的人,我直接告诉你,你不应该学C++。
关于C++的学习,我就说这么多,其实也感觉没有说什么,只是把我学习C++看的每一门书都罗列出来
,虽有显摆之嫌,但也确实希望给那些如曾经的我一样迷茫的摸索者,那些希望学习C++且追求完美技术
的人指一条明路。简单的说,你认真看完我上面说的所有书,你就是C++高手!
新手入门:如何学好c++
下面的是学C++时要注意的。
1.把C++当成一门新的语言学习(和C没啥关系!真的。);
2.看《Thinking In C++》,不要看《C++变成死相》;
3.看《The C++ Programming Language》和《Inside The C++ Object
Model》,不要因为他们很难而我们自己是初学者所以就不看;
4.不要被VC、BCB、BC、MC、TC等词汇所迷惑——他们都是集成开发环境,而我们要学的是一门语言;
5.不要放过任何一个看上去很简单的小编程问题——他们往往并不那么简单,或者可以引伸出很多知识点;
6.会用Visual C++,并不说明你会C++;
7.学class并不难,template、STL、generic
programming也不过如此——难的是长期坚持实践和不遗余力的博览群书;
8.如果不是天才的话,想学编程就不要想玩游戏——你以为你做到了,其实你的C++水平并没有和你通关的能力一起变高——其实可以时刻记住:学C++是为了编游戏的;
9.看Visual C++的书,是学不了C++语言的;
10.浮躁的人容易说:XX语言不行了,应该学YY;——是你自己不行了吧!?
11.浮躁的人容易问:我到底该学什么;——别问,学就对了;
12.浮躁的人容易问:XX有钱途吗;——建议你去抢银行;
13.浮躁的人容易说:我要中文版!我英文不行!——不行?学呀!
14.浮躁的人容易问:XX和YY哪个好;——告诉你吧,都好——只要你学就行;
15.浮躁的人分两种:a)只观望而不学的人;b)只学而不坚持的人;
16.把时髦的技术挂在嘴边,还不如把过时的技术记在心里;
17.C++不仅仅是支持面向对象的程序设计语言;
18.学习编程最好的方法之一就是阅读源代码;
19.在任何时刻都不要认为自己手中的书已经足够了;
20.请阅读《The Standard C++ Bible》(中文版:标准C++宝典),掌握C++标准;
21.看得懂的书,请仔细看;看不懂的书,请硬着头皮看;
22.别指望看第一遍书就能记住和掌握什么——请看第二遍、第三遍;
23.请看《Effective C++》和《More Effective C++》以及《Exceptional C++》;
24.不要停留在集成开发环境的摇篮上,要学会控制集成开发环境,还要学会用命令行方式处理程序;
25.和别人一起讨论有意义的C++知识点,而不是争吵XX行不行或者YY与ZZ哪个好;
26.请看《程序设计实践》,并严格的按照其要求去做;
27.不要因为C和C++中有一些语法和关键字看上去相同,就认为它们的意义和作用完全一样;
28.C++绝不是所谓的C的“扩充”——如果C++一开始就起名叫Z语言,你一定不会把C和Z语言联系得那么紧密;
29.请不要认为学过XX语言再改学C++会有什么问题——你只不过又在学一门全新的语言而已;
30.读完了《Inside The C++ Object Model》以后再来认定自己是不是已经学会了C++;
31.学习编程的秘诀是:编程,编程,再编程;
32.请留意下列书籍:《C++面向对象高效编程(C++ Effective Object-Oriented Software Construction)》《面向对象软件构造(Object-Oriented Software Construction)》《设计模式(Design Patterns)》《The Art of Computer Programming》;
33.记住:面向对象技术不只是C++专有的;
34.请把书上的程序例子亲手输入到电脑上实践,即使配套光盘中有源代码;
35.把在书中看到的有意义的例子扩充;
36.请重视C++中的异常处理技术,并将其切实的运用到自己的程序中;
37.经常回顾自己以前写过的程序,并尝试重写,把自己学到的新知识运用进去;
38.不要漏掉书中任何一个练习题——请全部做完并记录下解题思路;
39.C++语言和C++的集成开发环境要同时学习和掌握;
40.既然决定了学C++,就请坚持学下去,因为学习程序设计语言的目的是掌握程序设计技术,而程序设计技术是跨语言的;
41.就让C++语言的各种平台和开发环境去激烈的竞争吧,我们要以学习C++语言本身为主;
42.当你写C++程序写到一半却发现自己用的方法很拙劣时,请不要马上停手;请尽快将余下的部分粗略的完成以保证这个设计的完整性,然后分析自己的错误并重新设计和编写(参见43);
43.别心急,设计C++的class确实不容易;自己程序中的class和自己的class设计水平是在不断的编程实践中完善和发展的;
44.决不要因为程序“很小”就不遵循某些你不熟练的规则——好习惯是培养出来的,而不是一次记住的;
45.每学到一个C++难点的时候,尝试着对别人讲解这个知识点并让他理解——你能讲清楚才说明你真的理解了;
46.记录下在和别人交流时发现的自己忽视或不理解的知识点;
47.请不断地对自己写的程序提出更高的要求,哪怕你的程序版本号会变成Version 100.XX;
48.保存好你写过的所有的程序——那是你最好的积累之一;
49.请不要做浮躁的人;
50.请热爱C++!
补充:
对c++学习的一点感想,希望对初学者能有些帮助
1.如果你以前从来没有接触过c++,那么选择的第一本c++教程就显得尤为重要,我认为你可以参照以下的标准进行选择:
a.对标准c++进行讲解,毕竟c++比从前发生了很大的变化。
b.要求全面,但不要很深,这要有助于你对于c++有一个全面的认识,打好基础,并且易懂的教材还能加快学习的进度,让自己保持一种成就感。
c.要有完整的范例来讲解每一个知识点如何运用,请注意这里所说的完整,并不是一个个代码片断。因为由于你以前从未接触过用c++进行编程,完整的代码可以使你有一个整体的概念,并且能够很快去进行大量的实践,因为变编程是从模仿开始,完整的代码恰恰告诉你了一个完整的步骤。不必自己去揣测。
d.推荐:《c++ primer plus》
2.当你有了一定的基础以后,就要选择一些书来迅速提高自己。这类书的特点是不仅仅教你如何去运用,而且要叫你如何去思考,并且你读起来也不是那么轻松。它意味深远,并不是你读一遍就能掌握的。
推荐:《thinking in c++》《effective c++》《more effective c++》
《c++ programming language》...《c++ 沉思录》
3.接下来就是对第二步所介绍的书籍进行反复的阅读,并且进行实践。由于这些书一位深远,每个人基于自己的基础都会有不同的收获,例如如果你的基础还没有达到某一高度,那么你就对一些精深的技术视而不见,不信?你可以试试,看看当自己有了一定提高之后再来读从前的一本书,你会发现许多新的东西。
网页名称:vb.net李春葆,net vb
网站链接:http://ybzwz.com/article/hceogd.html