第一篇:图档管理系统
“北京建设数字科技股份有限公司”专注设计院综合管理系统20年,为上百家设计院提供整体的信息化解决方案。详情请联系1-8-6-8-1-9-4-6-8-9-5 张逢博
联系Q Q:3-1-7-7-2-0-4-0-7
一、建设数字图档管理系统产生的背景
上世纪80年代末期开始使用计算机绘图,这一阶段计算机只是作为新的绘图工具替代了图板,提高设计工作效率的主要矛盾在熟练掌握CAD软件的使用,电子图档不多,管理问题不突出。二十世纪90年代后期,计算机应用突飞猛进,各设计部门逐渐积累起了数量庞大的以电子形式存在的图纸和文档,利用电子图纸的重用性,已是提高设计工作效率的一个重要途径,因此,这些电子图档已构成了本单位重要的设计资源和无形财产。随着生产规模的不断扩大,管理上存在的问题日益突显,其现状是: 1.各设计院所沉积的.DWG设计文档,少则数万张,多则数十万甚至上百万张,随着生产的不断继续, 沉积越来越大;2.这些大量的电子文档,都没有全面、系统的归类整理。管理较好的单位也只是简单的刻制光盘集中保存,有的单位甚至还分散存储在各个设计人员计算机中;
3.所有这些电子图档,在产生之初并没有为以后管理考虑,文件名、格式内容等都不规范,不便于自动化处理,而人工整理,将耗资、耗时巨大;
4.由于未能有效的组织和管理这些电子图纸,因此,无法快速准确的检索查询并利用,造成巨大的资源闲置浪费,成为制约为设计工作的一个重大的瓶颈;
5.目前流行使用的一些图档管理软件,大都是针对档案管理,解决了纸质图档的扫描输入、登记、归档、借阅等方面的问题,而对重用性极高的.DWG电子图纸,缺乏真正有效的组织和管理;
因此,解决自动、准确提取.DWG标题栏信息问题,使图档管理系统能够和查询检索这些电子图档,就成为打破上述瓶颈的一个重要技术手段。
设计单位最核心的产品就是图,随着CAD技术的逐步成熟,设计单位出现了
北京建设数字科技股份有限公司
大量的电子图档,而且电子图档在数量上往往会呈指数级地增长。在这样的情况下,如何有效地管理电子图档并挖掘其中的价值,理顺设计产品和生产(施工)的数据关系,是设计院必须面临的问题。加强电子图档的管理,就是加强设计院等用户的产品数据管理。以更快更好的管理电子图档数据。增强企业办事效率和企业竞争力。
二、系统简概
建设数字图档管理系统,贯穿图文档案资源“收集、整理、保存、统计、检索和利用”六个环节,涵盖动态和静态图文档案全生命周期的管理,符合国家和行业对档案管理的相关要求,为图文档案数字化提供全面的解决方案。
三、管理的内容
3.1文件管理
市面上很多的图档管理只是对图档进行简单的入库管理和扫描管理,实际上这离数字化档案室差距很大。建设数字图档管理系统的内容包括图纸档案、文书档案、标准规范、科研档案和近400多种电子文件信息,其载体形式也延伸到语音、视频、图形、图像等更为广阔的领域,是一个以档案信息资源为核心内容的全方位数字档案馆。对由CAD软件产生的DWG图纸文件的管理,一直走在行界的领头。
3.2流程管理
对分散的电子、实物、光盘或其他知识文件,予以收集、存储,使之集中化;然后对其进行加工、整理,使之有序化;接着对其进行鉴定、评价,使之优化;最后将其提供利用,使之实现价值;而在利用过程中又会产生新的电子、实物或其他知识文件,需要对其进行收集、存储。而每一个过程又包括文件、图纸等档案的版本控制和安全控制。
四、图档管理
通过图档管理系统的建设,解决贵院图纸文件的管理问题,实现DWG电子图纸的自动收集分析管理。能够完成多图拆分、图签信息提取、图纸分类整理及监控打印、归档过程,便于打印成本进行统计核算,能方便的分权限借阅、查询等,支持全文检索、缩略图、PDF格式等,自动备份图纸字体,支持条形码,自动生成多种格式保存。与设计项目管理等其他系统实现对接。图文档管理包含电子档案管理和实物档案管理。
4.1、使用环境 出图管理系统目前支持AUTOCAD2004-2014.2 使用之前,客户端必须安装了相应版本的AUTOCAD软件和公司信息化平台系统。
4.2、图框管理
系统后台有对公司标准图框的定义和管理,可以根据公司标准体系文件规定来定义图签栏属性,字体和图框大小等;可以根据不同院所和规格分组定义图
框所属类别;如图:
4.3、修改图框属性
4.3.1属性的批量修改
在插入图框完成后,点击工程设计平台中的属性替换可对已插入的图框属性进行批量修改。
如下图:
属性替换对话框:
在需要修改的字段前打勾,然后在字段后输入或选择相关信息。字段前未勾选或是未录入字段信息都不会替换已插入图框的相对应信息。
4.3.2 单个图框标签栏的修改
在以下情况下用户会需要对插入的某一个图框的图签栏信息进行修改: 1.在插入完一套图框后要在中间插入一张图,此后的图需要修改图号。
2.在复制相同图框后修改图名、图号。3.对于个别已插入图框的图签栏信息进行修改。
出图管理系统支持在CAD上直接修改图签栏信息,但只能对已填入信息进行修改,不允许直接在CAD下填写或复制图签栏信息。这样做可能导致数据写入数据库错误,影响归档时的数据提取。
如图,可以直接在图库上做单个图框属性修改
4.4、图纸自动拆分工具
在自动收集图纸的过程中系统自动将同一个DWG文件中的多张图拆分成多个文件,自动提取图签信息作为文件名。
根据目前设计院的实际情况,很多设计人员将多张图纸画在同一个AutoCAD文件里。在归档时系统需自动将其拆分成多个文件。
4.5、电子签名
与设计项目管理系统相结合,对DWG、Word、Excel等格式文件进行批量电子签名。
能够将签名100%的签上去、签正确,并提供检验工具,并且可以将指定文件夹下的所有图纸批量自动完成电子签名。指定的文件夹中可以包含多个子文件夹,每个子文件夹中可以包含多个DWG文件,每个DWG文件中又可以包含多张图纸。
电子签名支持嵌入图片格式或集成有电子证书的格式(预留接口)。
4.6、自动生成条码
在打印时,系统自动生成具有唯一编号的条形码,并插入到DWG文件中预定的位置。通过监控打印机收集的方式打印OFFICE文件时,系统自动往OFFICE条形码标签处喷上条形码图形。
利用条形码技术,结合企业规章制度,有效解决电子文件收集难题,实现电
子文件与纸质文件一一对应。档案管理员进行归档时,通过扫描条形码进行确认图纸的准确性,如果系统中有相应的电子文件,则允许归档。通过技术与企业管理制度的结合,可以实现设计人员在院内打印图纸、在院外打印图纸等情况下电子文件的自动、准确收集。
4.7、图纸打印
打印图纸(包括利用PLT文件进行打印)时,系统自动将该图纸的DWG文件存档,同步归档统一的PDF格式,并利用条形码功能识别出电子图纸的最后版本。
同时,本系统重点解决打印时经常碰到的几个问题,以提高系统的实用性及设计人员的便利性:
①在一个画有多张图纸的AutoCAD文件中,选取其中一张图纸打印时,系统会自动将这张图纸的信息从整个AutoCAD文件中截取下来,生成一个与打印图纸相对应的新AutoCAD文件,并进行归档。
②如果在一个画有多张图纸的AutoCAD文件中,选取其中几张图纸打印到一张图纸上时(如几张A3图打印到同一张A1图纸上),系统会自动将其切分成几个AutoCAD文件,并分别归档。
③成功地解决图纸有插入外部参照和光栅图像时的各种情况:
不管外部参照和光栅图像是在图纸内部(比图纸小),还是仅有一部分在图纸内,或者覆盖整张图纸(比图纸大),系统均能准确地解决在打印时与图纸同步归档的问题。归档时,系统自动获取图纸的外部参照和光栅图像,并将其与图纸同时归档。图纸复用时与图纸同步下载,保证图纸信息的完整性。
打印图纸时,系统能实现自动存档,并利用条形码功能识别出电子图纸的最后版本。
④自动归档时将该图纸涉及到的所有类型字体也一并归档,并与该图纸方便的一一对应。
另外,打印方式可采用集中打印和分散打印。
1、集中打印
针对于国产CAD产生的文件、需要在文印中心打印的。结合资料加工收费单流程。
集中在文印中心打印,此时可在文印中心将国产CAD的文件
2、分散打印
针对于建筑院设计人员,通过建筑院打印室,或者基于AutoCad环境的文件,设计人员,直接给打印机输送图纸。
4.8、图纸预归档
系统收集到各种电子文件后,经过自动分析和处理、提取信息,最后自动归档到预归档库中,并根据工程图纸、文档信息,自动按树状目录结构,分门别类存储电子文件,相关信息存储到数据库中。管理员可查询归档状态信息,打印归档清单。
归档方式一般分为两种:流程归档和条码归档。
4.8.1流程归档
当发起出图申请流程时候,通过流程来进行归档,可以在发起流程时查找目录中的文件放到附件中,然后在流程结束(或其他节点)用脚本创建目录并将工程附件归档到档案如果需要在流程结束的时候把归档的信息归档到档案表,则需要在流程的最后一个节点发送完成后进行归档处理。4.8.2条码归档
利用条形码进行归档是推荐的归档方式,他能够用条形码这种较低代价的识别方式很好的识别图纸、文件等档案载体,降低归档工作量,提高归档的准确性。
4.9、图纸多格式转换
自动收集图纸过程中系统可以自动将指定文件夹下的所有图纸自动转换成PDF、JPG、DWF等格式,并自动根据图号、图名等命名。
指定的文件夹中可以包含多个子文件夹,每个子文件夹中可以包含多个DWG文件,每个DWG文件中又可以包含多张图纸。
对于一个DWG文件中包含多张图纸时,系统应能够自动将其转换为多个PDF文件,其中的每一张图纸都对应着一个PDF文件。而不是将这个文件只转换成一个PDF文件。
4.10、自动收集图文信息
在打印中自动收集图文信息,如图纸名、图纸号、设计人、项目名称、设计日期等,并能自动按工程、图名、图号分类并建立索引树结构;
不影响现有系统使用,不增加设计人员和档案管理人员、打印人员工作负担实现自动入库;自动统计打印图纸数量和图幅,最大限度降低打印成本;
4.11、设计图纸资源查询利用
设计人员可以依权限通过浏览器登陆系统直接访问企业的设计资源,系统提供了多条件组合查询,模糊查询等高级搜索工具,可以根据图纸(包括WordExcel格式电子文件)上的任何文字、数字等检索图纸,便于设计人员快速准确的定位,系统同时提供图纸预览功能。
4.12、统计分析
通过长时间积累,系统可根据院里需求做各式图档的统计分析。
比如按照时间、部门、人员、分类、工程、项目,对工程、项目、图档的数量进行统计分析,使领导查询数据更加方便、快捷。
五、系统效益分析
5.1、规范了管理
对各种库存档案和图纸资料,实现数字化、电子化管理,对不断产生的分散的电子图档文件,也实现收集、存储、整理、使之有序化。符合档案管理工作科学化、规范化、网络化、信息化的整体发展要求。
5.2、提高了效率
随着社会的进步和企业的竞争压力,传统的图档管理方式已不能适应图档信息化的要求,图档数字化成为发展的必然趋势。数字图档着眼于整个单位与各相关单位、各部门、子公司之间信息的互联互通,提供了档案、图纸资料的远程服务和知识共享,改变了散乱的管理方式,大大提高效率。
5.3、降低了成本
按照预定的权限和流转流程,在网上实现对文件特别是电子文件的收集、整理、归档、借阅、打印,避免频繁的原件借阅和复印,不但减少了人力、物力、财力和时间的浪费,而且大幅度节省了费用,提高了企业的经济效益。
5.4、积累了成果
原始档案图纸反复复印,容易造成原件的破损、老化,不利于档案资料的保护保存,同时复印出的图纸非常不清晰,影响了产品的质量和增加了施工的难度。实现档案图纸资料的电子化、网络化管理,避免图纸资料原件的频繁借阅和复印而造成的破损、老化,有利于做好档案图纸资料的保存保护工作。同时,档案管理将以往相关档案、信息资源加以积累,为知识的延续和创新提供了很好的基础。
详情请联系1-8-6-8-1-9-4-6-8-9-5 张逢博 Q Q 3-1-7-7-2-0-4-0-7
第二篇:图档管理
圖
一、客戶寄來的圖檔管理﹕ 檔 管 理
如QUANTA寄來CTIA機種的圖檔﹐在公用磐T:CUSTOMER下建立.T: CUSTOMER QUANTA CTIA OLD 01_20040714 的資料夾.(客戶名稱大寫)(機種名大寫)(大寫)(版次)(下划線)(日期)
將客戶寄來的圖檔考入.如果客戶第二天又寄來設變圖檔在OLD下建立02_20040715資料夾,以后如此類推.公用磐T: CUSTOMER下圖檔由專人管理。其他人員不得隨便存取.二、模流分析和寄給戶的檢討討告管理﹕
如有做模流分析和寄給客戶的成品檢討告在T: CUSTOMER QUANTA CTIA 下建立成品名的資料夾。TOP_CASE(字母大寫,下划線)
UPPER_COVER
T: CUSTOMER QUANTA CTIA......…….…….OLD
在
第三篇:图档文件格式
ug圖檔文件格式
x_t:實體、片體,支持裝配零件某一部分輸出。無參數,速度快。但不支持線條導出入 cgm: 電腦元素文件,2D線條
stl:立體圖檔,原件被求和為一個整體,不能做修改
ply:未知
igs:通用圖檔,導入容易發生片體。圖層被保留。支持實體、片體,線條。不支持裝配圖一部分導出
step: stp格式,裝配圖檔不能一部分導出(只能全部或在工作部件下導出)。導入時是裝配圖檔會產生眾多零件分圖檔。不支持線條導入導出
catia:支持裝配零件某一部分導出。不支持線條
dxf/dwg: 轉CAD的3D圖檔和2D製圖檔案
2Dchange:轉2D的CAD檔
CAD支持的格式:dwg/dxf/dws/dwt
UG支持的格式:prt/igs/x~t/stp/cgm/model/exp/catpart/catpoduct/dwg/dxf
Pro/E支持的格式:prt/asm/igs/step/dwg/dxf/vda/set/stl/
SolidWorks支持的格式:sldprt/sldasm/slddrw/igs/ipt/step/x_t/x_b/dwg/prtdot/sldftp/sat/vda/3dxml/
由其他軟件導出的step格式圖檔,把後綴名改為stp,就可以導入UG裡面了。
第四篇:养老院管理系统
养老院管理系统一、系统概述
太和养老院管理系统软件是太和盛世科技有限公司专门针对养老院管理而开发的专业的养老院管理软件产品,集入住及协议管理、收费管理、生活照料及护理服务管理、老人档案管理、仓库管理、人事管理、考勤管理、工资管理、财务管理、办公自动化、统计分析等管理组件为一体。
通过该系统,养老院可将各职能部门、服务单元以及外部市场连成一个有机整体,进
行快速、高效的信息收集和业务处理,为养老机构的管理和服务提供适时、准确、可靠的决策依据,提高经营管理效能,增强养老机构的核心竞争力。
二、系统功能视图
三、功能模块
(一)、基本信息(主要提供系统的基本信息的设定及系统初始化操作、功能主要包括收费类型、民族、学历、婚姻状况、护理级别、系统初始化)
(二)、床位管理(主要登记养老院的床位信息、大的方面从那座楼哪个楼层、哪个房间到、哪个床位、主要包括楼房资料、房间资料、床位统计三部分)
1、楼房资料(主要记录养老院内住房的信息)
2、房间资料,记录住房的房间信息,包括床位信息
3、床位统计,对床位信息进行统计
(三)仓库管理,主要对货品的出入库进行细致化的管理,主要包括货品信息,货品入库,货品出库,货品库存,期间入库统计,期间出库统计
1、货品信息,登记货品的基本信息
2、货品入库,登记货品的入库信息
3、货品出库,记录货品的出库信息
4、货品库存,记录货品的库存信息
5、期间入库统计,对货品的期间入库信息进行统计
6、期间出库统计,对货品的期间出库信息进行统计
(四)人事管理,主要对养老院内的人事进行管理,主要功能包括员工信息,员工调动,员工离职,员工请假
(五)老人管理,从老人的入住到,老人退房离开,全面的对老人进行信息管理,主要功能包括老人资料,入住登记,床位安排,转房登记,外出登记,退房登记
1、老人资料,记录老人的详细资料
2、入住登记,对老人的入住情况进行详细的登记
3、床位安排,对老人的床位进行安排
4、转房登记,对老人需要转房的进行登记
5、外出登记,记录老人的外出情况
6、退房登记,老人退房的记录情况
(六)费用管理,主要对养老院的财务情况进行登记,系统进行自动扣费用,记录只需要记录老人缴费的流水账,功能主要包括老人财务托管,预交费登记,其它费用,费用支出,员工工资,员工护理统计,期间财务统计,和试住期提醒,交费提醒
(七)接待管理,主要记录养老院的接待情况,主要功能包括来访登记,接待登记,老人信息查询,房间查询,员工信息查询
四、系统维护
1、数据备份:通过sqlserver企业管理器,可随时对当前的数据进行备份操作。
2、数据还原:可选择以往备份的数据进行还原操作,通过此操作数据将被还原到所备份时期的状态。
3、修改登录密码:当前登录软件的用户可通过此功能修改自己的登录密码。管理员可以修改任何用户的登录密码及功能访问权限。
4、可通过视图背景设置功能设置自己喜欢的图片。
五、应用价值
建立一个计费收费管理、接待咨询管理、老人档案、人事管理、仓库管理、统计分析全面
集成、资源共享的信息化管理系统,全面提高经营管理水平。
规范收费管理,实现精准、迅捷的电脑自动化计费、结账,提高收费工作效率,提升财务
管理质量。加强老人档案资料和服务项目的管理,提供多角度的在住老人情况分析功能,辅助管理层随时全方位掌握老人信息,提升服务质量。提高仓库物品周转效率,规范仓库管理运作,降低库存和运营成本;通过系统的实时的数据统计分析,给管理人员提供全面、准确的、科学的决策依据。
六、适用范围
养老院管理系统适用于养老院、老年福利院、老年公寓、敬老院、老年康复中心、大型
养老社区等养老机构。
七、系统特点
操作简单,界面友好:满足客户已有的操作习惯;
开放性和扩展性:系统具备很好的灵活性、开放性、扩展性和完备的二次开发能力,以适
应该系统升级和功能扩充维护,便于系统容量的增加、支撑功能的增强以及和其它系统的兼容;
使用可靠:系统核心部件稳定可靠,客户应用界面采用浏览器BS模式,全面提高了系统使用的方便性、可靠性和稳定性;
适用范围广,可移植性强:适用于养老院、居家养老、福利院等所有产品系列,而且可以轻松移植到其它产品系列;
强大的统计分析:本系统为软件系统,可以方便统计服务过程中产生的各种数据,以便进行各种报表分析,为管理者提供便利,为决策者提供依据。
八、选择太和养老院管理系统软件的8大理由
1)全流程系统的数据管理
2)十年的行业经验,最贴近你的需求
3)强大的技术团队保障业务的定制和开发
4)北京本地化的实施和支持维护
5)详尽的报表和图表分析,让管理者一目了然
6)可选的增强手机APP应用,随时随地管理和掌握老人的情况和系统的资料。
7)专业工程师团队,造就安全、稳定的管理系统
8)支持远程跨地域管理模式,解决异地管理问题
第五篇:通讯录管理系统
课 程 设 计 任 务 书
题
目
C语言课程设计
系
(部)
专
业
班
级
学生姓名
学
号
06 月
信息科学与电气工程学院
计算机科学与技术
计职141
王雪
140819139 日至
07 月
04 日
共
周 指导教师
院
长
2015 年 6月 23日
一、课程设计目的
将理论教学中涉及到的知识点贯穿起来,对不同的数据类型、程序控制结构、数据结构作一比较和总结,结合设计题目进行综合性应用,对所学知识达到融会贯通的程度。通过课程设计,学生在下述各方面的能力应该得到锻炼:
(1)进一步巩固、加深学生所学专业课程《C++程序设计语言》的基本理论知识,理论联系实际,进一步培养学生综合分析问题,解决问题的能力。
(2)全面考核学生所掌握的基本理论知识及其实际业务能力,从而达到提高学生素质的最终目的。
(3)利用所学知识,开发小型应用系统,掌握运用C++语言编写调试应用系统程序,训练独立开发应用系统,进行数据处理的综合能力。
(4)对于给定的设计题目,如何进行分析,理清思路,并给出相应的数学模型。
(5)掌握结构化程序设计方法,熟悉面向对象程序设计方法。(6)熟练掌握C++语言的基本语法,灵活运用各种数据类型。(7)进一步掌握在集成环境下如何调试程序和修改程序。设计功能
录入联系人信息(包括姓名、电话号码、地址等信息);通讯录管理系统要求实现以下功能:
1、输入每一位联系人记录,将其信息存入文件中。
2、查询所有联系人的信息,并按可选的自定义规则进行排序;
3、记录修改,将修改的记录信息保存于文件中。设计要求
1、设一个通信录由以下几项数据信息构成: 数据项 类型
姓名 字符串
地址 字符串
邮政编码 字符串
电话号码 字符串
试为通信录数据定义类型和定义通信录变量,实现功能:存取、显示、删除记录、查询记录等功能。
2、要求:界面友好,易于操作 总体设计 系统功能模块图:
添加:可以添加通讯录记录,依次输入编号、姓名、年龄、电话号码、通讯地址、电子邮箱等后,会提示是否继续添加。
显示:可以以表格形式输出所有通讯录里的记录
删除:输入欲删除的那个人的名字后,会自动删除他(她)的记录内容 查询:可以选择用姓名、电话、地址三种方式查询
修改:输入欲修改的那个人的名字后,再依次输入编号、姓名、年龄、电话号码、通讯地址、电子邮箱即可完成修改
保存:,输入文件名(带后缀名)后,即可将通讯录信息保存到文件
课程设计名称及内容
课程设计名称:单项选择题标准化考试系统
设计内容:设计并实现一个单项选择题标准化考试系统。该系统可以完成试题录入、试题抽取、自动判卷等功能。
任务和要求
功能要求:
(1)用文件保存试题库。(每个试题包括题干、4个备选答案、标准答案)(2)试题录入:可随时增加试题到试题库中
(3)试题抽取:每次从试题库中可以随机抽出N道题(N由键盘输入)(4)答题:用户可实现输入自己的答案
(5)自动判卷:系统可根据用户答案与标准答案的对比实现判卷并给出成绩。
(二)其它要求:
(1)只能使用C/C++语言,源程序要有适当的注释,使程序容易阅读(2)至少采用文本菜单界面(如果能采用图形菜单界面更好)(3)学生可自动增加新功能模块(视情况可另外加分)
主要知识点
l 面向对象程序设计方法
l 界面制作,switch的应用。l 类和对象。l 动态数组(链表)类模板。l 文件的读写。
五、其他
程序设计可在Microsoft VC++6.0、Borland C++ Builder环境下进行。
六、参考资料
【1】《C语言程序设计》,谭浩强编,清华大学出版社,2008年 出版 【2】《C语言程序设计》,吴明发编,北京理工大学出版社,2007年出版 【3】《C语言参考手册》邱仲潘 机械工业出版社,2004年出版
【4】《C语言课程设计案例精编》 姜灵之 清华大学出版社 2008年出版
详细设计(1).通讯录: 主要代码
#include
//结构体 {
};class inter { private: student st[35];char no[13];char name[20];char address[100];char tel_no[12];char post_code[7];char e_mail[40];public: void add(char no[13],char name[20],char address[100],char tel_no[12],char post_code[7],char e_mail[40]);
void del(char name[20]);void find1(char no[13]);void find2(char name[20]);void list1();void list2();int correct(char name[20]);void read();void write();void format();int back(){
cout<<“
返回还是回到主菜单(T为退出,R为回到主菜单,不计大小写):
”;
} void print(int i){
cout<<“学号:”<
};
} cout<<“电话号码:”< inter a;a.format();char select1;cout< 计职141 ” < <<“tt★★★★★★★★★★★★★★★★★★★★★★★★★★” < ※” < 通 迅 录 ※” < ※” < ※” < ※” < ※” < <<“tt ”< <<“ttt选择 :”;cin>>select1; switch(select1){ case '1':cout<<“ (1)添加:”< cout<<“ (2)删除:”< (3)修改:”< 请选择:”< 输入添加的资料:”< char name[20]; char address[100]; char tel_no[12]; char post_code[7]; char e_mail[40]; cout<<“ 输入学号:”< 输入姓名:”< 输入地址:”< 输入电话号码:”< 输入邮编:”< cout<<“ 输入E_mail:”< cout<<“ 返回还是回到主菜单(T为退出,R为回到主菜单,不计大小写): ”; char back_add;cin>>back_add;if(back_add=='R'||back_add=='r')goto top;else goto bottom;break;case '2':cout<<“ 输入要删除人的姓名:”< char name2[20];cin>>name2;a.del(name2); cout<<“ 返回还是回到主菜单(T为退出,R为回到主菜单,不计大小写): ”; char back_del;cin>>back_del;if(back_del=='R'||back_del=='r')goto top;else goto bottom;break;case '3':cout<<“ 输入需要修改人的姓名:”< char name3[20];cin>>name3;if(a.correct(name3)) } goto top;else goto bottom;break;break;case '2':cout<<“ (1)根据姓名查找”< cout<<“ (2)根据学号查找”< 请选择: ”;cin>>select3;switch(select3){ case '1':char name4[20]; cout<<“ 输入姓名: ”;cin>>name4;a.find2(name4); cout<<“ 返回还是回到主菜单(T为退出,R为回到主菜单,不计大小写): ”; char back_f1;cin>>back_f1;if(back_f1=='R'||back_f1=='r')goto top;else goto bottom;break;case '2':char no4[13];cout<<“ 输入学号: ”;cin>>no4; a.find1(no4); cout<<“ 返回还是回到主菜单(T为退出,R为回到主菜单,不计大小写): ”; } break;char back_f2;cin>>back_f2;if(back_f2=='R'||back_f2=='r')goto top;else goto bottom;break;case '3':a.write();cout<<“ 返回还是回到主菜单(T为退出,R为回到主菜单,不计大小写): ”; char back_w;cin>>back_w;if(back_w=='R'||back_w=='r')goto top;else goto bottom;break;case '4':cout<<“ (1)按学号排序:”< cout<<“ (2)按姓名排序:”< 请选择:”;char select4;cin>>select4;switch(select4){ case '1':a.list1(); cout<<“ 返回还是回到主菜单(T为退出,R为回到主菜单,不计大小写): ”; char back;cin>>back;if(back=='R'||back=='r')goto top;else goto bottom;break;case '2':a.list2(); cout<<“ 返回还是回到主菜单(T为退出,R为回到主菜单,不计大小写): ”; } break;char back1;cin>>back1;if(back1=='R'||back1=='r')goto top;else goto bottom;break;case '5':a.read();cout<<“ 返回还是回到主菜单(T为退出,R为回到主菜单,不计大小写): ”; char back_r;cin>>back_r;if(back_r=='R'||back_r=='r') goto top;else goto bottom;break;case '6':cout<<“ 请确认删除所有资料!(Y/N) ”; char select5;cin>>select5;if(select5=='Y'||select5=='y')a.format();cout<<“ 返回还是回到主菜单(T为退出,R为回到主菜单,不计大小写): ”; } char back_f;cin>>back_f;if(back_f=='R'||back_f=='r')goto top;else goto bottom;break;bottom:cout<<“ ★★★★★★★★★★★★欢迎使用本软件!★★★★★★★★★★★ ”< void inter::add(char no[13],char name[20],char address[100],char tel_no[12],char post_code[7],char e_mail[40]){ int x=1;for(int i=0;i<35;i++)return 0; } { } if(!strcmp(st[i].no,“0”)){ } if(x==0)break;strcpy(st[i].address,address);strcpy(st[i].e_mail,e_mail);strcpy(st[i].name,name);strcpy(st[i].no,no);strcpy(st[i].post_code,post_code);strcpy(st[i].tel_no,tel_no);x=0;//删除联系人 void inter::del(char name[20]){ int x=1;for(int i=0;i<35;i++){ if(!strcmp(st[i].name,name)){ strcpy(st[i].address,“0”); strcpy(st[i].e_mail,“0”);strcpy(st[i].name,“0”);strcpy(st[i].no,“0”);strcpy(st[i].post_code,“0”);strcpy(st[i].tel_no,“0”); } } } else x=0;if(x==0)cout<<“ error:输入姓名错误!”< int inter::correct(char name[30]){ int x;for(int i=0;i<35;i++){ } char select;cout<<“ (1)修改姓名:”< (2)修改学号:”< (3)修改地址:”< (4)修改邮编:”< (5)修改电话号码:”< (6)修改E_MAIL:”< 请选择:”;cin>>select;switch(select){ case '1':cout<<“ 输入要修改的姓名:”;char name1[30];if(!strcmp(st[i].name,name))x=i; cin>>name1;strcpy(st[x].name,name1);cout<<“ 修改成功!”< 输入要修改的学号:”; char no1[13];cin>>no1;strcpy(st[i].no,no1);cout<<“ 修改成功!”< 输入要修改的地址:”; char address1[100];cin>>address1;strcpy(st[x].address,address1);cout<<“ 修改成功!”< 输入要修改的邮编:”; char post_code1[7];cin>>post_code1;strcpy(st[x].post_code,post_code1);cout<<“ 修改成功!”< 输入要修改的电话号码:”;char tel_no1[12]; cin>>tel_no1;strcpy(st[x].tel_no,tel_no1);cout<<“ 修改成功!”< 输入要修改的E_MAIL:”; char e_mail1[40]; cin>>e_mail1; strcpy(st[x].e_mail,e_mail1); cout<<“ 修改成功!”< return back(); break;} } //按学号查询联系人 void inter::find1(char no[13]){ int x,y=1,z=1;for(int i=0;i<35;i++){ if(!strcmp(st[i].no,no)) { x=i; z=0; } else y=0; if(z==0)break; } if(y==0)cout<<“ 输入的学号查找不到!!”< print(x);} //按姓名查询联系人 void inter::find2(char name[20]){ } //读取文件 void inter::read(){ int x,y=1,z=1;for(int i=0;i<35;i++){ } if(y==0)cout<<“ 输入的姓名查找不到!!”< } else y=0;if(z==0)break;x=i;z=0; print(x); char name1[20];cout<<“ 输入你要导入的文件名: ”;cin>>name1;strcat(name1,“.txt”);ifstream file(name1);char line[120];char no[120];char name[120];char address[120];char post_code[120];char tel_no[120];char e_mail[120];int time=0;file.getline(line,120);while(!file.eof()){ for(int k=0;k<35;k++){ if(time==0){ strcpy(no,line);time=1;for(int i=0;i<120;i++){ if(no[i]==':'){ i++;for(int j=0;j<13;j++) } } { } st[k].no[j]=no[i];i++;file.getline(line,120,'n');} if(time==1){ } if(time== 2){ strcpy(name,line);time=2; for(int i=0;i<120;i++){ } file.getline(line,120,'n');if(name[i]==':'){ } i++;for(int j=0;j<20;j++){ } st[k].name[j]=name[i];i++; } strcpy(address,line);time=3;for(int i=0;i<120;i++){ } file.getline(line,120,'n');if(address[i]==':'){ } i++;for(int j=0;j<100;j++){ } st[k].address[j]=address[i];i++;if(time==3){ strcpy(tel_no,line);time=4;for(int i=0;i<120;i++){ if(tel_no[i]==':'){ i++;for(int j=0;j<12;j++){ st[k].tel_no[j]=tel_no[i]; } } } } i++;file.getline(line,120,'n'); if(time==4){ } if(time==5){ strcpy(e_mail,line);strcpy(post_code,line);time=5;for(int i=0;i<120;i++){ } file.getline(line,120,'n');if(post_code[i]==':'){ } i++;for(int j=0;j<7;j++){ } st[k].post_code[j]=post_code[i];i++; } } } } time=0;for(int i=0;i<120;i++){ } file.getline(line,120,'n');if(e_mail[i]==':'){ } i++;for(int j=0;j<40;j++){ } st[k].e_mail[j]=e_mail[i];i++; file.close();//写入文件 void inter::write(){ char name[20];cout<<“ 输入要保存的文件名 ”;cin>>name;strcat(name,“.txt”);ofstream savefile(name);for(int i=0;i<35;i++) } { } savefile.close();savefile << “学号:”< savefile << “姓名:”< savefile << “地址:”< savefile << “电话号码:”< savefile << “邮编:”< savefile << “E_MAIL:”< strcpy(no,st[j].no);strcpy(st[j].no,st[j+1].no);for(int i=0;i<34;i++){ for(int j=0;j<35-i;j++){ if(strcmp(st[j].no,st[j+1].no)>0){ char no[13]; char name[20]; char address[100]; char tel_no[12]; char post_code[7]; char e_mail[40]; strcpy(st[j+1].no,no); strcpy(name,st[j].name);strcpy(st[j].name,st[j+1].name);strcpy(st[j+1].name,name); strcpy(address,st[j].address); } for(int k=0;k<35;k++){ int x=0;if(strcmp(st[k].no,“0”)) } } strcpy(st[j].address,st[j+1].address);strcpy(st[j+1].address,address); strcpy(tel_no,st[j].tel_no);strcpy(st[j].tel_no,st[j+1].tel_no);strcpy(st[j+1].tel_no,tel_no); strcpy(post_code,st[j].post_code);strcpy(st[j].post_code,st[j+1].post_code);strcpy(st[j+1].post_code,post_code); strcpy(e_mail,st[j].e_mail);strcpy(st[j].e_mail,st[j+1].e_mail);strcpy(st[j+1].e_mail,e_mail); { } if(x==1){ cout< } } } //按姓名排序 void inter::list2(){ for(int i=0;i<34;i++){ for(int j=0;j<35-i;j++){ if(strcmp(st[j].name,st[j+1].name)>0){ char no[13]; char name[20]; char address[100]; char tel_no[12]; char post_code[7]; char e_mail[40]; strcpy(no,st[j].no);strcpy(st[j].no,st[j+1].no);strcpy(st[j+1].no,no); strcpy(name,st[j].name);strcpy(st[j].name,st[j+1].name);strcpy(st[j+1].name,name); strcpy(address,st[j].address); } for(int k=0;k<35;k++){ } } strcpy(st[j].address,st[j+1].address);strcpy(st[j+1].address,address); strcpy(tel_no,st[j].tel_no);strcpy(st[j].tel_no,st[j+1].tel_no);strcpy(st[j+1].tel_no,tel_no); strcpy(post_code,st[j].post_code);strcpy(st[j].post_code,st[j+1].post_code);strcpy(st[j+1].post_code,post_code); strcpy(e_mail,st[j].e_mail);strcpy(st[j].e_mail,st[j+1].e_mail);strcpy(st[j+1].e_mail,e_mail); } } int x=0;if(strcmp(st[k].no,“0”)){ } if(x==1){ } cout< void inter::format(){ } for(int i=0;i<35;i++){ } strcpy(st[i].address,“0”);strcpy(st[i].e_mail,“0”);strcpy(st[i].name,“0”);strcpy(st[i].no,“0”);strcpy(st[i].post_code,“0”);strcpy(st[i].tel_no,“0”); (2).工作流程图: 1.通讯录主界面 2.添加:添加通讯录记录 3.显示:查询通讯录记录 4.删除:删除通讯录记录 5.修改:修改通讯录记录 小结(收获和建议)这次的程序实设计实验是对我们进入大学以来学习程序设计语言结果的一次大检验,面对许多不懂得知识,通过他人的帮助,以及参考他人的成果,自己动手尝试,修改等,才完成。这个课程设计,花费了我近两个星期的时间,这也是因为书本不熟悉。通过这次设计,使我对《C语言》这门课程有了更深一步的了解。它不仅是计算机程序设计的重要理论技术基础,也在我们电子与信息专业的学习中占据着十分重要的地位。同时也使我们知道,要学好这门课程,仅学习书本上的知识是不够的,还要有较强的实践能力。因为我们学习知识就是为了实践。而只有多实践,多编写程序,才能更好的理解与掌握书本上的东西。利用计算机来编写程序,也让我感受到了编程的乐趣,极大的激发了我的兴趣。