第一篇:C++语言学习心得
C++语言程序学习心得体会
通过一学期对C++语言的学习,我感觉C++语言是有一定难度却又是非常有趣的科目。也是很有帮助的,对我们未来工作学习而言。我们可以通过C++语言进行更深层次的理解和思考。通过学习我懂得了C++语言是面向对象的一种编程语言,就像以后可能学习的Java语言一样,在市场上应用性很强的,十分有用处
要对C++语言学习时,一定要了解什么是C++语言以及C++的构成,C++设计成尽可能与C兼容,C++中提供一个从C到C++的平滑过渡,C++避免平台限定或没有普遍用途的特性。在面向对象的程序设计中,对象具有状态(属性)和行为,状态保存在成员变量中,行为通过成员方法(函数)来实现。C语言中的结构体只能描述一个对象的状态,不能描述一个对象的行为。在C++语言学习中,对结构体进行了扩展,C++的结构体可以包含函数。
学习语言是需要技巧的,无论是哪种语言,里面都是有规律的。对于计算机语言来说,我认为应该先理解,然后上机去实现它,实践是检验真理的唯一标准。代码量的积累对于一个程序员来说太重要了,这也是区分程序员之间水平的一个标准,这就像我们小学刚开始学习英语一样,每个人都是从26个字母开始学的,C++也是一样,先从简单的代码块开始记忆,反复记忆,每周进行周期性的阶段复习,每天要求自己敲500行代码,找到敲代码的感觉,这个感觉很重要,一旦养成每天敲代码的习惯,我想这就是走向成功的开始。
尝试看一些小程序的代码,主要看编程者的思路、整理流程、框架格式、用到哪些函数?哪些变量?一点一点去剖析。沟通是一个必不可少的环节,任何一个项目的完成都是离不开团队合作的,学习也是一样,闭门修炼,只会造成思维定视,经常跟学的比自己好的同学进行沟通,这是有效的提高自己水平的一种途径,有时会发现自己找到世外桃园,那真是豁然开朗。
对于学习,主要还是要自己努力,老师已经教的很仔细了,但是学习的主动权在我们手中。我们要对这门语言要有兴趣。可能会有很多不知道,不理解的地方,当时我们应该多思考,借助一些书籍及网络的条件,进一步理解和体会。把自己学习的东西融会贯通就好了,主要还是在于对于课本的理解,主要还是自己领悟。
每个人都有每个人的学习习惯和方式,但是每个人的时间都是一样的,这就看每个人的学习效率和学习方法如何了,找到一条适合自己的学习方法和技巧才是真的好方法!好技巧!
第二篇:C++学习心得
C++学习心得
在计算机课程中,C++程序设计是计算机专业的一门必修基础课,该语言以其高效而又实用的特性:既可以进行过程化程序设计,又可进行面向对象的程序设计,是进行软件开发的直接工具。
学习语言是需要技巧的,无论是哪种语言,里面都是有规律的。对于计算机语言来说,我认为应该先理解,然后上机去实现它,实践是检验真理的唯一标准。
C++语言课程是一门实践性很强的课程,一定要动手多写设计、编写程序才能有所进步。在实践教学中必须做到循序渐进,对所学的每一部分内容都应该要求学生完成一定数量的实验内容。每部分的上机习题必须精心挑选,既要有基本的、较简单的题目,又要有一些具有挑战性的新颖有趣的题目。自己编写的程序一定要到机器上去实现,通过调试程序来修订语法错误,排除逻辑错误,进而提高编程能力,通过做一定量的习题,可以积累一定的经验,同时对程序设计的精髓会有所领悟,从而重视上机实验。
实践重要,老师的教学方法同样重要。要强调学以致用,展示学生能够理解而且又容易提起兴趣的用C++语言设计的软件以及往届学生的设计成果,给学生布置了几个专题,比如:设计班级成绩管理系统、简易的图书管理系统、简易的通讯录管理系统、小游戏等让学生利用课余时间去思考、收集资料,以教师为主导,以任务为主线,以学生为主体,过一段时间在课堂上组织学生发言和讨论一次,看看大家对这些问题的思考程度,提提建议,鼓励加引导,最后到完成。这种教学法不仅可以让学生获得许多课外知识,同时也促进教学内容的改革,而且也有利于充分挖掘学生的学习潜力。
当然,仅靠一个学期的C++语言的学习是远远不够得,需要在后续课程中进行巩固提高。C++兼容C语言,C语言是C++的子集,我们把C语言和C++融合为一门课程,第一学期授课以C语言为主,第二学期讲授以C++为主,所有程序都以VC++为调式环境。经过这样的整合,知识内容显得很连贯,一气呵成,为第三学期的Windows程序设计课程奠定了基础。后继的数据结构、算法分析与设计、计算机网络原理等课程实践环节都利用C++语言进行开发,开展3年不间断的C++编程训练。
第三篇:c++学习心得
c++学习心得
2008-03-12 16:24
为初学者指路
首先声明,我可不是什么高手,也就是刚脱贫。因为运气很好,买到了几本好书,在学习过程中几乎没走什么弯路,没费什么劲就入门了,现在一般的小程序能搞定了。看到那些因为不知从何下手而苦苦挣扎的朋友,希望我的文章能给他们一些帮助。
学编程急不得,上来就学VC肯定碰一头灰,说VC难就难在这点上了。如果硬上,意志坚强的话也许能挺过来,但也是会缺乏后劲,不得不回过头来补习基础知识。意志不坚强的话,很有可能就此放弃了,并留下一个VC难得不得了的印象。其实,只要踏踏实实一步一步来,VC也就是很简单点事。在这里我说一下,如果你还只是一个初中生,那么你就应当仔细考虑一下了。首先,限于你的知识和思维能力,学学C语言还应该没问题,但要学VC是要下相当大的功夫的。而且,你现在学到的东西将来一定会过时,所以不如把精力放在算法的研究上,毕竟这些东西永远都不会过时。
我觉着如果走对路子,入门VC,一个暑假应该够用了。
虽说学VC并不是传说的那么难,可不下些苦功夫是学不成的。在学VC前,你必须确定,你是因为热爱编程才学VC的,而不是出于炫耀或其他。否则,恐怕你坚持不到胜利的那一天。
对于首次接触编程的同学,我建议最好先学一下Quick BASIC(DOS里就有带,就是那个QBASIC.EXE),不用多学,知道什么是整型什么是浮点,以及DO...LOOP FOR...NEXT 等最基本的知识,能算个阶乘,求个积分就行了,关键要明白计算机是怎么执行命令的,对编程有个感性认识。如果你对自己有自信,也可以直接学C++,应该也不会多费太多事。不过我觉着因为有很多资料是FOR VB的,并且网页编程常用VB Script,以后你也很有可能要用到VB,所以了解一些BASIC对以后也是有帮助的。而且如果只是要算个小题用QB比VC、VB之类方便多了。(找个人教一两天应该就能搞定了吧)
之后我建议找本初高中信息学奥赛的书(有些奇怪吧)。这些书里讲解了基本的算法,写的却比较通俗,没什么高深的数学知识,容易理解。这些东西在数据结构课程中有系统严密的讲解,所以也可等以后再学。但我觉着现阶段写一些小程序,实现些常用算法对自己的思维是很好的锻炼,对以后的学习大有好处。我想,能排排序,求个八皇后,算个汉诺塔,再知道深、广度优先搜索就可以了。
如果你已经有一些编程的基础知识了,自然就可以跳过以上两步。
等你对编程有一定的认识后,就应该开始进军C++了.注意,是C++而不是VC,这两者根本不是一码事!别买VC入门,你肯定看不懂!C++是一门语言,而VC教程则是讲解如何使用MFC类库,学习VC应建立在充分了解C++的基础上。
我觉着比起许多花花绿绿的大全、宝典,不如买本大学的C++教程(注意:别买等级考试的教程,那是应试用的),那些教程大都经过反复锤炼,比较系统,很有含金量,有不会太贵。这里我暴力推荐由清华大学出版社出版的一本《C++程序设计教程》,封面是红色的,封底是黄色的,看起来很朴素,主编是钱能。这本书简直是好的没法说,还便宜(39.5元)。这本书不但告诉你语法,还告诉你为什么要这样规定语法,看完之后,你会觉着那许许多多的规定是理所当然的,根本不用费心记,不但不枯燥,反而会使有一种美感。书中还有许多实际编程时应注意的问题,很有价值。这本书还配有《实验指导》,和《习题集》,不过对于有一定编程经验的人应该是用处不大,所以我没买。除了这本书,我建议再买本关于传统C语言的书,要着重以下几个方面:编译预处理、typedef的使用,位运算,标准库函数的使用(最好有一个比较详细的列表,用的时候好查)。
C++的标准类模板是个不错的东东,不过对于学习MFC却没有帮助,原因是MFC太落后了(^_^),可以先放一放,要不要学等搞定MFC时再作决定。虽然我没怎么学过,不过觉着它挺不错,而且代表了一种发展方向。虽然学着费劲(那东西几乎没一点C++的样子,简直是在学新语言),但掌握它可使编程轻松不少。
学完了C++,该学VC了吧?别急,先找本WIN32编程的书,这次没什么讲究,看着差不多的,便宜一些的就行了,如果有对于VC集成环境的介绍就最好了。WIN32编程是指用WINDOWS API编程,MFC是将众多的API函数进行了封装的类库,用起来方便了不少,但如果没有一些API编程基础,对相关概念不了解,学起MFC来可能会很费解。相信我,将来你不会觉着学API编程是浪费时间的。API函数有两千多,要都学会累死。其实你只要知道如何创建窗口、对话框、控件、消息循环,了解了句柄的含义就差不多了,最好再了解一点GDI编程。这个阶段的关键是要理解WIN32程序是如何运作的,把握各种窗口间的关系。因为你以后应该很少直接用WIN32 SDK编写程序,所以关键是理解整体结构,记住几个函数并没有什么意义。函数用的时候可以现查。手头应有一份比较全面的资料。中文的API函数大全好像只有For VB的,不过看起来应该是没有任何障碍。英文的资料MSDN中就有,相当全面,也比中文的详细一些。我建议用中文资料快速查找,有问题再看英文。(我忘了我的html版中文API大全是从哪下载的了,不过书店有售,白皮的,很厚一本,很贵就是了。谁想要可以与我联系iamsor@sohu.com)
对于想学游戏编程的朋友注意:从现在起,你不必去学什么MFC了,相信我,那东西除了让你头疼一点用处都没有。游戏都使用Win32 SDK编出来的。现在,你要学的是DirectX。我推荐老王翻译的DirectDraw文档(),前面有一些老王自己写的基础知识,很适合入门,在此特别感谢老王的辛勤劳动。我还买了一本《DirectX 7 速成教程》,机械工业出版社出版,封面封底都是红色。除了翻译惨了点还算不错,介绍的挺全面,还有一些游戏编程基础知识。如果你想图省事,可以考虑用云风编写的风魂游戏库,很方便的(对云风的辛勤劳动表示感谢).不过我仍然建议至少了解一下DirectX.这里说一下,很多朋友抱怨找不到有关DirectX的书籍,我告诉你,别去编程书籍里找,去多媒体制作书籍那找,还要把眼睛瞪得大大的、圆圆的。Director..Director..DirectX!!知道了吧,书店工作的人眼神都不大好,我也是有一天没事瞎转才发现的,吓了我一大跳。发现这个秘密后我发现其实有不
少关于DirectX的书,只是一般人找不到罢了。学会了DirectX,就可以开始奋斗了,剩下的问题就只有积累经验了。
对于志向是应用软件的朋友,打好了基础,现在进军VC的障碍都已扫清了。不过还是应做好充分的思想准备,事情不会那么顺利的。刚开始,你就要面对一个瓶颈,大量的紧密关联的知识,使你必须一下理解一个整体,而很难一点点来。可以说,学VC最难的就是刚开始。情况有些类似于你第一次创建窗口时面对的那长长的程序,只不过更糟糕就是了。很多人就是在此被一大团知识噎着,放弃了学习。事实上,这几乎是Windows编程的一大特点,在WIN32编程时你就应当有所体会,而DirectX和COM都有类似问题。记住,一定要坚信:突破了这个瓶颈之后便是一片海阔天空,而有着扎实基础的你是一定能闯过去的。
我的建议是,不要等彻底弄明白一句才看下一句,而是知道好像怎么回事就向下看,实在看不懂也硬着头皮往下看,等能比猫画虎的作出个菜单、对话框时便回过头再看一遍,几遍之后应该就可以大概明白MFC程序的运作了。注意:这里有个关键,一定要用心体会面向对象编程的精神,努力将眼前的程序与你之前所学的知识联系起来。通过比较成员函数和对应的API函数间的区别,尝试去理解MFC是怎样封装相关的API的。例如,相当多的类将句柄封装了起来,在传递参数时加以省略,这就是一个很重要的特性。MFC中有许多的宏,看起来很奇怪,但你不必理会其实现方法,只要知道如何使用便可,这点也很重要。还有,千万不要过于依赖ClassWizard,对于其生成的代码要自己进行分析,偷懒就不能真正理解MFC。
这里我介绍一种学法,不过学法这种东西因人而异,所以还要根据个人的情况决定。开始时,教程让怎么办就怎么办,比猫画虎的作出个菜单、对话框,然后试着添加控件。等能不看教程便做到这些时,开始逐字逐句的试着理解MFC程序的组织。若看不懂就跳过看下面的。就这样一遍一遍来。如果觉着头大就先歇上两天,等清醒了再接着来.最好在这期间多找些介绍MFC框架的文章。注意:先不要碰有关文档/视结构的东西,否则你会更头大。然后便可试着写个定时器、名片夹之类的小东西,熟悉一下各种控件的使用。突破了开始的瓶颈之后再学下去便会越学越容易,因为你可以一点一点的积累知识,而不用担心被噎着了。再过不久,你就不得不开始使用API函数完成一些功能,如在系统托盘加图标,自画列表框等。这时,你也会体会到学习WIN32编程的好处了,没学过的人很可能就此卡壳。
关于VC的教程遍地都是,但鱼龙混杂,市场乌烟瘴气,骗钱的书真不少。有些书很厚,内容当然也很全,对老鸟很不错,但对于初学者似乎有些浪费钱,因为里面绝大部分的东西MSDN中都有,并且初学者用不着。老外写的书一般内容不错,但翻译水平是个问题。如果翻译糟糕可够你受的,加上价格不菲,我也不建议初学者买。还有些什么傻瓜书、图解之类,好像是面向初学者,时则为骗钱,你看完后除了那几个例子什么也不会作。如果你看到有一本书花了大量的篇幅图文并茂,生动形象的介绍如何画图,输出文字,别买!骗钱的!(:-< 我就被坑去42块现大洋)那些花哨的东西对初学者除了转移注意力没任何好处。如果你真的对GDI绘图很感兴趣,就去找些专门书籍,比那些书好多了。最好买名字类似于VC应用,VC编程之类比较正式的,图不要太多的,字不要太大的,最好是
有较多的控件介绍的。当然,文字流畅也是很重要的。书不要买太多,最多两本,因为这些书内容都差不多,买多了的话东看西看反倒没好处。在这里,我建议初学者先别急着掏钱,而是去VC王朝(http://vcdynasty.yeah.net/)下载本MFC教程。虽说是网上教程,却当相当有水准。不但内容比较全面,还一句废话也没有(这里感谢作者的辛勤劳动)。只是可惜对GDI没有一点介绍,还须其他书籍作补充。等搞定这本教程时,应该就已经入了门,可以有针对性的选购书籍,不用担心上当受骗了。还有,VC知识库()的网上杂志也很不错,对刚入门的人很有帮助,建议下载。入了些门后,各个网站多转转,看见好文章就往下拉,对提高水平很有好处。
一套MSDN光盘在这时是必不可少的,什么都找中文资料是不可能的,即使能找到也会很费时间和金钱,只能看硬着头皮英文。不过以我的经验看,只要有高中水平的英语,加上金山词霸一路滑过去,看那种专业文章还是很容易的。还有,初学者一上来可能根本不知道上哪找需要的东西,我在这里把常用的地方列一下:
WIN32 API:平台SDK->Reference->Win32 Functions in Alpha Order
MFC类库资料: Visual C++ Documentation->Reference->Microsoft Fo...C/C++语言及标准库资料: Visual C++ Documentation->Reference->C/C++...标准控件: 标准控件都被MFC封装了,可以参考对应的类,如Edit控件对应CEdit类.VC中带的ActiveX控件: Visual Basic文档->参考->控件参考(唯一的中文资料,却是最糟糕的。不但是For VB,与C++有很大区别,还翻译得乱七八糟,几乎没法用.如有高手知道哪有英文资料还请告知,不胜感激)
目前市面上的MSDN光盘已经有一段历史了,有些东西可能有些过时。要最新资料的话,可以到微软的网站(当然是全英文的)。不过对于初学者似乎没有必要。
搞定VC后,要学什么都随你便了,再学C++Builder,VB,Dephi,java什么的都是一点难度都没有了,感觉就象是把关键字换了换。或者可以去啃啃COM,据说那是块硬骨头(不过好像也只是入门难,因为有了之前的经验,虽然我没碰过,但花点时间应该是搞得定的。另外DirectX编程经验在此应该是有些帮助的)。
最后,我建议有时间的话多研究一下各种算法。数据结构是一定要看的。不一定要记住(话说回来,不经常用的话也记不住),但至少要知道有那么回事,万一碰到问题了要知道往那边*。其实,常见的链表等结构以及排序等算法在C++标准类模板中已经实现了,不用你去费劲,但有些了解的总是有好处的。至于离散数学、线性代数什么的,对于复杂些的算法是必需的,其中离散数学是数据结构的基础。不过,我倒觉着只要不是太复杂的问题只用经验也能解决(就象奥赛书中那样,只是实现而没有证明),而且那些东西不用就会忘。万一碰见个难题解决不了,找个高手帮忙也不错,省时省力^_^。
下面是我想到的一些杂七杂八的问题,没什么条理,凑或看吧:
英语水平不用很高,但至少要有高中水准,否则有你受的。
看书一遍看不懂没关系,事实上,要一遍就能弄懂你就很有天分了。只要多看几遍,综合分析,应该是没有什么问题的。
现在的世道,不是书到用时方恨少,而是书到用时方能学。不要试图满把抓,而要用到什么学什么。这样,学的又快,记的又牢。
一个错误认识-学编程*的是记忆:这是很要命的思想,会让你累死而无所得。事实上,你几乎不用特意记任何东西。对于各种函数、语句,只要知道有那么个东西,用的时候知道上哪找就行了,用多了自然就记住了。学编程关键在理解编程思想。
一个小技巧:活用编译器可以帮你很多忙。在VC中,当你输入成员符号.或->时,程序会自动列出此类的成员,你只要选一个就行了。这样便省了很多记忆负担。例如,你想获得一个CString类对象的长度,对应方法肯定是Get什么,但是GetLetterNum还是GetStrLength却不知道,你可以输入xxx.Get,这样,你便可从列表中找到一个GetTextLength(),不是这个还能是什么,单击它的话还可能出现说明。还可避免打错字。如果想调用本类的成员函数,就输入this->,就可以查看成员列表了。对于全局函数,则是输入::即可。这样的话看起来还清楚。还有,如果没有出现那个列表,八成是你弄错了什么东西,例如变量没定义,或打错了字,但也可能是VC的BUG,很少就是了。对于初学者,这可是很好用的功能。
初学编程应遵循的一条原则:比猫画虎、不求甚解。关键在于很多东西你就甚解不了,例如MFC中稀奇古怪的宏。而且,甚解了也没太大的好处,暂时还是不要管它,会用就行了,什么时候有了闲工夫再来慢慢琢磨。多留心别人的程序是如何实现的,并照着去做。有时,一些小问题也体现着高深的思想。比如,一个变量要定义在什么地方,如何组织类的结构。如果不太明白,就先找着别人的样子去作,时间一长就会自然而然的明白,这就像下棋一样,老头怎么下,你也跟着怎么下,毕竟他出错的可能比你小。
还有,我觉着初学者不应把过多的精力放在象Cool的工具条,透明的、气泡状的窗口之类的工作上。再搞这些之前,你最好问问自己,自己的程序配得上这些漂亮的界面吗?尤其是,千万不要在刚开始动手时就先打扮界面,以免界面也弄好了,热情也没了。毕竟,看在眼里的成果给人的刺激比枯燥的算法强得多。如果你想搞的话,也要等程序主体定型后再搞。初学时还应多留心关于程序结构组织的文章,这些东西是很重要的。要从一开始便养成良好的风格。否则有一天当你决定编一个大点的程序时,你就会发现干到一半就干不下去了。
编程不是技术活,而是体力活:学的时候满脑子全是技术,可用的时候就真成了体力活了。真正做起东西来,最重要的是要有毅力坚持到完。意志不坚强就难免半途而废。关于初学者是该学VC还是该学VB的问题:我觉着,学VC会难一些没错,但掌握学习方法的话也没想象的那么难,而且学VC才能深刻领会面向对
象编程的精髓。它使你的思想提升了一个高度,对以后的发展是大有好处的。再说,如果这点困难都克服不了,以后也很难有什么作为。所以,即使你打定主意用VB,也还是花些时间看看VC,至少知道它的大概结构。从长远看,这是很有好处的。
关于学C++ Builder还是Visual C++的问题:也许VC真的不太好,但总不会太糟。可关于VC的资料不知是关于C++ Builder的多少倍。尤其对于初学者,这时很要命的!何况两者相差其实并不太多,学会了一种,再学另一种也不会太费事。
第四篇:C++学习心得小结
C++的学习心得
注意:因为我们在实验室大多是以项目为基础来学习C++,这样可能导致我们不能形成一个知识体系,所以建议大一同学脚踏实地的从头学习C++,即使时间不充裕的大
二、大三同学在学习时也要做好笔记,以便下次遇到同样的错误能很快解决。
介于大多数人都要学C语言,所以本文就以C++与C语言的对比开始。
要区分C语言和C++的不同,首先要想明白,用砖头建造城市、用房屋建造城市与用两者共同建造城市的不同。1.想要学C++必须掌握C语言的基础运用,这要从C++的产生说起。C++其实并不是一个新的计算机语言,它只是在C语言的基础上预先编写好了很多函数。所以如果把C语言比为砖块,那么C++就是有砖块组成的一些小的建筑。所以学习C++必需先掌握C语言的基础运用。2.C语言和C++哪个难?
其实这个问题提的很不理想。试问:建起一个城市,是用砖头从头建起来简单,还是把一些已经建好,并且使我们需要的房子摆放好简单?很明显C++本身的作用是为了方便使用C语言编程。3.C语言和C++在语法上有什么不同?
就我最近对C++学习时遇到的一些问题来看,C++在语法上基本与C语言一致。但是由于房屋是别人建的,要使用它就要明白它们的建造过程(当然有些我们只要直接使用就行了,尤其是在前期)。而C++中封装的函数,也是C++的开发者已经建好的,所以我们要很好地使用它们就要明白它们的建造方式,至少要知道它们的使用语法。
4.C++语言与C语言的不同之处(准确的说应该是来看看C++开发者已经为我们做好了什么)
注意:以下只是我在编写六维鼠标时遇到的,不全面,其余区别大家可以在以后的学习中自己摸索。1)c语言后缀.c,c++后缀.cpp。
2)当函数定义放在函数调用之后时,C程序的函数原型即声明有时可省略,而C++的函数声明不能省略,而且还要求函数的所有参数在函数原型的圆括号中声明。一个不带参数的C函数原型必须使用void关键字,而C++函数原型可以使用空参数表。
3)C++中用new和delete运算符取代C的内存分配和释放函数malloc()和free()。4)const常量类型:用来表示一个“常值变量”与#define的区别: #define size 20
//不加;只是文本替换此后不再检查,可能产生负作用 Const int size=20;//加;替换时进行严格检查,只有当size是int型时才替换。
C++面向对象的程序设计
概述:面向对象不只是一种程序设计方法,还是一种建立客观事物模型、分析复杂事物的思想方法,他是以人们通常描述现实世界的方法来描述要解决的问题。
1.结构化程序设计:是一种自顶而下、逐步求精的模块化程序设计方法。
类:对象是累的一个实例。类=数据结构+对数据进行操作的函数
面向对象的程序设计的基本特征:抽象、封装、继承和多态。
抽象:对一类对象进行概括,抽出他们共同的性质并加以描述的过程。
封装:将抽象得到的属性数据和行为代码有机的结合,形成一个具有类特征的统一体。继承:一个新类可以从已有的类派生而来。
多态:不同对象对于同样的施加于其上的作用会有不同的反应。2.类的定义与实现:
加上类名和作用域限定符(::)。
3.成员函数的定义形式与一般函数的定义形势基本相同,但如果在类的外部定义成员函数,必须在成员函数名前一般将类的定义放在头文件(.h)中,类的实现放在源文件(*.cpp)中,二main主函数可以放在另一个源文件中。在源文件中用#include编译预处理指令包含头文件。
4.对象:对象是类的一个实例,定义并实现了类,就可以利用类来声明对象,其形式与普通变量的声明类似。
例如:以下用类Time声明了对象t1,today和对象的指针pt1:
Time t1,today;//声明对象t1,today //声明指向对象t1的指针pt1
Time *pt1=&t1;
声明对象后,就可以像引用结构变量一样,利用成员运算符“.”或指向运算符“->”引用对象的公有成员,但注意不能引用对象的非公有成员。如:pt1->setTime()或t1.showTime()5.构造函数和析构函数:在声明对象时,对象一般需要进行初始化,及对成员变量进行初始化。在定义类时不能对成员变量进行初始化,因为不能确定类中定义的成员变量是属于哪一个对象。
构造函数:是一种特殊的成员函数,特殊性在于:它不需要用户程序调用,就能在创建对象时由系统自动调用。其作用就是在对象被创建时利用初始值去构建对象,使得在声明对象时就能自动地完成对象的初始化。析构函数:是在对象的生存期即将结束时由系统自动调用的。析构函数的作用与构造函数相反,用来在对象被删除前做一些清理工作和数据保存工作。
构造函数的名称与类名相同,析构函数的名称是在类明前加符号“~”构成(表达取反的意思)。注意,构造函数和析构函数不能有任何返回类型,包括void类型;析构函数不能有参数。下例说明了构造函数和析构函数的定义方法及执行顺序
6.静态数据成员在储存类型上类似于一般的static静态变量,也具有全局性。
静态数据成员的属性也可以是公有、私有或保护的。对于公有静态数据成员,除了可以像一般数据库成员那样,直接通过对象或在成员函数中访问它们,还可以利用类名加作用域限定符(::)来访问他们。对于私有和保护属性的静态数据库成员,只能在成员函数中访问它们。
由于静态数据成员不具体属于哪一个对象,因此不能构造函数或其他成员函数中对他们进行初始化,他们的初始化必须在类体外进行。
注意:静态成员函数只能访问类的静态成员(成员变量和成员函数),而不能访问非静态函数。解决这个问题的方法是将对象作为静态成员函数的参数,然后在静态成员函数中通过对象访问非静态成员。
7.this指针:在成员函数中访问数据成员或调用其他成员函数不需要指定对象,因为他们都是通过一个隐藏的this指针确定当前的对象。
例如:void Time :: showTime(){cout< void Time :: showTime(Time* this){ cout< 8.友元 定义:友元的另一种类型是友元类,一个类可以声明另一个类为其友元类,友元类的所有成员函数都可以访问声明其为友元类的所有成员。 构成:一个函数要成为一个类的有元函数,需要在类的定义中声明该函数,并在函数声明的前面加上关键字friend。 作用:友元提供了不同类或不同类的成员函数之间以及成员函数和一般函数之间的数据共享机制。注意:友元关系是单方向的,不具有交换性和传递性。 9.常对象和常对象成员:对于急需要共享又需要安全的数据,可以利用const来进行保护。 常对象:常对象的数据成员的值在对象的整个生存期内不能被改变,必须利用构造函数进行初始化,且以后不能再被更新。声明格式有以下两种: const<类名><对象名>(初始值类表)例如:const Time meeting(8,30,00);成员函数称为常成员函数。格式如下: <函数类型> <函数名>(<参数表>)const;例如,下面声明的成员函数MemberFun()就不能修改对象的数据成员。 void MemberFun()const;在常成员函数中只能调用常成员函数,而调用其他普通函数可能会造成简介修改数据成员。 常数据成员:可以使用const关键字将数据成员声明为常数据成员。常数据成员的初始值只能通过构造函数获取,并且只能在构造函数的初始化列表中设置其初始值。静态常数据成员初始化只能在类体外进行。11. 继承与派生:C++中,可以在已有类的基础上定义一个新类,新类称为原有类的派生类或子类,而原有类称为新定义类的基类或父类。 语法如下: class<派生类名> : [<派生方式>] <基类名>{… 例如: //派生类新增加的成员声明列表}; <类名> const <对象名>(初始值类表)10.常成员函数:可以使用const关键字限制成员函数对数据成员进行修改操作,这种使用const关键字进行声明的class Car : public Vehicle{… //在派生类Car中新增加的成员};基类中原有成员的访问权限在派生类中可以被修改,它们的访问权限由派生类定义中的<派生方式>决定。但注意,为了不破坏基类的封装性,无论采用哪种派生方式,基类的私有成员在派生类中都是不可见的,即不允许在派生类的成员函数中访问基类的私有成员。 public:punlic(公有派生)是类继承中最常见派生方式。这样就可以在派生类的成员函数中访问基类中原有的非私有成员,并能通过派生类的对象直接访问基类中原有的公有成员。private:采用private(私有派生),只允许在派生类的成员函数中访问基类的非私有成员,不能通过派生类的对象直接访问基类的任何成员。 protected:采用protected(保护派生),基类中所有的公有和保护成员在派生类中都成为保护成员。总结:派生方式就是把基类的非私有成员在派生类中以什么类型存在。 《C++语言课程设计》题目 课程大纲: 一、教学目标和基本要求 本课程全面系统的学习面向对象程序设计的基本概念,基本语法和编程方法。正确理解掌握C++面向对象程序设计的基本特性:类,对象,继承与派生,多态,虚函数,模板,流类库等。遵循软件过程的各个环节进行系统分析、设计、实现、集成、测试,了解当前常用的软件开发工具(Visual C++),培养学生解决实际问题的能力。 二、组织方式 结合具体的实践项目,以分组的形式(4-5人一组)开展程序设计的上机实践。 三、考核方式及办法: 完成包括从概要设计、详细设计、代码编写、程序调试、运行在内的一系列程序设计及文档撰写,要求系统调试成功、可正常运行,文档规范完整。 四、时间安排: 期末考试前最后一次课学生PPT讲解。 五、实践教学中应注意的问题 1.组织管理的要求:4-5人一组,要求发挥团队合作精神,分工协助。2.对学生的要求:与小组同学分工合作,认真完成系统设计、编写代码、程序调试及文档撰写。3.学生采用PPT讲解。 C++语言课程设计任务书1 题目:学院教学信息管理系统 功能:学院教学信息管理系统,每一条记录包括一位教师的职工号、姓名、职称、性别、3门课程,教学效果综合评分。系统要求实现以下功能: 1、输入:输入每一位教师记录,将其信息写入文件中。 2、显示:显示每位教师记录。 3、排序:按职工号或教学效果综合评分进行排序,并显示。 4、查找:完成按姓名或课程查找教师的相关记录,并显示。分步实施: 1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数。 2、建立一个文件,将每位教师的相关(教学)信息写入文件中并能显示于屏幕上。 3、完成排序(按职工号、姓名、职称等)、查找等功能。要求: 1、用C++语言实现程序设计; 2、利用结构体数组实现教师信息的数据结构设计; 3、系统的各个功能模块要求用函数实现; 4、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求: 1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划 第 1 页 《C++语言课程设计》题目 分。 2、实验总结报告:流程图、主要源程序代码、测试情况及调试中问题与解决方案、小结等。 C++语言课程设计任务书2 题目:酒店房间登记与计费管理系统 功能: 1、屏幕上出现一个界面,让操作员能够方便的选择所需要进行的操作,包括登记入住、查询房间的入住情况、查询当前费用、结账退房等操作。 2、对不同标准的房间实施不同的收费标准,也可以按天收费或按小时收费,可根据顾客需要在登记的入住的时候进行选择。 3、在结账退房时,根据入住的时间,计费方式和房间单价计算出总费用。分步实施: 1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数; 2、完成最低要求:建立房间列表,完成登记入住、查询房间入住情况功能。 3、进一步要求:完成计费和费用查询功能。要求: 1、用C++语言实现系统; 2、系统的各个功能模块要求用函数实现; 3、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求: 1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。 2、实验总结报告:流程图、主要源程序代码、测试情况及调试中问题与解决方案、小结等。 C++语言课程设计任务书3 题目:学生成绩管理系统 功能:学生成绩管理系统,每个学生是一个记录,包括学号,姓名,性别,3门课程成绩。系统 要求实现以下功能: 1、信息录入:录入学生成绩信息(包括学生学号、姓名、各门课程的成绩等); 2、信息查询:输入学号,查询学生各门课程的成绩,并显示。 3、排序:按各门课程的成绩平均分进行排序,并显示。 4、信息删除与修改——输入学号,删除该学生的成绩信息。分步实施: 1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数。 2、建立一个文件,将每位学生的信息写入文件中并能显示于屏幕上。 3、完成上述信息查询(学生学号、姓名等)、排序、信息删除与修改功能。要求: 1、用C++语言实现程序设计; 2、利用结构体数组实现学生信息的数据结构设计; 3、系统的各个功能模块要求用函数的形式实现; 4、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求: 1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。 2、实验总结报告:流程图、主要源程序代码、测试情况及调试中问题与解决方案、小结等。 C++语言课程设计任务书4 第 2 页 《C++语言课程设计》题目 题目:职工档案管理系统设计 功能:职工档案管理系统设计,每个职工是一条记录,包括编号,姓名,性别,出生年月,所在 部门,职称,工资级别、电话等。系统可实现以下功能: 1、输入功能:输入每一位职工记录,将其信息存入文件中。 2、显示功能:完成全部职工记录的显示。 3、查找功能:完成按编号或姓名查找职工的相关记录,并显示。分步实施: 1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数。 2、建立一个文件,将每位职工的信息写入文件中并能显示于屏幕上。 3、完成上述查找(编号,姓名,性别等)、修改等功能。 4、进一步要求,修改记录设置密码操作。要求: 1、用C++语言实现程序设计; 2、利用结构体数组实现职工信息的数据结构设计; 3、系统的各个功能模块要求用函数的形式实现; 4、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求: 1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。 2、实验总结报告:流程图、主要源程序代码、测试情况及调试中问题与解决方案、小结等。 C++语言课程设计任务书5 题目:学生管理系统设计 功能:学生管理系统设计,每个学生是一条记录,包括姓名、学号、性别、出生年月、专业、班级、家庭地址、宿舍号码等。系统要求实现以下功能: 1、输入功能:录入学生信息(包括学生学号、姓名、性别、出生年月、专业等); 2、显示功能:完成学生记录的显示。 3、查找功能:完成按学号或姓名查找学生的相关记录,并显示。分步实施: 1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数。 2、建立一个文件,将每位学生的信息写入文件中(人数利用宏定义设定)并能显示于屏幕上。 3、完成上述显示、查找(姓名,性别等)、修改等功能。 4、进一步要求,修改记录设置密码操作。要求: 1、用C++语言实现程序设计; 2、利用结构体数组实现学生信息的数据结构设计; 3、系统的各个功能模块要求用函数的形式实现; 4、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求: 1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。 2、实验总结报告:流程图、主要源程序代码、测试情况及调试中问题与解决方案、小结等。 C++语言课程设计任务书6 题目:银行存取款管理设计 第 3 页 《C++语言课程设计》题目 功能:能够输入和查询客户存款取款记录。在客户文件中,每个客户是一条记录,包括编号、客户姓名、支取密码、客户地址、客户电话、账户总金额;在存取款文件中,每次存取款是一条记录,包括编号、日期、类别、存取数目、经办人。类别分为取款和存款两种。本系统能够输入客户存款或取款记录;根据客户姓名查询存款和取款记录。分步实施: 1、初步完成总体设计,搭好框架,确定人机对话界面,确定函数个数; 2、建立一个文件,输入客户的必要信息,能对文件进行显示、输入、修订、删除等。 3、进一步要求:完成客户姓名查询存款和取款记录,并能得到每次帐户总金额。要求: 1、用C++语言实现系统; 2、利用结构体数组实现信息的数据结构设计; 3、系统的各个功能模块要求用函数的形式实现; 4、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求: 1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。 2、实验总结报告:流程图、主要源程序代码、测试情况及调试中问题与解决方案、小结等。 C++语言课程设计任务书7 题目:院职工工资管理系统设计 功能:院职工工资管理系统应包含职工的全部信息。每个职工是一条记录,包括姓名、性别、出生年月、年龄、婚姻状况、家庭住址、职称、工资级别情况等。本系统重点进行工资管理,系统登陆后可计算职工工资总额和平均工资,可按工资进行排序,并能够找出工资级别相同的职工名单。分步实施: 1、初步完成总体设计,搭好框架,确定人机对话界面,确定函数个数; 2、建立一个文件,将每位职工的信息写入文件中并能显示于屏幕上。 3、计算职工工资总额和平均工资,可按工资进行排序,并能够找出工资级别相同的职工名单。 要求: 1、用C++语言实现程序设计; 2、利用结构体数组实现职工信息的数据结构设计; 3、系统的各个功能模块要求用函数的形式实现; 4、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求: 1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。 2、实验总结报告:流程图、主要源程序代码、测试情况及调试中问题与解决方案、小结等。 C++语言课程设计任务书8 题目:通讯录管理系统 功能:录入联系人信息(包括姓名、电话号码、地址、备注等);通讯录管理系统要求实现以下功能: 1、输入每一位联系人记录,将其信息存入文件中。 2、查询所有联系人的信息,并按可选的自定义规则进行排序; 3、记录修改,将修改的记录信息保存于文件中。分步实施: 第 4 页 《C++语言课程设计》题目 1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数。 2、建立一个文件,将每条记录信息写入文件中并能显示于屏幕上。 3、完成上述查询(姓名、电话号码等)、信息删除与修改功能。 4、进一步要求,修改记录设置密码操作。要求: 1、用C++语言实现程序设计; 2、利用结构体数组实现联系人信息的数据结构设计; 3、系统的各个功能模块要求用函数的形式实现; 4、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求: 1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。 2、实验总结报告:流程图、主要源程序代码、测试情况及调试中问题与解决方案、小结等。 C++语言课程设计任务书9 题目:计算机辅助教学(CAI)软件开发:教小学生学算术。 功能:可做个位数,十位数的加,减,乘和除,减法不能得负数,除法要除尽,屏幕上随机出现两个数,提示小学生给出答案,答错了要提示重新输入,直到答对为止。要统计给分,且累计,够一定分数后可进级,即从个位进到十位。同样,也可降级。 (rand(),#include 1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数; 2、完成基本要求:能答对个位数的加法和减法,并有统计功能,即一次答对的成功率为 90%上后可晋级,做十位数的加减; 3、进一步要求:完成乘法和除法的学习,也有晋级功能。要求: 1、用C++语言实现程序设计; 2、系统的各个功能模块要求用函数的形式实现; 3、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求: 1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。 2、实验总结报告:流程图、主要源程序代码、测试情况及调试中问题与解决方案、小结等。 C++语言课程设计任务书10 题目:学生考勤系统设计 功能:学生考勤系统应包含各班学生的全部信息。每个学生是一条记录,包括姓名、性别、学号、出勤情况等。本系统可模拟考勤过程,记录考勤结果,并能够在课程结束后按照设定的考勤评分标准自动给出每个学生的考勤分数。分步实施: 1、初步完成总体设计,搭好框架,确定人机对话界面,确定函数个数; 2、建立一个文件,将每条记录信息写入文件中并能显示于屏幕上 3、完成上述添加(出勤情况)、查找(学号,姓名,性别等)、修改等功能。 4、进一步要求:自动给出每个学生的考勤分数 要求: 1、用C++语言实现程序设计; 第 5 页 《C++语言课程设计》题目 2、利用结构体数组实现信息的数据结构设计; 3、系统的各个功能模块要求用函数的形式实现; 4、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求: 1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。 2、实验总结报告:流程图、主要源程序代码、测试情况及调试中问题与解决方案、小结等。 C++语言课程设计任务书11 题目:学生选修课程系统设计 功能:假定有n门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息。试设计一选修课程系统。分步实施: 1、初步完成总体设计,搭好框架,确定人机对话界面,确定函数个数; 2、建立一个文件,将每条记录信息写入文件中并能显示于屏幕上 3、完成上述添加、查找(课程编号、课程名称、课程性质等)、修改等功能。 4、进一步要求:学生选修课程(可选项)要求: 1、用C++语言实现程序设计; 2、利用结构体数组实现信息的数据结构设计; 3、系统的各个功能模块要求用函数的形式实现; 4、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求: 1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。 2、实验总结报告:流程图、主要源程序代码、测试情况及调试中问题与解决方案、小结等。 C++语言课程设计任务书12 题目:商品订购系统设计。 功能:屏幕上出现一个界面,让顾客或输入商品名称,或商品型号,或选择列表进而输入商品编号都可以,如查到所选商品,则列出商品编号、商品名称、商品型号、商品价格、商品产地、库存数量和已订购数量;然后给出选购流程:所选商品编号—列出对应商品的信息—要求顾客输入邮寄地址信息—确认订购,是否继续选购其它商品,列出所有选订商品,再次确认订购。建立两个文件,分别存放商品信息与订购信息。分步实施: 1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数; 2、完成最低要求:建立一个小系统,包括10种产品能供顾客选择。 3、进一步要求:完成全部功能的系统。要求: 1、用C++语言实现程序设计; 2、利用结构体数组实现信息的数据结构设计; 3、系统的各个功能模块要求用函数的形式实现; 4、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求: 1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。 第 6 页 《C++语言课程设计》题目 2、实验总结报告:流程图、主要源程序代码、测试情况及调试中问题与解决方案、小结等。 C++语言课程设计任务书13 题目:设备管理系统设计 功能:设备管理系统应包含各种设备的全部信息,每台设备为一条记录(同一时间同一部门购买的若干台相同设备可作为1条记录),包括设备号、设备名称、领用人、所属部门、数量、购买时间、价格等。能够显示和统计各种设备的信息。分步实施: 1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数; 2、建立一个文件,将每条记录信息写入文件中并能显示于屏幕上 3、能对文件进行补充、修订、删除,能统计所有设备的总价值。 4、进一步要求:完成设备按种类、按所属部门进行统计。 要求: 1、用C++语言实现程序设计; 2、利用结构体数组实现信息的数据结构设计; 3、系统的各个功能模块要求用函数的形式实现; 4、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求: 1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。 2、实验总结报告:流程图、主要源程序代码、测试情况及调试中问题与解决方案、小结等。 C++语言课程设计任务书14 题目:学生计算机机房管理系统设计 功能:该计算机房共有100台计算机,分为20排,每排50台。管理系统应包含每台计算机一周内的使用全部信息,包括计算机序号、配置、位置、状态、使用情况的历史记录(包括使用者姓名、学号、使用时间段)等。本系统可以模拟学生上机和离开的登记过程,查询机房计算机的使用情况。分步实施: 1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数; 2、建立一个文件,将相关的信息写入文件中并能显示于屏幕上; 3、能实现学生上机的登记过程模拟; 4、进一步要求:查询机房计算机的使用情况。要求: 1、用C++语言实现程序设计; 2、利用结构体数组实现信息的数据结构设计; 3、系统的各个功能模块要求用函数的形式实现; 4、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求: 1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。 2、实验总结报告:流程图、主要源程序代码、测试情况及调试中问题与解决方案、小结等。 第 7 页 《C++语言课程设计》题目 C++语言课程设计任务书15 题目:商店销售管理系统。 功能:屏幕上出现一个界面,让售货员输入商品编号或者商品名称,可以进货,进货后商品库存同时增加。顾客买走商品后,售货员输入商品编号或者商品名称,可以生成销售清单,统计本次销售总的价钱,同时库存数量相应减少。完成前面的基本功能后,还可以完成增加新的商品或删除不需要的商品的功能,以及每天销售统计功能等。分步实施: 1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数; 2、建立一个文件,将相关的信息写入文件中并能显示于屏幕上; 3、能按商品编号进货和销售; 4、进一步要求:完成增加新的商品或删除不需要的商品的功能,以及每天销售统计 功能等。 要求: 1、用C++语言实现程序设计; 2、利用结构体数组实现信息的数据结构设计; 3、系统的各个功能模块要求用函数的形式实现; 4、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求: 1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。 2、实验总结报告:流程图、主要源程序代码、测试情况及调试中问题与解决方案、小结等。 C++语言课程设计任务书16 题目:计算机辅助教学(CAI)软件开发:教小学生学英语。 功能:屏幕上随机出现一个汉语单词,英语单词,汉语词组,英语词组或一短句提示小学生给出相应答案,答错了要提示要求重新输入,直到答对为止。要统计给分,且累计,够一定分数后可进级,即从单词到词组,从词组到短句。同样,也可降级。起步阶段可各选30个,软件可扩充,即扩大词库的容量。 (rand(),#include 1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数; 2、完成最低要求:能教单词,并有统计功能,即一次答对的成功率为90%以上后可晋级; 3、进一步要求:完成词组和短语的问答,也有晋级功能。要求: 1、用C++语言实现程序设计; 2、利用结构体数组实现信息的数据结构设计; 3、系统的各个功能模块要求用函数的形式实现; 4、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求: 1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。 2、实验总结报告:流程图、主要源程序代码、测试情况及调试中问题与解决方案、小结等。 C++语言课程设计任务书17 第 8 页 《C++语言课程设计》题目 题目:飞机订票系统设计 功能:本飞机共有80个坐位,分20排,每排4个位子。编号为A,B,C,D。如10D表示10排D座。A和D靠窗,19到20排为吸烟区。本系统可让乘客自己选座号和区域,直到乘客满意为止,无法满足的话,只能改乘另一个航班。定上票的乘客需给出姓名和身份证号,最后要打印出乘客清单。分步实施: 1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数; 2、完成最低要求:建立一个小系统,包括5排座位,两个区域,能供乘客选择; 3、进一步要求:完成全部功能的系统。要求: 1、用C++语言实现程序设计; 2、利用结构体数组实现信息的数据结构设计; 3、系统的各个功能模块要求用函数的形式实现; 4、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求: 1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。 2、实验总结报告:流程图、主要源程序代码、测试情况及调试中问题与解决方案、小结等。 C++语言课程设计任务书18 题目:高速公路计费系统设计 功能:在某高速公路出口收费处,对三种类型的车辆计费,大型车每公里0。5元,中型车每公里0.4元,小型车每公里0.3元,来车验条,乘公里数即得该收的款项。在交班时要统计出总数。分步实施: 1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数; 2、完成最低要求:建立一个只有三个入口的计费系统,并能进行统计计算,打印出报表; 3、进一步要求:完成任意多个入口的通用系统。要求: 1、用C++语言实现程序设计; 2、利用结构体数组实现信息的数据结构设计; 3、系统的各个功能模块要求用函数的形式实现; 4、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求: 1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。 2、实验总结报告:流程图、主要源程序代码、测试情况及调试中问题与解决方案、小结等。 第 9 页第五篇:C++语言课程设计题目