




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、PAGE 沈 陽 航 院 設 計 用 紙沈 陽 航 空空 工 業(yè) 學學 院 課程設設計學 號 2000604402110355班 級 640021001姓 名 趙晨指導教師師 王曉曉巖20077年 9月 20 日沈陽航空空工業(yè)學學院課程設計計任務書書院系:電電子 專業(yè)業(yè):電子子信息工工程 班班級:6640221011學號:2200660400210035 題目:會議簽簽到系統(tǒng)統(tǒng)一、課程程設計時時間20077年9月月10日日至20007年99月144日,共共計1周周,200學時。二、課程程設計內內容用C語言言編寫軟軟件完成成以下任任務:(1)數(shù)數(shù)據(jù)信息息(參加加會議人人員代號號,姓名名,性別別,
2、工作作單位,職職務,聯(lián)聯(lián)系方式式,是否否簽到等等)保存存在meeetiing.datt文件中中。(2)簽簽到。(3)按按工作單單位將數(shù)數(shù)據(jù)信息息排序。(4)統(tǒng)統(tǒng)計實際際參加會會議的人人數(shù)和缺缺席的人人數(shù)。三、課程程設計要要求1. 程程序質量量:貫徹結構構化的程程序設計計思想。用戶界面面友好,功功能明確確,操作作方便。用戶界面面中的菜菜單至少少應包括括“名單錄錄入”、“人員簽簽到”、“數(shù)據(jù)排排序”、“統(tǒng)計參參加和缺缺席人數(shù)數(shù)”、“退出”5項,所所有數(shù)據(jù)據(jù)的改變變都應該該在相關關文件中中有所體體現(xiàn)。代碼應適適當縮進進,并給給出必要要的注釋釋,以增增強程序序的可讀讀性。2. 課課程設計計說明書書:課
3、程結束束后,上上交課程程設計說說明書和和源程序序。課程程設計說說明書的的格式和和內容參參見提供供的模板板。四、指導導教師和和學生簽簽字指導教師師:_ 學生簽簽名:_五、說明明書成績績六、教師師評語沈 陽 航 院 設 計 用 紙PAGE 25目錄TOC o 1-3 h z u HYPERLINK l _Toc178010820 一、需求求分析 PAGEREF _Toc178010820 h 11 HYPERLINK l _Toc178010821 二、程序序流程圖圖 PAGEREF _Toc178010821 h 2 HYPERLINK l _Toc178010822 三、核心心技術的的實現(xiàn)說說
4、明及相相應程序序段 PAGEREF _Toc178010822 h 9 HYPERLINK l _Toc178010823 四、個人人總結 PAGEREF _Toc178010823 h 15 HYPERLINK l _Toc178010824 五、參考考文獻 PAGEREF _Toc178010824 h 115 HYPERLINK l _Toc178010825 六、源程程序 PAGEREF _Toc178010825 h 166一、需求求分析經(jīng)過對程程序設計計題目的的分析可可知,整整個程序序的設計計實現(xiàn)大大致分為為三個模模塊,其其中每一一個模塊塊對應一一個函數(shù)數(shù),他們們的功能能分別是是:
5、錄入入?yún)⒓訒h人員員信息數(shù)數(shù)據(jù)函數(shù)數(shù)(addd),人人員簽到到數(shù)據(jù)函函數(shù)(ssignnin),排序序函數(shù)(commpossitoor)。在這些些函數(shù)當當中,錄錄入信息息和排序序函數(shù)的的實現(xiàn)嚴嚴格按照照題目的的要求,而而簽到和和統(tǒng)計參參加人數(shù)數(shù)和缺席席人數(shù)都都放到了了函數(shù)(siggninn)里。1、錄入入?yún)⒓訒h人員員信息數(shù)數(shù)據(jù)函數(shù)數(shù) 主要實實現(xiàn)程序序最初運運行時參參加會議議人員信信息數(shù)據(jù)據(jù)的錄入入以及其其后的運運行中人人員數(shù)據(jù)據(jù)的追加加功能;2、人員員簽到數(shù)數(shù)據(jù)函數(shù)數(shù) 實現(xiàn)的的功能是是按照參參加會議議人員的的代號對對人員進進行簽到到,并對對簽到人人員進行行標記,最最后統(tǒng)計計并輸出出參加人人
6、數(shù)和缺缺席人數(shù)數(shù)。3、排序序函數(shù) 實實現(xiàn)的功功能是按按照人員員代號的的增序顯顯示。 除上面介介紹的功功能之外外,程序序還具有有退出功功能,可可以在程程序運行行完畢后后選擇退退出。每一個參參加會議議人員信信息都包包含參加加會議人人員代號號,姓名名,性別別,工作作單位,職職務,聯(lián)聯(lián)系方式式,是否否簽到,在在程序當當中,將將人員信信息類型型定義為為結構體體類型,添添加以及及追加的的人員信信息直接接寫入DD盤的mmeettingg.daat文件件中,其其他函數(shù)數(shù)每次對對人員記記錄的訪訪問,其其數(shù)據(jù)來來源都是是meeetinng.ddat文文件,這這樣做不不但可以以保證人人員數(shù)據(jù)據(jù)的一致致性,而而且可以
7、以對人員員數(shù)據(jù)進進行永久久保存,保保證每次次運行程程序都可可以采用用原來的的數(shù)據(jù)。二、程序序流程圖圖1、程序序總體結結構圖2、具體體功能框框圖(1)錄錄入人員員數(shù)據(jù)函函數(shù)addd開始定義文件指針定義頭指針鏈表信息存入文件輸入信息到鏈表結束圖2 錄入人人員數(shù)據(jù)據(jù)函數(shù)(2)人人員簽到到函數(shù)ssignnin開始定義變量初值,文件指針,鏈表指針能否打開文件輸出不能打開文件結束否feof(f1)是將文件中的信息讀入鏈表釋放P指針否關閉f1文件 a=0輸出:請員工輸入序號簽到,輸入0時結束簽到否是是輸入%d是M是否為空否i+輸出結束簽到,人員出勤結果如下輸出應到%d人,實到%d人,缺席%d人,j,i,j-
8、i結束圖3人員員簽到函函數(shù)3)按代代號排序序函數(shù)ccompposiitorr開始定義文件指針,鏈表指針能否打開文件 meeting1.dat!feof(f1)定義指針n輸出:不能打開文件輸出:不能打開文件將信息輸入鏈表釋放指針r=top結束結束能否打開文件 meeting2.datP是否為零否能否能否是是否否r指針內容小于p內容且r!=p是r=r-nextr!=p否是q=p;p=p0否r=topq-next=r;r0-next=q是q-next=top;top=qp0=p;p=p-nextp=NULL;p=top,否P不為空是輸出鏈表中的信息關閉文件f1,f2結束圖4按代代號排序序函數(shù)三、核心
9、心技術的的實現(xiàn)說說明及相相應程序序段本程序主主要由三三個自定定義函數(shù)數(shù)和一個個主函數(shù)數(shù)組成,其其中主函函數(shù)以菜菜單的形形式調用用其他函函數(shù)來實實現(xiàn)要求求的所有有功能。在這些些函數(shù)當當中,錄錄入數(shù)據(jù)據(jù)函數(shù)、簽到函函數(shù)和排排序函數(shù)數(shù)是程序序中較為為核心的的部分,下下面分別別進行說說明。1、錄入入數(shù)據(jù)函函數(shù)錄入數(shù)據(jù)據(jù)分為兩兩種情況況,其一一是在會會議文件件(meeetiing.datt)不存存在的情情況下,首首先由程程序創(chuàng)建建一個新新文件,并并將錄入入的人員員信息寫寫入該文文件當中中;其二二是在會會議文件件(meeetiing.datt)已經(jīng)經(jīng)存在的的情況下下,此時時文件要要以讀寫寫方式或或追加的的
10、方式打打開,這這樣才可可以保證證以前已已經(jīng)存在在的數(shù)據(jù)據(jù)不丟失失。具體體的程序序段如下下:voidd addd() /*錄入入員工信信息子函函數(shù)*/FILLE *f1;finngerr toop=NNULLL,p=NULLL,tt=NUULL;p=(finngerr)maallooc(ssizeeof(messsagge);topp=p;whiile(1)prrinttf(n請請輸入員員工信息息,輸入入0時結結束錄入入);sccanff(%d%ss%s%s%ss%d,&pp-nnumbber,p-namme,pp-ssex,p-worrkpllacee,p-joob,&p-tell);/*分部
11、分分輸入*/ p-fllag=0;iff(p-nuumbeer=0)ffreee(p);tt-nnextt=NUULL;bbreaak;t=p;p=(fiingeer)mmallloc(sizzeoff(meessaage);t-neext=p; p=NULLL; iff(ff1=ffopeen(D:meeetiing.datt,w)=NULLL) /*把鏈鏈表中信信息存入入文件*/ pprinntf(不能能創(chuàng)建文文件!); eexitt(0); p=topp; whhilee(p!=NUULL) ffpriintff(f11,%d %s %s %s %s %dnn,pp-nnumbber,p
12、-namme,pp-ssex,p-worrkpllacee,p-joob,pp-ttel); pp=p-neext; 2、人員員簽到函函數(shù)該函數(shù)的的核心內內容是人人員簽到到和統(tǒng)計計參加人人數(shù)和缺缺席人數(shù)數(shù)。該函函數(shù)執(zhí)行行時,首首先把mmeettingg.daat文件件中信息息讀入鏈鏈表,并并由用戶戶輸入人人員代號號,而后后按0結結束簽到到。如果果文件中中存在該該人員的的數(shù)據(jù),則則進行標標記,否否則不標標記。這這時被標標記的為為1,未未被標記記的為00,最后后統(tǒng)計出出參加人人數(shù)和缺缺席人數(shù)數(shù),具體體程序段段如下:voidd siigniin() /*簽到,標記*/intt a=1,ii=0,j=
13、00;FILLE *f1;finngerr m=NULLL,pp=NUULL,t=NNULLL,toop=NNULLL;if(f11=foopenn(DD:meeetinng.ddat,rr)=NNULLL) /*把文件件中信息息讀入鏈鏈表*/prrinttf(不能打打開文件件meeetinng.ddat!);exxit(0);p=(finngerr)maallooc(ssizeeof(messsagge);topp=p;whiile(!feeof(f1)fsscannf(ff1,%d%s%ss%s%s%ddn,&pp-nnumbber,p-namme,pp-ssex,p-worrkpllac
14、ee,p-joob,&p-tell);p-fllag=0;t=p;p=(fiingeer)mmallloc(sizzeoff(meessaage);t-neext=p;freee(pp);t-nexxt=NNULLL;fcllosee(f11);m=ttop;whiile(a!=0) /*簽簽到*/prrinttf(請員工工輸入序序號簽到到,輸入入0時結結束簽到到); sccanff(%d,&a);whhilee(m!=NUULL)iif(mm-nnumbber=a)m-flaag=11;i+;mm=m-neext;jj+;priintff(結結束簽到到,人員員出勤結結果如下下:nn);pri
15、intff(應應到%dd人,實實到%dd人,缺缺勤%dd人nn,jj,i,j-ii);3、按代代號排序序函數(shù)對于代號號的排序序采用的的排序算算法是鏈鏈表插入入法,首首先讀取取文件mmeettingg.daat信息息,在創(chuàng)創(chuàng)建meeetiing22.daat文件件,以便便保存排排序后的的信息,該該程序的的實現(xiàn)主主要是把把指針變變量插入入到各個個結點,進進行比較較,最終終實現(xiàn)按按代號的的升序排排列。具具體的程程序段如如下:voidd coompoosittor() /*排序序*/FILLE *f1; FILLE *f2;finngerr m=NULLL,nn=NUULL,t=NNULLL,toop
16、=NNULLL,p,p0,r,rr0,qq;if(f11=foopenn(DD:meeetinng.ddat,rr)=NNULLL) /*讀取文文件meeetiing.datt信息*/prrinttf(不能打打開文件件meeetinng.ddat!);exxit(0); if(f22=foopenn(DD:meeetinng2.datt,w)=NULLL) /*創(chuàng)建建meeetinng2.datt文件*/prrinttf(不能創(chuàng)創(chuàng)建文件件meeetinng2.datt!);exxit(0);n=(finngerr)maallooc(ssizeeof(messsagge);topp=n;whii
17、le(!feeof(f1) /*排序*/fsscannf(ff1,%d%s%ss%s%s%ddn,&nn-nnumbber,n-namme,nn-ssex,n-worrkpllacee,n-joob,&n-tell);n-fllag=0;t=n;n=(fiingeer)mmallloc(sizzeoff(meessaage);t-neext=n;freee(nn); /*/t-nexxt=NNULLL;p0=NULLL;p=ttop;whiile(p!=NULLL)r=topp;whhilee(rr-nnumbbernummberr)&(r!=p)rr0=rr;rr=r-neext;iff(r
18、!=p)qq=p;pp0-nexxt=pp-nnextt;pp=p00;iif(rr=ttop)q-nexxt=ttop;topp=q; eelseeq-nexxt=rr;r0-neext=q;p00=p;p=p-nexxt;p=NNULLL; p=ttop; whiile(p!=NULLL) /*將排序序后信息息寫入文文件meeetiing22.daat*/ ffpriintff(f22,%d %s %s %s %s %dnn,pp-nnumbber,p-namme,pp-ssex,p-worrkpllacee,p-joob,pp-ttel); prrinttf(%d %s %s %s %s
19、 %dn,p-nummberr,p-naame,p-sexx,p-woorkpplacce,pp-jjob,p-tell); pp=p-neext;fcllosee(f11); fcllosee(f22);四、個人人總結一周的課課程設計計使我更更一深層層次地學學習了CC語言,了了解了CC語言,曾曾經(jīng)課本本沒有認認真地閱閱讀,現(xiàn)現(xiàn)在通過過這門課課程,使使我不僅僅認真地地看,反反復地看看,而且且還仔細細地研究究了一翻翻,補上上了以前前學習的的漏洞,剛剛開始時時認為這這門課程程很難,但但是經(jīng)過過了一翻翻研究和和與老師師和其他他同學的的溝通,一一些問題題還是解解決了,但但可以說說這門課課程還是是有難度
20、度的,所所以以后后還要加加強對這這方面知知識的學學習,掌掌握好這這門課程程對我以以后的專專業(yè)也有有很大的的好處。程序大體體上完成成了課程程的要求求,但還還是有些些毛病不不能解決決,主函函數(shù)不是是總是循循環(huán)的結結構,如如果改成成這種結結構,簽簽到和排排序都出出問題,也也許問題題出現(xiàn)在在我程序序的各個個部分都都是我在在書上找找的,然然后拼接接在一起起的,各各個部分分的連貫貫性不好好,導致致改后出出錯。五、參考考文獻1 譚浩浩強CC程序設設計北北京:清清華大學學出版社社,200052 劉成成等CC語言程程序設計計實驗指指導與習習題集北京:中國鐵鐵道出版版社,220066六、源程程序#inccludd
21、e #inccludde #inccludde #inccludde #inccludde typeedeff sttrucct mmesssagee /*定定義數(shù)據(jù)據(jù)結構*/lonng iint nummberr;chaar nnamee100;chaar ssex3;chaar wworkkplaace20;chaar jjob5;lonng iint tell;intt fllag;strructt meessaage *neext;*fiingeer; /*指指向結構構體的指指針*/voidd meenu() /*屏幕輸輸出菜單單*/priintff(*nn);priintff(*1.
22、錄入員員工信息息 *nn);priintff(*2.在此簽簽到,并并輸出人人員簽到到結果 *n);priintff(*3.排序 *n);priintff(*4.退出 *n);priintff(*nn);voidd addd() /*錄入入員工信信息子函函數(shù)*/FILLE *f1;finngerr toop=NNULLL,p=NULLL,tt=NUULL;p=(finngerr)maallooc(ssizeeof(messsagge);topp=p;whiile(1)prrinttf(n請請輸入員員工信息息,輸入入0時結結束錄入入);sccanff(%d%ss%s%s%ss%d,&pp-nnum
23、bber,p-namme,pp-ssex,p-worrkpllacee,p-joob,&p-tell);/*分部分分輸入*/ p-fllag=0;iff(p-nuumbeer=0)ffreee(p);tt-nnextt=NUULL;bbreaak;t=p;p=(fiingeer)mmallloc(sizzeoff(meessaage);t-neext=p; p=NULLL; iff(ff1=ffopeen(D:meeetiing.datt,w)=NULLL) /*把鏈鏈表中信信息存入入文件*/ pprinntf(不能能創(chuàng)建文文件!); eexitt(0); p=topp; whhilee(p!
24、=NUULL) ffpriintff(f11,%d %s %s %s %s %dnn,pp-nnumbber,p-namme,pp-ssex,p-worrkpllacee,p-joob,pp-ttel); pp=p-neext; voidd siigniin() /*簽到,標記*/intt a=1,ii=0,j=00;FILLE *f1;finngerr m=NULLL,pp=NUULL,t=NNULLL,toop=NNULLL;if(f11=foopenn(DD:meeetinng.ddat,rr)=NNULLL) /*把文件件中信息息讀入鏈鏈表*/prrinttf(不能打打開文件件meee
25、tinng.ddat!);exxit(0);p=(finngerr)maallooc(ssizeeof(messsagge);topp=p;whiile(!feeof(f1)fsscannf(ff1,%d%s%ss%s%s%ddn,&pp-nnumbber,p-namme,pp-ssex,p-worrkpllacee,p-joob,&p-tell);p-fllag=0;t=p;p=(fiingeer)mmallloc(sizzeoff(meessaage);t-neext=p;freee(pp);t-nexxt=NNULLL;fcllosee(f11);m=ttop;whiile(a!=0)
26、/*簽簽到*/prrinttf(請員工工輸入序序號簽到到,輸入入0時結結束簽到到); sccanff(%d,&a);whhilee(m!=NUULL)iif(mm-nnumbber=a)m-flaag=11;i+;mm=m-neext;jj+;priintff(結結束簽到到,人員員出勤結結果如下下:nn);priintff(應應到%dd人,實實到%dd人,缺缺勤%dd人nn,jj,i,j-ii);voidd coompoosittor() /*排序序*/FILLE *f1; FILLE *f2;finngerr m=NULLL,nn=NUULL,t=NNULLL,toop=NNULLL,p,p
27、0,r,rr0,qq;if(f11=foopenn(DD:meeetinng.ddat,rr)=NNULLL) /*讀取文文件meeetiing.datt信息*/prrinttf(不能打打開文件件meeetinng.ddat!);exxit(0); if(f22=foopenn(DD:meeetinng2.datt,w)=NULLL) /*創(chuàng)建建meeetinng2.datt文件*/prrinttf(不能創(chuàng)創(chuàng)建文件件meeetinng2.datt!);exxit(0);n=(finngerr)maallooc(ssizeeof(messsagge);topp=n;whiile(!feeof(f
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025授權經(jīng)營合同書模板
- 2025橋梁工程施工勞務承包合同
- 2025專屬定制購銷合同范本
- 《關愛地球家園》課件
- 2025攜手LED顯示屏購銷合同
- 2025財務經(jīng)理勞動合同模板
- 疆子公司轉讓合同協(xié)議
- 珠寶主播運營合同協(xié)議
- 用餐年合同協(xié)議
- 球場材料維修合同協(xié)議
- GB/T 6433-2025飼料中粗脂肪的測定
- 中國心力衰竭診斷和治療指南2024解讀(完整版)
- 2024醫(yī)療機構重大事故隱患判定清單(試行)學習課件
- (正式版)JBT 7248-2024 閥門用低溫鋼鑄件技術規(guī)范
- 工程勘察設計收費標準
- ansys教學算例集汽輪機內蒸汽平衡態(tài)與非平衡態(tài)仿真分析
- 安全管理機構架構
- 國際海上人命安全公約(SOLAS)介紹
- 自卸車生產(chǎn)過程檢驗表
- 辭退公務員審批表辭退國家公務員審批表
- 纏論纏中說禪秋葉正紅三級聯(lián)立分析報告操作系統(tǒng)
評論
0/150
提交評論