第一篇:圖檔管理系統
“北京建設數字科技股份有限公司”專注設計院綜合管理系統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語言》這門課程有了更深一步的了解。它不僅是計算機程序設計的重要理論技術基礎,也在我們電子與信息專業的學習中占據著十分重要的地位。同時也使我們知道,要學好這門課程,僅學習書本上的知識是不夠的,還要有較強的實踐能力。因為我們學習知識就是為了實踐。而只有多實踐,多編寫程序,才能更好的理解與掌握書本上的東西。利用計算機來編寫程序,也讓我感受到了編程的樂趣,極大的激發了我的興趣。