测绘程序设计与C++编程课程设计心得体会

时间:2019-05-12 15:29:54下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《测绘程序设计与C++编程课程设计心得体会》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《测绘程序设计与C++编程课程设计心得体会》。

第一篇:测绘程序设计与C++编程课程设计心得体会

测绘程序设计与C++编程课程设计

心得体会

学院: 班级: 学号:

姓名:

课程设计心得体会

时间过的真快,一晃眼的功夫,C++实习就要结束了,虽然只是短短的10天,但带给我的却很多。

首先,我先简单回顾一下自己在这一段时间的经历。实习是从31号开始的,经过短短的一上午的辅导,我就开始了自己的任务,每个人必做的第一题最优直线平差、自己选的第六题秩亏网平差和一个临时加的水准路线与三角高程相对定权问题的处理。说实话,虽说自己利用空闲的时间看了一本C++的教程,对书本上的知识有所补充,对一些知识点相对理解加深了一些,但是如果真正上机编程的话,还是有点小心虚。俗话说:熟能生巧;在老师的激励下,我对自己的本次实习充满信心与期待。

我的实习的真正开始算是第二天吧,也就是元旦放假第一天,因为天气比较冷所以就呆在宿舍在自己的电脑上先小试身手,不管做什么东西,都要有一个好的基础,MAT类和adj类算是测绘程序设计的一个非常重要的辅助工具吧,几乎每个程序都要涉及,于是我就用了一天的时间将“MAT.h”头文件读了一遍,尽管求逆inverse()函数和求矩阵的秩R()函数没有看懂,但其具体在什么地方用,和其他的一些程序算是有一定的掌握,然后就分析题目,慢慢做吧。

万事开头难,古人真是睿智。最优直线的问题,题目看了好几遍,相关的一些老师的程序也读了几次,感觉还是没法下手,也许感觉这东西不靠谱,它有时候会挡住你前进的路,而你只能靠着这种感觉原地踏步,重要的是摒弃它,踏出你的第一步。算了,硬着头皮踏出犹豫的第一步,先建个Myline的类,然后把能想到的数据成员与成员函数加进去,然后在做定义。就这样磕磕绊绊地、边写边参考老师的程序,我的程序算是有了几个大块了,file_in_Myline(char *),file_out_Myline(char *),Myline_adj(),为了实现文件能够成功的调用,我又尝试着加入了Creat_Myline_file(char *)函数,通过屏幕上提示创建自己的文件,然后有直接调用file_in_Myline(char *)函数直接应用,为了尽量减少在main()函数中的处理,最后有加入了联系file_in_Myline(char *)和file_out_Myline(char *)的file_Myline(char *,char*)函数,然后其他数据成员根据需要往类中添加。就这些东西,我做了一天,还没有去调试,没有建立其函数之间的传递,效率真够低的,然后2号晚上开始调试,好多错误,看的懂的,看不懂的,我极力调试着,但我的脑子也越来越混乱,烦躁开始侵蚀我的理智。。算了,休息会吧,再跟其他同学交流一下,宿舍小憩了一会,然后请来了编程不错的一个同学,他因为对这方面感兴趣,就提前好几天开始编程了,他给我指导了一些问题,期间,我们也交流了好多关于课题任务的一些知识点、注意点,晚上,11点左右,我的最优直线算是孕育而生了,程序的运行结果跟预期结果一样,真的,在结果显示在屏幕上的那一刻,我真的感觉好友成就感,今天就到这吧,有些累了,虽然程序在整体上看起来有点混乱、有的粗糙,但我可以安逸的睡了,明天再做整体修正吧,总体来说,这个开头在有心人面前算是开的有点崎岖但还算顺利。

然后第二天修改了下我的最优直线,再考虑了下我的第六题,那天晚上也算是曲折的做了出来,第十题老师说是很简单,而且就光当时的讲解讲了好几遍,所以有目的的去看定权的那一部分程序,没花多长时间就把它搞定了,元旦三天时间,别人玩的时候,我做了我的程序,有好多同学的程序还没有开始呢,哈哈,我感觉好幸福!

4号算是实习的第二天,但我的任务可以接近尾声了,但前提是我这样想的话。因为我知道班里的一些同学也同样做完了自己的任务,都开始涉及其他的课题,大家都极力的充实自己,我怎么可能落下呢?所以我不会就此停下,我要好好利用本次实习,让它充实而有意义。

在接下来的几天里,我积极的接触其他课题,在自己的努力和老师的帮助下,效果很理想!

本次实习,我做了7个课题,第九个平面网最小二乘法的实现,因为涉及的程序太多,一时半会做不完,所有以后有时间再去考虑它吧,总体来说还是达到了自己的期望,。从某种程度上来说我是超额完成自己的任务,但是我知道,这个结果除了自己的努力外还有其他几方面非常重要的原因,而这几方面也让我成长了不少。

实践出真知,实习前,我的C++知识只是停留在理论水平,而且就算理论水平,也存在很多漏洞。有时,在做课题的时候,理论的漏洞冒了出来,我就只能在看着课本慢慢的再学习一遍,像做导线程序有涉及到数字测图的知识,还有好多数据处理都涉及到平差原理的知识,因为当时有些东西就没有搞懂,所以现在就又翻出课本,看着课本编程,也算是将旧的东西复习了一遍。同时,有的理论在实习操作过程中印象更加深刻。有趣的是,做完导线程序,用课本上的数据演算了一遍,结果发现课本上有一个数据是错误的(可能是吧),其他有做导线的同学也有相同的反应,总之,感觉挺好,不错!

成功=勤奋+合作。我暂且将我的实习成果用成功来代替,虽然离成功差的还很远。在实习接近尾声的时候,有的同学跟我聊得时候,说我怎么交这次实习的成果,我说做了的课题都交啊。同学有些羡慕的恭喜我,我挺愉快的,但我也知道,我付出了,回报跟付出是成正比的,我从31号起就开始了自己的实习,我也放弃了好多休息的时间,我笨拙的读着老师给的相关的程序,发现有什么不懂得,先是一个人自主的思考,实在解决不了的就和其他同学讨论,有时别的同学会很清晰的给我说明一些课题的思路,但大多数,其他同学也不懂、或者也在这方面存在疑问,于是,大家发表各自的看法、思路,然后就讨论了起来,最后,在大家的共同努力之下,问题的答案逐渐浮出水面,大家为了庆祝一下,有时还去外面吃一顿。交流与合作在实习过程中给我很大的帮助,我得到了很多,每次看到解决一道问题后大家的愉悦,我想大家应该与我一样收获很大吧。说真的,我挺喜欢这种讨论的氛围,它也让实习过程变得趣味横生,不再只是呆滞的盯着屏幕写程序。

我是班长,我有义务去帮助其他同学,而实习给了我一次很好的机会,也让我成长了好多。在这几天的上机过程中,有同学问我问题,我积极的对待每一个问题,我会的,耐心的为他讲解,每一次讲解,也是我的知识巩固的一个过程,所以我也乐此不疲,每次给别的同学讲完后,我挺有成就感的,这种成就感不会让我沾沾自喜,而会成为我不断向上的动力;毕竟我也算是新手,有一些问题自己也是无能为力,我们或是讨论,或是问老师,老师耐心讲解让我们甚是感动,有时候被老师那种责任心所折服,大家都说有这样的老师真好!好的,我也要向老师学习,对同学负责,做好我的角色,真正做到为了同学的利益而牺牲自己的时间。

本次实习的缺陷,对我来说就是,所有程序的原始数据都来自老师给的数据或者是测量平差和数字测图书上的例题数据,跟其他同学会有所重复,但所有的程序都是自己独立完成。

这次实习总体来说,每天我的过的挺累,但累是值得的,这个值得不仅仅是课题成果上,更重要的让我成长好多,也许这就是我在这短短的十天左右的时间里最好的回报吧。

最后,真心感激跟我一起完成课题的同学们和耐心指导我们的杨老师,我会在以后的路上牢记这次美好的回忆!

第二篇:c++课程设计心得体会

课程设计心得体会

学生成绩管理是高等学校教务管理的重要组成部分,其内容较多,要完成能够实现人员的信息录入、查询、修改、删除、统计、保存、显示等操作。系统具体实现的功能如下:

1.添加新的联系人

2.删除所有联系人

3.删除某个联系人

4.查询某个联系人

5.查询所有联系人

6.将电话本导出到文件

7.从文件导入电话本

8.查询并编辑某个联系人

9.全班同学的平均分

大概的算法分析

学生成绩管理软件的数据结构

学生成绩一般都是以每个成员为单位进行管理的,一个学生学号用一个结点来表示。考虑到添加、查询和删除的方便,这些以学号为单位的结点用链表方式组成一个主目录。每个结点有四个域:

(1)学生代号;

(2)课程情况;

(3)成绩信息管理情况;

各函数的功能和实现(学生成绩管理的相关功能由对应的函数来实现)(1)添加新的联系人

用代码实现输入及输出添加新的联系人的学号,姓名,性别,生日、语文成绩,数学成绩;完成添加工作。

(2)删除某个联系人

首先输入要删除的姓名,然后要在系统中查看是否有此记录,再用分支结构实现删除链表中此员工结点并修改学校员工链表及未找到这条记录;因为可能系统中不存在此记录。

(3)删除所有联系人

此功能要逐条删除联系人,则我们采用分支、循环结构实现首先遍历是否有给记录,输出读取记录或没有该记录;再到文件是否读完,若没读完则要循环继续读取,否则已删除了所有记录。

(4)查询某个联系人

因此功能会出现还没有任何记录、未找到这条记、输出该联系人信息三种情况,我们则选用简单的三分支结构;首先要请输入要查询联系人的姓名,输出有记录或还没有任何记录,有记录则遍历所有人,最后是未找到这条记录,输出该联系人信息。

(7)从电话本导入文件的流程图

首先查看是否有记录,输出没有任何记录或打开“Manager.txt”,历遍链表,将人员结点信息写入文件Manager.txt、关闭文件,最后成功保存到Manager.txt。

其余的函数功能实现相似则不重复。

心得体会

刚放假不久,我们组的积极分子们就张罗着要开始编写程序了,编写这个程序我们经历了讨论选题,编写代码,调试,写设计报告等。在这期间我们查阅了很多相关的资料,曾盯着课本发呆过,我们成员之间也曾进行过激烈的口舌论战。经过这个暑假来的实践学习,使我们对C++语言有了更进一步的认识和了解,要想学好它,则重在实践,要通过不断的上机操作及实例运用才能更好地深入体会它,当然通过实践,我们也发现我们的好多不足之处。就比如我们对C++语言的一些标准库函数不太了解,还有对函数调用的正确使用不够熟悉,一些经常出现的错误也不能很好地处理。我们编写这个程序使用的是比较简单的函数及结构,由于我们的水平有限,还不能很好的使用一些效率高的方式来编写,所以也没有突出的创新点。在做题的时候我们都是分工合作。分工完成结构体、函数设计、算法分析等,这些过程中总是有很多错误出现,有好多的小问题都是我们粗心大意造成的,所以设计程序一定要仔细,不容一点的马虎。当然也有大问题,关于文件的操作,类的使用等等这些使用我们都琢磨了很久,在解决错误时我们有时几乎焦头烂额了。但是我们与队友之间都会不断的相互鼓励、支持,彼此都努力维护着将作业写完。虽然这设计有点枯燥无味,但是当最后我们大功告成时,回味起来还是美滋滋的。总的来说我们真的是在设计的过程中受益匪浅。

第三篇:C++编程心得

紧张忙碌的一周过去了,在这个星期里我们小组胜利地将我们选定的课题研究出来,我为我的小组骄傲,也为自己骄傲。

我们的题目是银行定期存款管理系统,在编程过程中,我预订的任务是学习并掌握MFC,并将其运用到我们的程序中。学习MFC的过程是我认为非常痛苦的事,因为完全都是自学,并且因为图书馆中的相关书籍全部被借阅出去,所以没有太多的自学资料,因此虽然费了很大的精力,但仍是无果。经过了很多的小组讨论和自己的心理斗争后最终决定放弃MFC而将自己能力以内的程序尽可能地优化,就这样,我开始在半路阶段加入了程序优化的工作,一遍遍的调试程序,遇到某个攻坚问题,几个人一起在网上查询,一起想解决的办法,就这样,我们团结地将我们现在认为将近完美的程序呈现给老师和同学。

一开始学习MFC时,我总是不能很好的转换思维,不能将自己以前的编程思想和以前的一些不良编程习惯甩掉,因此很多的程序都联系不起来,反而是自己学会了好多的零碎的片面却无法将程序大楼竖起来。在困惑很久后,我选择了询问老师,老师耐心地将MFC的思维方式讲给了我听,这让我受益匪浅,虽然我最后没能将MFC成功的做出来,但我认为我从MFC中才直接地感受到了C++中面向对象编程的封装性。以前用C++编程时总是将类中的变量随便规定属性,甚至在编程的过程中突然需要加一个变量,为了省事直接将其放于public中,在学习了解MFC后,深刻地感受到自己以前的编程习惯是多么的不科学,而那些习惯又是多么的重要。

我们这一次是以团队的形式来做这个项目,并且作为这个小组的组长,我感觉自己的压力很大,因为团队合作不仅讲求整体的团结而且为了团队工作的高效又要有明确的分工。在我们的小组工作中每个人都一刻不放松自己手里的工作,而一些时候我们又配合地很密切,尤其是当我们遇到程序的瓶颈时,我们都是在宿舍里你一句我一句地出谋划策,在遇到一个提取时间的程序时,大家纷纷查询各种辅导书,上网查各种资料,在遇到定期存款支取问题时甚至打电话给家长,寻求“场外支持”,种种的配合都给我们这个部门协调的运作提供了动力。我感谢我的团队,他们让我有一种很舒服的做事情的感觉。

最终决定放弃MFC,我承认自己有一种如释重负的感觉,但是也有一丝惭愧,无论老师要求与否,既然自己决定了就应该走下去,但是我最后退却了,感觉很遗憾也很羞愧,因为我认为对自己降低要求就是放纵自己堕落。

短学期实习,我着实收获了很多,不仅仅是知识上,而且是思考事情方法,我感激这次的实习,也感谢给予我们很多帮助的老师,更感谢我团结的团队。

第四篇:C++程序设计总结

第一章面向对象编程原理

近五十年间,软件技术经历了多个阶段的发展演变  目前为止最流行的技术还是面向过程编程(POP)

 面向过程编程采用了自顶向下的设计方案,问题被看做多个执行任务的序列。为完成这些任务,须实现一些函数。

 面向过程有两大不足,即:(1)数据可在程序内自由迁移,程序内任何函数都会引起数据的更改,增加了数据的脆弱性。(2)它并不能很好地建模现实世界。

 为了克服面向过程编程中的不足,人们发明了面向对象编程(OOP)。它采用自底向上的编程方案,在程序开发中,把数据视为重要元素,不允许数据在系统内自由迁移。它还将数据和函数紧密绑定于成为类的数据结构中,函数可操作类中的数据。此特性称为数据封装。

 在面向对象编程中,问题被视为一系列称为对象的实体的集合。对象是类的实例;  将数据与程序的直接访问隔绝,这称为数据隐藏。

 数据抽象指的是,将各种必要特性合并,而不引入背景细节。 继承是这样的一个过程,即某类的对象得到另一类对象的属性。

 多态指的是,一个名称,多种形态。在程序中,我们可以借此定义多个同名函数。此特性亦可重载运算符,这样一来,同一个运算符在不同的实例下,会有不同的行为。 动态绑定指的是,给定过程的代码,直到运行期被调用时才确定。 消息传递涉及对象名,函数(消息)名以及发送的信息。

 与传统的编程技术相比,面向对象技术具有诸多优势——最显著的当属重用技术。 在实时系统等几乎所有的计算机领域,面向对象编程的应用程序都已受到重视。 不少语言都支持面向对象编程,流行的语言包括C++、Smalltalk和Java。

第二章C++入门

 C++是C语言的超级

 C++在C语言的基础上,添加了一些面向对象的特性,诸如对象、继承、函数重载和运算符重载。这些特性加强了程序的清晰性,可扩展性,使程序容易维护。

 C++可用于开发各种系统,诸如编辑器、编译器、数据库、通信系统以及其他更多复杂的实际系统。

 C++支持交互式输入输出,并引入了新的注释符号//,可用于注释单句。它也支持C语言的注释风格。

 和C程序一样,所有C++程序的执行入口都是main()函数,并以return()语句作为结束。头文件iostream应包含于所有使用输入输出操作的程序开头。 所有标准C++程序都要包含using namespace std指令

 典型的C++程序包括四个基本部分:也就是头文件包含部分、类声明部分、成员函数部分和主程序部分

 和C程序一样,C++程序可用于任何文本编辑器创建

 大多数编译器提供了集成开发运行环境。流行的编译器系统有UNIX AT&T C++、Turbo C++和微软公司的Visual C++

第三章符号、表达式和控制结构

 C++有不同的符号,包括关键字、标识符、常量、字符串和操作符  标识符指的是变量名、函数名、数组名、类名等  C++中增加了void的一个用途,可用于声明通用指针

 C++中枚举数据类型略有不同,枚举类型名称为新的类型名。这样我们就可以声明枚举类型的变量

 在C++中,字符数组的大小应比字符串的实际长度大1  C++增加了指针常量和常量指针的概念,对于前者我们不能修改赋予它的地址值,对于后者,我们不能修改它指向的内容。

 在C++的内存管理和多态实现中,指针被广泛地使用。

 C++中提供了const修饰符,用于声明常量,常量也是变量,只是其值不可变更。const修饰符默认修饰整型。

 C++的变量类型检查非常严格,它不允许不同类型变量之间的赋值。类型转换是打破此规的唯一办法。

 C++允许我们在程序中随处声明变量,而且可以利用声明处的表达式,在运行期完成初始化。

 引用变量给之前定义的变量提供了一个别名。它们都指向内存中的同一个数据对象。所以,改变其中一个的值,另一边量的值也会随之改变。

 引用变量必须在声明时初始化,这建立了它和要引用的变量之间的对应关系。 作用于解析操作符(::)的主要用于类,以识别成员函数所属的类

 除了malloc()、calloc()、free()函数外,C++提供了两个一元操作符,即new和delete,以更好和更方便地分配和释放内存

 C++也提供了操纵器,来格式化输出数据。最常用的操纵器为endl和setw  C++支持七种表达式类型。表达式中数据类型混用时,C++使用特定规则,自动地进行类型转换。

 使用类型转换操作符,C++也可显示地进行变量和表达式的类型转换

 和C语言一样,C++也支持三种基本的控制结构,也就是顺序结构,分支结构和循环结构,并使用各种控制语句实现它们,比如if、if…else、switch、do…while、while以及for。

第四章C++中的函数

 在程序的不同处,调用函数可减少程序的大小。

 在C++中,main()函数向操作系统返回一个整型值。因为函数的返回值类型默认是整型,所以main()函数中的关键字int是可选的。而如果没有返回语句,大部分C++编译器会提示一个警告。

 函数原型向编译器提供了函数的细节,比如参数的数目和类型,以及返回值的类型。 C++的引用变量使我们可以传引用参数给函数。函数也可以返回引用变量。

 当函数声明为内联时,编译器用相应的函数代码替换了函数调用。一般情况下,小函数才使用内联。

 编译器可能会忽略函数的内联声明,如果函数声明太长或过于复杂,编译器将按常规函数编译它。

 当函数声明时,C++允许我们把默认值赋给函数参数。这种情况下,我们可以无需指明所有参数,便可调用函数。默认参数总是由右到左添加。 C++中,函数的参数可声明为常量,表示函数不可更改此变量。

 C++允许函数重载,也就是说,我们可以定义多个同名函数。通过检查参数数目和类型编译器会准确地匹配函数调用和函数代码。

 C++支持两种新的函数类型,亦即友元函数和虚函数。

 C++标准库支持很多数学库函数,使用它们可以完成许多数学计算。

第五章 类和对象

 类是结构体数据类型的扩展,一个类有多个成员变量和成员函数。 默认情况下,类的成员是私有的,而结构体的成员是公用的。

 只有成员函数可以访问私有数据成员和私有函数。但是类外可以访问公用成员。 在C++中,类变量称为对象。利用对象并使用点操作符,我们可以访问类的公用成员。 我们可以在类内或类外定义成员函数。成员函数和常规函数的区别在于,成员函数的头

部有一个隶属标识符,以表明所属类。

 对象声明时,内存空间才会分配。每一对象的成员变量空间单独分配,而成员函数的空间则统一分配。

 类的一个成员变量可声明为静态成员,一般用于维护整个类的通用值。 静态成员变量必须定义于类外。

 静态成员函数可访问声明在同类的静态成员,调用静态成员函数时需要用到类名。 C++允许我们使用对象数组。 对象可用作函数自变量。

 友元函数不在友元声明类的作用域类,它可以访问累的所有私有数据。 函数可以返回对象。

 如果成员函数不改变类内的任何数据,我们可以将其声明为常量成员函数,只要在函数原型中加上关键词const(声明和定义都要加)。

 我们也可以在函数内定义和使用类。这种类称为局部类。

第六章构造函数和析构函数

 C++提供了一种称为构造函数的特殊成员函数,它能帮助对象在创建时完成初始化。这一过程被称为对象的自动初始化。 构造函数名和类名一致。

 构造函数通常用来初始化变量,以及分配内存。 和常规函数一样,构造函数也可以被重载。

 当对象同时被创建和初始化时,复制构造函数被调用。 我们可以声明一个常量对象,其数据值不能改变。

 C++还提供另一种成员函数,称为析构函数。当对象不再需要时,会调用这种函数来销毁对象。

第七章运算符重载和类型转换

 运算符重载是C++的重要特性之一。又被称为编译时多态性。

 使用重载特性,我们可以对两个用户自定义数据类型,比如说对象,执行相加的操作,使用的语法就和基本数据类型一样。

 我们可以重载几乎所有C++的运算符,下面几个是例外:

 类成员访问符(.,.*)。 作用域解析符(::)。

 大小运算符(sizeof)。 条件运算符(?:)。

 运算符重载是通过一种称为运算符函数的特殊函数完成的,该函数定义了运算符的特定任务。

 运算符重载时有一些限制。运算符函数必须是非静态的成员函数或者友元函数。重载的运算符必须有至少一个用户自定义类型的操作数。

 编译器不支持用户自定义数据类型的自动类型转换,我们可以使用自定义的转换运算符函数,以实现自定义数据类型的自动类型转换。 转换运算符函数应符合下列条件:

 必须是类成员。 必须不指定返回值。 必须没有参数。

第八章继承:类的扩展

 从旧类派生一个新类的机制被称为继承。继承提供了可重用性的概念。通过继承,C++的类可以被重用。

 派生类继承了基类的一部分或所有特性。 只有一个基类的派生类被称为单继承。 可从多个类继承,这被称为多继承。 可从另一派生类继承类,这被称为多级继承。

 当某类的属性被多于一个类继承时,这被称为层次继承。 不管是在公用模式还是私有模式,类的私有成员都不可被继承。

 以公用模式继承的保护成员仍为派生类的保护成员,而以私有模式继承的保护成员,则变成派生类的私有成员。

 友元函数和友元类的成员函数可直接访问私有和保护数据。

 派生类的成员函数只能直接访问保护和公用数据。不过他们可通过基类的成员函数访问私有数据。

 多路继承可能引起祖父基类的继承成员的重复。通过将共同的基类设为虚基类,我们可以避免祖父基类成员的重复。

 在多继承中,基类的创建次序与他们在派生类中的声明次序一致。 类可包含其他类的对象。这被称为包含关系或嵌套。

第五篇:C++程序设计课程设计人口户籍信息管理系统源程序

九、源程序代码

#include #include #include #include//kj;lj;j;j;

class population { private: int maxnum;//人口户籍编号最大值r int sno;//编号 char name[20];char sex[2];int age;char birth[10];//出生日期 char folk[2];//民族

char mianmao[10];//政治面貌 char department[10];//村组名 char speciality[10];//家庭门牌号

char address[30];//人口家庭详细地址 public: population();~population();void enter();//户籍信息录入函数 void display();//户籍信息输出函数 void setsno(int temp);int getsno();char *getname();char *getspeciality();void read();void write();void change();};population::population(){}

population::~population(){}

int population::getsno(){return sno;}

char *population::getspeciality()

齐齐哈尔大学C++程序设计课程设计用纸

{return speciality;}

void population::setsno(int temp){sno=temp;} char *population::getname(){return name;}

void population::display(){

cout<

char ch;

cout<<“

请输入要修改人员的信息”<

cout<<“*******************************************************”<

cout<<“姓名是不是要改写(Y/N)”<

cin>>ch;

if(ch=='Y'||ch=='y')

{

cout<<“请输入新姓名:”<

cin>>name;

}

cout<<“输入性别(男(n),女(m)):”<

cin>>sex;

if(strcmp(sex,“n”)!=0&&strcmp(sex,“m”)!=0)

{

cout<<“错误请重新输入!:”<

cin>>sex;

}

cout<<“输入年龄:”<

cin>>age;

while(age<1||age>=110)

{

cout<<“错误请重新输入!”<

cin>>age;

}

cout<<“输入出生日期:”<

cin>>birth;

cout<<“输入民族:”<

cin>>folk;

齐齐哈尔大学C++程序设计课程设计用纸

cout<<“出生日期:”<

cin>>birth;

cout<<“年龄:”<

cin>>age;

while(age<1||age>=110)

{

cout<<“错误请重新输入!”<

cin>>age;

}

cout<<“政治面貌类别(党员(a),非党员(b)):”<

cin>>mianmao;

while(strcmp(mianmao,“a”)!=0&&strcmp(mianmao,“b”)!=0)

{

cout<<“错误请重新输入!”<

cin>>mianmao;

}

cout<<“民族:”<

cin>>folk;

cout<<“村组名:”<

cin>>department;

cout<<“家庭门牌号:”<

cin>>speciality;

cout<<“家庭详细地址:”<

cin>>address;} //主程序部分:

#include #include #include #include #include //#include“population.h” population pop;//population 类的全局变量

void read(){

ifstream afile(“population.txt”,ios::nocreate);

afile.read((char*)&pop,sizeof pop);} void write(){

ofstream bfile(“population.txt”,ios::app);

bfile.write((char*)&pop,sizeof pop);

齐齐哈尔大学C++程序设计课程设计用纸

if(i==pop.getsno()||strcmp(pop.getname(),ch1)==0||

strcmp(pop.getspeciality(),ch2)==0)

{

cout<<“你要查找的人员信息如下:”<

cout<

“年龄”<

setw(8)<<“村组名”<

pop.display();

i=0;

k=0;

m=1;

return;

}

}

if(m!=1)cout<<“没有找到这名人员的信息!”<

} void omit()//删除函数 {

int ch;

cout<<“请输入要删除的人员的编号:”<

cin>>ch;

ifstream in(“population.txt”,ios::nocreate);//打开文件1,读数据

ofstream out(“population1.txt”,ios::trunc);//打开文件写数据到文件2

while(in)//循环读数据

{

if(in.read((char*)&pop,sizeof pop))//读后存在pop变量里,读pop这么大小

if(ch!=pop.getsno())// 如果读出来的数据的pop取sno不等于刚才输入的学号,将这组数据写入文件

{

out.write((char*)&pop,sizeof pop);

}

else

cout<<“人员已成功删除!”<

}

in.close();//关闭文件

out.close();

ifstream ifile(“population1.txt”,ios::nocreate);//将文件2的内容弄到文件1上

ofstream hfile(“population.txt”,ios::trunc);

while(ifile)

{

if(ifile.read((char*)&pop,sizeof pop))

齐齐哈尔大学C++程序设计课程设计用纸

}

void menu(){

cout<<“

* 人口户籍信息管理系统 *”<

0.退出管理系统 ”<

cout<<“

1.人员信息录入 ”<

cout<<“

2.人员信息查询 ”<

cout<<“

3.人员信息删除 ”<

cout<<“

4.人员信息修改 ”<

cout<<“

5.人员信息输出 ”<

cout<<“

请选择以上操作(0=======5)”<

int ch;

while(1)

{

cin>>ch;

switch(ch)

{

case 0:exit(0);menu();break;

case 1:input();menu();break;

case 2:search();menu();break;

case 3:omit();menu();break;case 4:change();menu();break;

case 5:output();menu();break;

default:menu();cout<<“输入无效请重新输入(0========5)”<

}

} } int main(){

int count=0;char password[5];

//密码 char name[11];

//用户名

齐齐哈尔大学C++程序设计课程设计用纸

cout<<“

谢谢使用-----人口户籍信息管理系统!!

”<

再见!

”<

cout<<“*******************************************************************************”<

下载测绘程序设计与C++编程课程设计心得体会word格式文档
下载测绘程序设计与C++编程课程设计心得体会.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    《面向对象程序设计(C++)》课程设计教学大纲(写写帮整理)

    《面向对象程序设计实习》课程设计教学大纲 课程编号: 学时:2周 学分:2 修课方式:必修 承担单位:软件学院 考核方式:考查 一、课程设计的目的与任务 1.课程设计目的 (1)培养学生综合......

    C++编程思想读后感

    Unit One对象的演化 oop技术能够很容易地将大量问题归纳为一个简单的解,这一发现产生了大量的oop语言,其中最著名的是Smalltalk—C++之前最成功的oop语言。继承表示了基本类型......

    C++编程知识总结

    1.数组 1.1数组定义时的注意点 1在C++中不提供可变化大小的数组,○即数组定义中的常量表达式不能包含变量。(来源:C++书6.1.1) int n; cin>>n; float t[n]; 上例在定义数组t时,......

    c++课程设计总结

    课程设计总结 经过一个学期对《C++程序设计》的学习,我学习到了基本的理论知识,了解到了C++语言程序设计的思想,这些知识都为我的课程实践和进一步的学习打下了坚实的基础。 在......

    C++课程设计实验报告(范文)

    C++课程设计报告 设计题目:学院: 专业班级: 学生姓名: 学生学号: 指导教师: 计算机技术与科学 3班 樊冠男 40912140 马军亮 提交时间: 2011/1/12 成绩: 目录 C++课程设计报告 第一......

    C++程序设计实习报告

    目录 一、实习内容…………………………………………………………………………1 二、设计思路…………………………………………………………………………2 三、程序清单…......

    《C++程序设计》实验报告范例

    注意:以下蓝色文字部分根据情况增删实验1熟悉VC++6.0集成开发环境 一、实验时间: 2011年9月20日 二、实验地点: 第7机房 三、指导教师: 邓谱 四、实验目的: 1. 了解VC++6.0的主要......

    c++程序设计教案(朱红)

    1构造一个类,含有3个数据成员,为长方体的长、宽、高,含有一个成员函数,用来计算长方体的体积 #include "stdafx.h" #include class cub { private: double a,b,c; public: voi......