第一篇:生產(chǎn)實(shí)習(xí)報(bào)告
目錄
一、生產(chǎn)實(shí)習(xí)的目的?????????????????1
二、生產(chǎn)實(shí)習(xí)的內(nèi)容?????????????????2
三、相關(guān)準(zhǔn)備知識(shí)………………………………………………………3
四、生產(chǎn)實(shí)習(xí)日記....................................5 日記一?????????????????????5 日記二?????????????????????8 日記三?????????????????????9 日記四?????????????????????11 日記五?????????????????????12
五、生產(chǎn)實(shí)習(xí)心得體會(huì)????????????????14
-0
生產(chǎn)實(shí)習(xí)內(nèi)容
(1)了解公司的基本情況。包括創(chuàng)業(yè)背景與發(fā)展歷史、目前運(yùn)作狀況、將來(lái)發(fā)展規(guī)劃、管理組織的層次結(jié)構(gòu)、產(chǎn)品品種、質(zhì)量、產(chǎn)量、產(chǎn)值等;
(2)了解企業(yè)產(chǎn)品的主要工藝流程,有哪些生產(chǎn)單位,以何種專業(yè)化形式組成,平面布置是否合理。
(3)了解公司物流管理方面的運(yùn)作狀況,包括生產(chǎn)物流、銷售物流、采購(gòu)物流等,具體可包括:成品、半成品的庫(kù)存管理,原材料、外購(gòu)件的采購(gòu)供應(yīng),廠房布局、倉(cāng)儲(chǔ)規(guī)劃、運(yùn)輸規(guī)劃、配送方案等。(4)了解公司現(xiàn)場(chǎng)管理的基本情況,如5S活動(dòng)、定置管理、目視管理等;
(5)了解生產(chǎn)管理的運(yùn)作狀況,包括生產(chǎn)計(jì)劃制訂、調(diào)度以及信息反饋等。
(6)了解質(zhì)量管理的運(yùn)作狀況,包括工序崗位、車間(分廠)、公司總部、售后服務(wù)等不同層面在質(zhì)量保證方面的檢驗(yàn)方法、手段、措施。(7)了解企業(yè)設(shè)備的使用和維修保養(yǎng)制度、設(shè)備修理計(jì)劃。(8)了解企業(yè)人因工程應(yīng)用情況。(9)了解企業(yè)信息化方面的情況。
庫(kù)存(投入品、半成品、成品)、財(cái)務(wù)和人事等方面進(jìn)行集成優(yōu)化的管理,并包括相應(yīng)的模塊組成部分。ERP不是機(jī)械地適應(yīng)于企業(yè)現(xiàn)有流程,而是對(duì)企業(yè)流程不合理部分提出改進(jìn)和優(yōu)化建議,并可能導(dǎo)致組織機(jī)構(gòu)的重新設(shè)計(jì)和業(yè)務(wù)流程組。
質(zhì)量管理與可靠性技術(shù):包括為保證產(chǎn)品或工作質(zhì)量進(jìn)行質(zhì)量調(diào)查、計(jì)劃、組織、協(xié)調(diào)與控制等各項(xiàng)工作,核心是為了到達(dá)規(guī)定的質(zhì)量標(biāo)準(zhǔn),利用科學(xué)方法對(duì)生產(chǎn)進(jìn)行嚴(yán)格檢查和控制,預(yù)防不合格品產(chǎn)生。內(nèi)容包括傳統(tǒng)的質(zhì)量控制方法,現(xiàn)代質(zhì)量管理-保證,生產(chǎn)保證、全面質(zhì)量控制TQC與全面質(zhì)量控制TQM。可靠性技術(shù)是現(xiàn)有系統(tǒng)有效運(yùn)行的原理與方法,包括可靠性概念、故障及診斷分析、使用可靠性、系統(tǒng)可靠性設(shè)計(jì)、系統(tǒng)維護(hù)與保養(yǎng)策略等。
現(xiàn)代制造系統(tǒng):IE的基礎(chǔ)和組成部分,包括成組技術(shù)GT、計(jì)算機(jī)輔助工藝過(guò)程設(shè)計(jì)、柔性制造單元FMC與系統(tǒng)FMS、計(jì)算機(jī)集成制造、敏捷制造、虛擬企業(yè)、網(wǎng)絡(luò)制造、虛擬制造、可重組制造系統(tǒng)(Re-configurable Manufacturing system)、孤島制造系統(tǒng)(Holonic Manufacturing System), 基于智能體的制造系統(tǒng)(Agent-based Manufacturing system)、自組織制造系統(tǒng)等。
管理信息系統(tǒng):它為一個(gè)企業(yè)的經(jīng)營(yíng)、管理和決策提供信息支持的用戶計(jì)算機(jī)綜合系統(tǒng),是現(xiàn)代IE應(yīng)用的重要基礎(chǔ)與手段。包括計(jì)算機(jī)管理系統(tǒng)的組成,數(shù)據(jù)庫(kù)技術(shù)、信息系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)等。(MRP-II、ERP、PDM、CIMS)
易被過(guò)道上通過(guò)的人碰上,存在比較嚴(yán)重的安全隱患
·整個(gè)廠房雖然有分成了各個(gè)相應(yīng)的區(qū)域,比如:機(jī)加工區(qū)、裝配區(qū)、半成品區(qū)、電焊區(qū)、數(shù)控區(qū)等等。但有些區(qū)域相應(yīng)的區(qū)牌標(biāo)志已損壞或已丟失,而且有些區(qū)域之間的分界不是很清楚。建議的改進(jìn)方案:
·運(yùn)用工業(yè)工程中6S現(xiàn)場(chǎng)管理方法對(duì)整個(gè)廠房進(jìn)行相應(yīng)的整頓、整理、清潔、清掃。對(duì)廠房中不需要的設(shè)備進(jìn)行清除,對(duì)產(chǎn)生的垃圾進(jìn)行及時(shí)的清除,是整個(gè)產(chǎn)房時(shí)刻保持清潔狀態(tài)。對(duì)每個(gè)工作人員進(jìn)行相應(yīng)的素養(yǎng)培訓(xùn),培養(yǎng)有好習(xí)慣、遵守規(guī)則的員工,營(yíng)造團(tuán)隊(duì)精神。·對(duì)整個(gè)產(chǎn)房根據(jù)物流關(guān)系進(jìn)一步的的合理的設(shè)施規(guī)劃,根據(jù)產(chǎn)品布置原則(定位式布置、產(chǎn)品原則布置、工藝原則布置、成組單元布置),進(jìn)行相應(yīng)的布置。
·對(duì)產(chǎn)房的燈光進(jìn)行重新的布置和安放,根據(jù)《工業(yè)企業(yè)照明標(biāo)準(zhǔn)》GB50034-2004的有關(guān)標(biāo)準(zhǔn)制定創(chuàng)造適合的照明度,使工作人員以最舒適的工作狀態(tài)進(jìn)行作業(yè)。
時(shí)間:2012年5月21日 地點(diǎn):湖南中通電氣有限公司
公司概況:湖南中通電氣有限公司組建于2008年5月,母公司為鐵道部電機(jī)維修知名企業(yè)湘潭鐵路電機(jī)有限公司,主要從事地鐵車輛用油壓減振阻尼器、軌道車輛用受流器和電力機(jī)車高壓受電自動(dòng)轉(zhuǎn)換器的科研、設(shè)計(jì)、制造和銷售,年產(chǎn)值3000多萬(wàn)。公司產(chǎn)品擁有多項(xiàng)
日記二
時(shí)間:2012年5月22日
地點(diǎn):湖南江濱活塞廠
公司概況:2012年5月22日我們參觀了湖南江濱活塞廠。湖南江濱活塞(集團(tuán))有限公司隸屬于中國(guó)兵器裝備集團(tuán)公司,始建于1970年,湖南江濱機(jī)器廠在湖 南湘西成立,1990年遷于現(xiàn)址,2002年成立湖南江濱機(jī)器(集團(tuán))有限責(zé)任公司。1978年,江濱開(kāi)始生產(chǎn)發(fā)動(dòng)機(jī)活塞、齒輪和機(jī)油泵?,F(xiàn)有規(guī)模:資產(chǎn)4.1億元,現(xiàn)代化高精數(shù)控設(shè)備1000余臺(tái)套,年產(chǎn)中高檔發(fā)動(dòng)機(jī)活塞380萬(wàn)只,員工總數(shù)1200人。
江濱活塞廠是第二次參觀了,這次和上一次相比設(shè)備更齊全了,參觀的車間也更多。發(fā)現(xiàn)的問(wèn)題:
·后面參觀的幾個(gè)齒輪車間設(shè)備和產(chǎn)品擺放太雜亂,有些都阻礙了過(guò)道。工作人員在操作機(jī)器時(shí)把處理好的活塞隨意仍在一堆,不利產(chǎn)品的合格率。
·幾個(gè)齒輪車間的機(jī)器設(shè)備在作業(yè)時(shí)發(fā)出的噪音太大,而且工作人員工作時(shí)并沒(méi)有采取相應(yīng)的措施保護(hù)耳朵,長(zhǎng)期這樣會(huì)嚴(yán)重影響工作人員的心情和工作效率。
·大部分動(dòng)作人員在作業(yè)時(shí)動(dòng)作都是在不斷地重復(fù),在他們操作時(shí)有些不必要的動(dòng)作。
企業(yè)步入快速健康發(fā)展的軌道。
通過(guò)多年的奮斗,公司已成為全國(guó)礦井通風(fēng)機(jī)行業(yè)的領(lǐng)先企業(yè),2006年首批“國(guó)家創(chuàng)新型企業(yè)試點(diǎn)單位”和“國(guó)家高技術(shù)研究發(fā)展計(jì)劃863/CIMS應(yīng)用工程示范企業(yè)”;首家用自主核心技術(shù)進(jìn)行礦井通風(fēng)監(jiān)測(cè)與智能控制系統(tǒng)研究開(kāi)發(fā)和生產(chǎn)的企業(yè),擁有行業(yè)唯一的模擬礦井試驗(yàn)巷道,相關(guān)專利技術(shù)項(xiàng)數(shù)行業(yè)第一;礦井通風(fēng)機(jī)產(chǎn)銷量居全國(guó)第一,市場(chǎng)占有率達(dá)35%,公司為中國(guó)煤炭機(jī)械工業(yè)協(xié)會(huì)理事單位、煤炭行業(yè)煤礦安全標(biāo)準(zhǔn)化技術(shù)委員會(huì)通風(fēng)技術(shù)及設(shè)備分會(huì)標(biāo)準(zhǔn)起草成員單位、中國(guó)通用機(jī)械工業(yè)協(xié)會(huì)風(fēng)機(jī)分會(huì)理事單位、中煤勞保學(xué)會(huì)礦井通風(fēng)專業(yè)委員會(huì)副主任單位。
目前,公司擁有8個(gè)系列360余種規(guī)格風(fēng)機(jī)產(chǎn)品、擁有專利技術(shù)29項(xiàng),主導(dǎo)產(chǎn)品中 8個(gè)獲“國(guó)家級(jí)重點(diǎn)新產(chǎn)品”證書,其中BD系列主通風(fēng)機(jī)獲 “第二屆國(guó)家安全生產(chǎn)科技成果二等獎(jiǎng)”,DBKJ系列對(duì)旋局部通風(fēng)機(jī)獲“第三屆國(guó)家安全生產(chǎn)科技成果三等獎(jiǎng)”,礦井智能局部通風(fēng)系統(tǒng)項(xiàng)目列入“國(guó)家十五攻關(guān)計(jì)劃”,礦井的風(fēng)流監(jiān)測(cè)與智能控制關(guān)鍵技術(shù)研制開(kāi)發(fā)項(xiàng)目列入了2006年國(guó)家“煤礦瓦斯綜合治理與利用重大關(guān)鍵技術(shù)研發(fā)與裝備研制”專項(xiàng),“平安”牌系列產(chǎn)品獲“中國(guó)煤礦機(jī)電放心產(chǎn)品”榮譽(yù)稱號(hào)。
剛到平安電氣門口,負(fù)責(zé)人就帶領(lǐng)我們到員工食堂,她對(duì)我們講解了平安電氣的發(fā)展經(jīng)歷和成功的要素(有獨(dú)到的眼光選擇了一個(gè)很好的行業(yè);不斷的自我創(chuàng)新包括技術(shù)和管理;好的領(lǐng)導(dǎo),好的制度,整個(gè)企業(yè)就像一家人),告誡我們?cè)趧?chuàng)業(yè)時(shí)要注意這些問(wèn)題。
011
湘潭生產(chǎn)線建設(shè)工作已經(jīng)順利完成,湘潭基地已經(jīng)建成涵蓋遠(yuǎn)景車型的沖壓、涂裝、焊裝、總裝四大工藝中心,工廠占地面積560畝,年產(chǎn)能達(dá)到10萬(wàn)輛。湘潭基地新落成的遠(yuǎn)景生產(chǎn)線擁有國(guó)內(nèi)一流的汽車生產(chǎn)流水線和先進(jìn)的汽車制造工藝,擁有世界先進(jìn)水平的多連桿大臺(tái)面機(jī)械壓力機(jī)、汽車覆蓋件沖壓生產(chǎn)線及大噸位、大臺(tái)面液壓機(jī)沖壓件生產(chǎn)線,同時(shí)配備大臺(tái)面模具研配壓力機(jī)和大臺(tái)面落料壓力機(jī)等。
發(fā)現(xiàn)的問(wèn)題:
·空間太大,有些空間都是空著的,沒(méi)有合理的利用。
·物料擺放不合理,有的工人需繞過(guò)去拿物料,還有的工人需跑一段路去拿物料,造成了時(shí)間的浪費(fèi)。
·在焊接車間,噪聲太大,火花濺的太遠(yuǎn)和范圍廣,挺危險(xiǎn)的。建議的改進(jìn)方案:
·對(duì)多余的空間可以進(jìn)行重新規(guī)劃,比如建個(gè)休息室,給工作人員休息。
·根據(jù)物料搬運(yùn)原則對(duì)其進(jìn)行分析,先算出物料搬運(yùn)活動(dòng)系數(shù)畫出活性分析表,制定出適宜的搬運(yùn)方法。
·在焊接處用擋板在在旁圍住,提高機(jī)械裝配精度,及時(shí)增添潤(rùn)滑劑,采用防震措施小件機(jī)械運(yùn)動(dòng)引起的噪聲。
第二篇:生產(chǎn)實(shí)習(xí)報(bào)告
一.實(shí)習(xí)記錄
1.7月2日
① 講述Gcc Gcc工具鏈四個(gè)步驟:預(yù)處理、編譯、匯編、鏈接。
在Linux操作系統(tǒng)下,在終端中文本編輯的命令為vim +文件名(如test123.c),回車進(jìn)入文件,然后進(jìn)行編寫。編譯命令:gcc +源文件名+-o+可執(zhí)行文件名。運(yùn)行:./ +可執(zhí)行文件名。輸入命令gcc-c test.c 時(shí),則會(huì)生成.o文件。
在文本編輯情況下,有三種模式:命令、輸入、末行,它們之間的轉(zhuǎn)換關(guān)系圖為:
a:輸入i/o/a;b:esc;c:冒號(hào),其中可以為wq:保存退出
q!不保存退出,應(yīng)注意的是保存退出需在末行模式下進(jìn)行
幾種命令:gcc-o test test.c-Wall 把所有警告顯示出來(lái)
gcc-o test test.c-O2
提高效率(在底層開(kāi)發(fā)運(yùn)用)
gcc-o test test.c-g
進(jìn)入gdb調(diào)試模式
② Gdb調(diào)試器
可設(shè)置斷點(diǎn)、單步執(zhí)行、查看變量、查看文件 a.-g 編譯
gcc 源文件-o 可執(zhí)行文件名-g b.gdb空格./test 運(yùn)行 c.l +數(shù)字
顯示代碼 d.b +數(shù)字/函數(shù)名
設(shè)置斷點(diǎn) e.r
執(zhí)行程序 f.p +變量
打印變量 g.n 單步執(zhí)行
h.c 依次繼續(xù)往下執(zhí)行
Ctrl +c停止 i.q 退出
j.s 進(jìn)入函數(shù)
info break 斷點(diǎn)信息
快捷鍵:方向鍵:翻命令
Tab鍵:補(bǔ)全命令
修改vim屬性命令:vim ~/.vimrc(~表示當(dāng)前用戶根目錄,.表示隱藏文件)然后編寫:set tabstop=4 set
shiftwidth=4 set
autoindent set
cindent set
nu 2.7月3日
① 版權(quán)和版本聲明:
位于頭文件和函數(shù)定義的開(kāi)頭,包括版本、作者、更新日期 注釋:函數(shù)介紹、輸入?yún)?shù)、輸出參數(shù)、返回值 /***** 函數(shù)名稱: 函數(shù)功能介紹: 函數(shù)參數(shù);函數(shù)返回值: 其他: *****/ int GStuNum,匈牙利命名規(guī)則;int g_stu_num,unix規(guī)范
調(diào)用多文件編譯
gcc-o test test.c fun.c 兩個(gè)源文件生成一個(gè)test文件 編寫makefile文件:vim makefile,make編譯。在makefile文件里,要有目標(biāo)并寫出依賴,命令前需加tab鍵。例如: main:test.o
fun.o
gcc-o main-test.o fun.o
test.o:test.c
gcc-c test.c
fun.o:fun.c
gcc-c fun.c
如圖:
也可以用變量代替:開(kāi)頭CC=gcc(PC平臺(tái)),CC=arm-linux-gcc(arm平臺(tái)),則可寫成:
$(CC)-o main test.o fun.o
$為使用變量值 clean:rm *.o-rf
rm main-rf ② 數(shù)據(jù)結(jié)構(gòu)
C基本語(yǔ)法:1.變量2.語(yǔ)句3.分支4.循環(huán)5.函數(shù)6.存取7.類8.封裝集成。C++的特性:封裝,集成,多態(tài)
鏈表,最重要的是雙向鏈表(單環(huán)),基本操作:添加、查找、刪除。定義:typedef struct node{ datatype data;struct node *next;}LNode,*LinkList;指向本結(jié)點(diǎn)類型的指針是實(shí)現(xiàn)鏈表的基礎(chǔ),數(shù)據(jù)量大時(shí)用鏈表存儲(chǔ),少時(shí)用數(shù)組。指針最大值為2^32=4G,指針0~4G的一個(gè)數(shù)字。頭指針為“NULL”則表示一個(gè)空表。內(nèi)存分配函數(shù)有malloc和calloc.語(yǔ)句:算術(shù)語(yǔ)句,如i=i+1;i++;關(guān)系語(yǔ)句,i>2;邏輯語(yǔ)句,i<20&&i>10兩個(gè)同時(shí)成立就成立,||(或)一個(gè)成立就成立; 分支:if else 計(jì)算閏年if(year%400==0||(year%4==0&&year%100!=0))循環(huán):while(),do{}while();for(i=0;i<10;i++)i=0只在第一次時(shí)執(zhí)行。r回車字符,%x指針地址
usleep();sleep(1);1秒跳一次fflush(stdout);題目(1.聲明數(shù)組2.錄入學(xué)生信息3.求最高分4.打?。┐a:struct stu{int s;int num;char name[16];};
int main {struct stu stu_arry[10];} 3.7月4日 鏈表
鏈表的創(chuàng)建與遍歷及查找、增加、刪除結(jié)點(diǎn)各項(xiàng)操作,給出部分代碼進(jìn)行練習(xí),對(duì)鏈表的操作進(jìn)行熟悉。著重強(qiáng)調(diào)增加結(jié)點(diǎn)(尾插入)的操作,得到尾結(jié)點(diǎn)的代碼如下:
for(p=h;p!=NULL;p=p->next){if(p->next==NULL)pp=p;} p=malloc(sizeof(struct node));p->num=num;strcpy(p->name,name);pp->next=p;p->next=NULL;return h;4.7月5日
① 熟悉鏈表的各項(xiàng)操作,老師給出代碼,加強(qiáng)出錯(cuò)部分的練習(xí)。刪除結(jié)點(diǎn)時(shí)的考慮,刪除的是頭結(jié)點(diǎn)和非頭結(jié)點(diǎn),代碼如下:
struct node *link_del_node_by_num(struct node *h,int num){
struct node *p;
struct node *pp;
/*find node by num*/
for(pp=p=h;p!=NULL;pp=p,p=p->next)
{
if(p->num==num)
break;
}
/*del node is head node*/
if(p==h)
{
h=h->next;
free(p);
}
/*del node is not head node*/
else
{
pp->next=p->next;
free(p);
}
if(p==NULL)
return NULL;
return h;} ②哈希表
哈希表存儲(chǔ)的基本思想以數(shù)據(jù)表中的每個(gè)記錄的關(guān)鍵字k為自變量,通過(guò)一種函數(shù)H(k)計(jì)算出函數(shù)值。把這個(gè)值解釋為一塊連續(xù)存儲(chǔ)空間(即數(shù)組空間)的單元地址(即下標(biāo)),將該記錄存儲(chǔ)到這個(gè)單元中。
構(gòu)造方法:1.直接定址法 H(k)=k+c 2.除留余數(shù) H(k)=k%m 3.平方取中法 取關(guān)鍵字平方后的中間幾位作為哈希函數(shù)的地址沖突解決方法:開(kāi)放定址法 H(k)=(k*k+i)%m,Hi=(H(k)+d(i))%m,i=1,2,??k(d為增量函數(shù))編寫代碼,實(shí)現(xiàn)對(duì)哈希表的添加、查找操作。
5.7月6日
整理哈希表的操作代碼,對(duì)各個(gè)部分進(jìn)行完善,并編寫出了刪除結(jié)點(diǎn)的程序代碼。在刪除頭結(jié)點(diǎn)的時(shí)候,程序運(yùn)行結(jié)果總是出錯(cuò),詢問(wèn)老師過(guò)后,經(jīng)過(guò)老師的講解,最后完成了代碼。
6.7月7日
接口設(shè)計(jì) 詞典的存儲(chǔ)格式:文本文件,索引;查詢方式:字符串匹配,二分查找 版本管理工具(git)找出版本之間的差異,回到以前的版本,原則:迭代開(kāi)發(fā)(逐漸找出功能)、接口分離
$ ^ 所有的依賴文件,$< 只依賴于第一個(gè)文件,在linux終端下,查詢手冊(cè)用man命令。給出部分代碼,查詢手冊(cè)以便理解。
7.7月8日
講述部分函數(shù)的意義,memset直接設(shè)置內(nèi)存,memset(trans,0,WORD_LEN);從trans開(kāi)始,長(zhǎng)度為多少,都設(shè)為0。Shift+* 移光標(biāo)
#if 0??#endif 此時(shí)這里的內(nèi)容不需要編譯;#if 1??#endif 能打開(kāi)
8.7月9日
①如何將windows中的文件傳到虛擬機(jī)中?
控制面板—>網(wǎng)絡(luò)連接—>Vmware Workstation啟用,在終端輸入命令ifconfig eth 0 找到地址192.168.8.131;然后虛擬機(jī)打開(kāi)ftp命令 /etc/init.d/vsftpd start nestar-an|grep 20是查看ftp狀況的,修改密碼命令passwd student,解壓縮文件tar xf dict.tar.bz2 ②文件的操作
FILE *pFile=fopen(filename,“rb”)fclose(pFile)關(guān)閉文件
fread(buffer,size,size_count,pFile)從文件可讀取size*size_count到buffer中。在代碼中實(shí)現(xiàn)退格鍵的操作。
9.7月10日
實(shí)現(xiàn)了退格鍵操作,并對(duì)代碼進(jìn)行完善。下午編寫刪除操作,結(jié)果失敗。
10.7月11日
老師驗(yàn)收程序,進(jìn)行演示。二.設(shè)計(jì)過(guò)程
1.題目
(1)建立一個(gè)哈希表,并實(shí)現(xiàn)添加、刪除、查找的功能(2)設(shè)計(jì)一個(gè)英漢字典,要求實(shí)現(xiàn)退格輸出功能
2.題目思路
⑴哈希表存儲(chǔ)的基本思想以數(shù)據(jù)表中的每個(gè)記錄的關(guān)鍵字k為自變量,通過(guò)一種函數(shù)H(k)計(jì)算出函數(shù)值。把這個(gè)值解釋為一塊連續(xù)存儲(chǔ)空間(即數(shù)組空間)的單元地址(即下標(biāo)),將該記錄存儲(chǔ)到這個(gè)單元中。需要用除留余數(shù)法構(gòu)造。首先找到地址標(biāo)號(hào)后,然后再根據(jù)鏈表的方式存儲(chǔ)進(jìn)去。能夠?qū)崿F(xiàn)可選擇性的添加數(shù)據(jù),然后顯示出哈希表??筛鶕?jù)查找的數(shù)據(jù),顯示出位置,及根據(jù)數(shù)據(jù)刪除時(shí),出現(xiàn)的新哈希表。
⑵英漢詞典需要在二進(jìn)制文件里,建立一個(gè)字典庫(kù),然后再查找編寫一系列功能函數(shù)。此程序用的是聯(lián)想輸入法,在非標(biāo)準(zhǔn)模式下實(shí)現(xiàn)。能夠按首字母查詢并且實(shí)現(xiàn)選擇單詞,出現(xiàn)意思的功能,并且能夠?qū)崿F(xiàn)退格輸出。此時(shí)需要編寫查找匹配單詞的函數(shù),及得到單詞意思的函數(shù)。老師已經(jīng)給出部分代碼,再編寫實(shí)現(xiàn)退格鍵的操作即可。
3.如何實(shí)現(xiàn)
⑴實(shí)現(xiàn)哈希表的流程圖
利用除留余數(shù),得到數(shù)據(jù)位置的代碼 int hash_hash_fun(int data){
int pos;
pos=data%HASH_MAX;
return pos;} 在添加數(shù)據(jù)時(shí),應(yīng)給P開(kāi)辟空間,之后找到所屬位置,進(jìn)行存儲(chǔ)即可。部分主要代碼如下:
/*malloc memory*/
p=(struct node*)malloc(sizeof(struct node));
/*input data*/
printf(“input add data:n”);
scanf(“%d”,&add_data);
getchar();
pos=hash_hash_fun(add_data);
p->num=add_data;
p->next=hash[pos];
hash[pos]=p;
在查找數(shù)據(jù)時(shí),首先進(jìn)入 hash_hash_fun函數(shù),找到位置后,方可進(jìn)行查找,此函數(shù)是整個(gè)程序的關(guān)鍵,輸出結(jié)果為位置加上數(shù)據(jù)的形式。代碼如下:
struct node *hash_find(struct node *hash[],int f_num){
int pos;
struct node *p;
printf(“input find f_num:n”);
scanf(“%d”,&f_num);
pos=hash_hash_fun(f_num);
for(p=hash[pos];p!=NULL;p=p->next)
{
if(p->num==f_num)
{
printf(“[%d] %dn”,pos,p->num);
break;
}
}
if(p==NULL)
printf(“no find.n”);
return p;}
在刪除的時(shí)候,需要三方面的考慮,刪除的是頭結(jié)點(diǎn),非頭結(jié)點(diǎn),及指針?biāo)傅臑榭?,這樣才能更準(zhǔn)確的刪除表中數(shù)據(jù)。代碼如下:
struct node *hash_del(struct node *hash[],int num){
int pos;
struct node *h=NULL;
struct node *p;
struct node *pp;
printf(“input del num:n”);
scanf(“%d”,&num);
pos=hash_hash_fun(num);
for(pp=p=h=hash[pos];p!=NULL;pp=p,p=p->next)
{
if(p->num==num)
break;
}
printf(“[%d] %dn”,pos,p->num);
if(p==h)
{
hash[pos] = p->next;
free(p);
}
else
{
pp->next=p->next;
free(p);
}
if(p==NULL)
return NULL;} ⑵實(shí)現(xiàn)英漢詞典退格功能 在實(shí)現(xiàn)查找功能時(shí),需要進(jìn)行輸入數(shù)據(jù)的判斷如果是字母的話,應(yīng)怎樣運(yùn)行,如果是退格鍵時(shí),是怎樣,以及是數(shù)字時(shí)是怎樣,這里需調(diào)用兩個(gè)函數(shù)isalpha()判斷字母和isdigit()判斷數(shù)字。這里把字母的判斷和退格鍵的判斷寫到了一塊,代碼如下:
if(isalpha(c)||(c=='177'))
{
trans[n] = c;
//back space
if(c == '177')
{
n--;
if(n < 0)n = 0;
trans[n] = '