版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、PROTE部分一、任務(wù)說(shuō)明1. 熟練掌握PROTEK件的使用;2. 按要求繪制電路原理圖;3. 能夠按要求建立元件庫(kù)和圭寸裝庫(kù);4. 按要求根據(jù)電路原理圖繪制PCB版圖二、原理圖繪制說(shuō)明(1) 運(yùn)行protel軟件,點(diǎn)擊File進(jìn)入編輯環(huán)境,點(diǎn)擊新建,確定存儲(chǔ)途徑,進(jìn)入 新界面,新建原理圖文檔,如圖1所示。圖1新建文件窗口示意圖(2) 設(shè)置紙張大小,執(zhí)行 Design下Options設(shè)置A4,如圖2所示Document Optio His圖2紙張?jiān)O(shè)置窗口示意圖(3) 建立一個(gè)Schematic Document,把需要的元件導(dǎo)入到元件庫(kù),按照電路圖, 選擇合適的元件放置在設(shè)置的紙上,并進(jìn)行連線
2、。連接時(shí)要注意使用Wire連接一定要一次到位,不能一段一段地接起來(lái),否則會(huì)造成電氣上的不連 通,形成網(wǎng)表的時(shí)候出錯(cuò)。如圖 3所示; 因玄樣 卑商應(yīng)也A恆.設(shè)針I(yè)她工工世(rt 創(chuàng)g IS狀離h泗哥I > K tel i> Q a E> T X ®|start :嚴(yán)總卅 PT稱飾沖討1傘嚴(yán)幣pm?躍.MgihiypVr&m!*昱嚴(yán)打絆:耳 2DS354)命名并定義引腳封裝,具體定義有封裝見(jiàn)表 1:表1Part TypeDesignatorFootprint1.2KR2AXIAL0.31.2MR1AXIAL0.31N414SD4DIODE0.41N4145D8D
3、IODE0.41N4148D7DIODE0.42AF1AXIAL0.310 R15AXIAL0.310nFC1RAD0.115MR9ASIAL0.422KR13ASIAL0.427mH/1AL1DIP433KR3AXIAL0.347uC7RAD0.1100KR4TO-4100nFC3TO-3100nF/630VC2TO-2680nFC4TO-1820KR14TO-09014 Q4TO-1BRIDGE1D?TO-2MC33262IC1TO-3MPSA44D9TO-4SN50Q1TO-5(5)連線檢查。執(zhí)行Tool下的ERC命令打開(kāi)單擊0K鼬田些捫' F »-i ?J K:
4、71;_3 llmffiv圖4電器規(guī)則檢查結(jié)果三、印制板圖繪制說(shuō)明1.創(chuàng)建網(wǎng)絡(luò)表。點(diǎn)擊Design下新網(wǎng)絡(luò)表,則自動(dòng)生成。如圖 5血諳Q些#、Z n- ?Explorer R”u Terf射.rtih | ClRikrQACKUP'lI.DDD Due耐ills DACKUP1 .SCH fttCtUPI.METPCl3t.PCB A£K.UPr-1.D<ini DACKUPI .CSV BAKUP'1Jas|reel RADO 1PdFGirinLticiivii MLarkci?RADa 1 10OfLFz6:J0TC3 H*on i lOdnTC4 RAD
5、O 1 tfiOnf£72iiji:i LOpfiuns- L-bM untngia.D4D IOMO. 4EH4145Flrwlr廠豈hnl上Word 廠 Rngnlnr Fxprres.-flli r All Text D«c&_li rre_|_l? rrJ_l_|3 rrt_|rr5_|r ri(j_|圖5網(wǎng)絡(luò)表示意圖2.生成PCB圖。新建一個(gè)PCB文件,調(diào)至原理圖界面,點(diǎn)擊設(shè)計(jì)下到更新 PCB,再調(diào)至PCB界面,點(diǎn)擊視圖下適合整板。如圖 6» rSfi=LU-. ftS 呼:點(diǎn) 年珂色計(jì)tTA雖勿冃典畑目耐哉少如*口 如常肋1%眉啟國(guó)國(guó),、口呀半
6、/如川井"VExplowr Braws-s PCBj. l:vrajwffns: ana"刈出摯 由41 iMJdiwieno*pE!mn31兀日Bruwoe-EUlCKU<F-1lDDD | D*cunenU iBACtUP"! .SCH EJACKUfll.NCT PeEH.PCB ElAJCKUPn .Dem | BACKUP1-CSV QA£札UhlXJS 1 PCB2.PCBiihDZ NhDS 1 NriFL2 NCI_1 Edrl.NelsZdofiNudesMfljnJRsr CsriRgijitCuH'eni'lf
7、lytrTupLar - IEdlrl. :iJump圖6 PCB示意圖四、繪制電路簡(jiǎn)要分析在繪制電路過(guò)程中,有些元器件找不到。我們有兩種方法解決。第一,我們自 己可以按著圖形中的元器件形狀進(jìn)行繪制。 需要我們建立元器件庫(kù),也就是Schemtic library docume nt,在這里繪制,再將繪制好的元器件導(dǎo)入庫(kù),就可以放在原理圖中 了。第二,我們可以擴(kuò)充我們的庫(kù)。在軟件庫(kù)中添加我們需要的庫(kù)。然后再庫(kù)里就 可以找到我們需要的軟件。五、報(bào)告總結(jié)本次protel設(shè)計(jì)原理圖不是特別難,但在這兩個(gè)星期的設(shè)計(jì)過(guò)程中仍然遇到 了許多困難。在原理圖的構(gòu)建過(guò)程中許多庫(kù)里的元器件與自己需要的器件對(duì)應(yīng)不 上
8、,所以我們必須學(xué)會(huì)自己建立元件庫(kù)和我們自己所需要的元件。在封裝的過(guò)程中 出現(xiàn)了許多錯(cuò)誤,在老師和同學(xué)的幫助下,成功的進(jìn)行了元器件的封裝。課設(shè)過(guò)程 讓我學(xué)會(huì)了如何使用protel軟件,并能夠合理的掌握它的使用。對(duì)于電子信息工 程學(xué)院的我們,經(jīng)過(guò)這次課設(shè),讓我們明白了平常接觸的電路板如何而來(lái)。在我們 現(xiàn)實(shí)生活中的電路板,無(wú)論是電視電腦,還是手機(jī)相機(jī)都是這樣而來(lái)的,我會(huì)在以 后的學(xué)習(xí)中,更加積極努力的學(xué)習(xí) protel 軟件。六、參考文獻(xiàn)1. 李雪梅。論文名 : 基于 Multisim8 的 Protel99SE 網(wǎng)絡(luò)建立方法, 2008,6(6):51-52,60.2. 余家春, Protel99
9、SE 電路設(shè)計(jì)實(shí)用教程,中國(guó)鐵道出版社, 2004.113. 關(guān)振東,PCB高級(jí)應(yīng)用,中國(guó)鐵道出版社。2004.11附錄I電路原理圖附錄II印制板圖C7 啓ul»*l l»»1C4 C3 C2 Cl 680nF10Clnr 100nF>lflBflUtn 9014QLSN50IC1 MC33262Fl 2A0斗3 MPSA4407口 1 h 2MLLD?27mH/lA BRI0GE1DO 1M1A5R4 10QK 匸R9 15MK <5RLgR14820KR3 33KR2 L- 2K軟件設(shè)計(jì)部分、問(wèn)題描述圖書(shū)管理基本業(yè)務(wù)活動(dòng)包括: 對(duì)一本書(shū)的采編入庫(kù)、
10、 清除庫(kù)存、借閱和歸還等等。 試設(shè)計(jì)一個(gè)圖書(shū)管理系統(tǒng),將上述業(yè)務(wù)活動(dòng)借助于計(jì)算機(jī)系統(tǒng)完成。、 基本要求1每種書(shū)的登記內(nèi)容至少包括書(shū)號(hào)、書(shū)名、著者、現(xiàn)存量和總庫(kù)存量等五項(xiàng)。2由于上述各項(xiàng)基本業(yè)務(wù)活動(dòng)都是通過(guò)書(shū)號(hào)(即關(guān)鍵字)進(jìn)行的,所以要對(duì)書(shū) 號(hào)建立索引,以獲得高效率。3系統(tǒng)應(yīng)實(shí)現(xiàn)的操作及其功能定義如下:(1)采編入庫(kù):新購(gòu)入一種書(shū), 經(jīng)分類(lèi)和確定書(shū)號(hào)之后登記到圖書(shū)賬目中去 (如 果這種書(shū)在帳中已有 , 則只將總庫(kù)存量增加) ;(2)清除庫(kù)存:某種書(shū)已無(wú)保留價(jià)值,將它從圖書(shū)賬目中注銷(xiāo);(3)借閱:如果一種書(shū)的現(xiàn)存量大于零 , 則借出一本,登記借閱者的圖書(shū)證號(hào)和 歸還期限;(4)歸還:注銷(xiāo)對(duì)借閱者的
11、登記,改變?cè)摃?shū)的現(xiàn)存量;(5)顯示:顯示書(shū)庫(kù)信息。、概要設(shè)計(jì)要實(shí)現(xiàn)上述需求,需用到 查找、排序的算法及定義。ADT StaticSearchTable 數(shù)據(jù)對(duì)象 D: D 是具有相同特性的數(shù)據(jù)元素的集 合。每個(gè)數(shù)據(jù)元素含有類(lèi)型相同的關(guān)鍵 字,可唯一標(biāo)識(shí)數(shù)據(jù)元素。數(shù)據(jù)關(guān)系R:數(shù)據(jù)元素同屬一個(gè)集合。基本操作 P: Create(&ST, n);Destroy(&ST);Search(ST, key);Traverse(ST, Visit(); ADT StaticSearchTableCreate(&ST, n );操作結(jié)果:構(gòu)造一個(gè)含n個(gè)數(shù)據(jù)元素的靜態(tài)查找表 ST。Des
12、troy(&ST); 初始條件:靜態(tài)查找表 ST 存在; 操作結(jié)果:銷(xiāo)毀表 ST。int Search_Seq(SSTable ST, KeyType key) /在順序表ST中順序查找其關(guān)鍵字等于/key 的數(shù)據(jù)元素。若找到,則函數(shù)值為/ 該元素在表中的位置,否則為 0。 ST.elem0.key = key; / “哨兵” for(i=ST.length;ST.elemi.key!=key; -i);/ 從后往前找return i;/ 找不到時(shí), i 為 0 / Search_Seq、動(dòng)態(tài)查找表 :ADT DynamicSearchTable 數(shù)據(jù)對(duì)象 D: D 是具有相同特性的數(shù)
13、據(jù)元素的集 合。每個(gè)數(shù)據(jù)元素含有類(lèi)型相同的關(guān)鍵 字,可唯一標(biāo)識(shí)數(shù)據(jù)元素。DT。數(shù)據(jù)關(guān)系R:數(shù)據(jù)元素同屬一個(gè)集合 InitDSTable(&DT); 操作結(jié)果:構(gòu)造一個(gè)空的動(dòng)態(tài)查找表 DestroyDSTable(&DT); 初始條件:態(tài)查找動(dòng)表 DT 存在 操作結(jié)果:銷(xiāo)毀動(dòng)態(tài)查找表 DTInsertDSTable(&DT, e);初始條件:動(dòng)態(tài)查找表 DT存在, 為待插入的數(shù)據(jù)元素;若 DT 中不存在其關(guān)鍵字 操作結(jié)果:等于 e.key 的 數(shù)據(jù)元素,則插入 e 到 DT 圖書(shū)結(jié)構(gòu)體的定義:typedef struct char number10; /書(shū)號(hào)char na
14、me20;/書(shū)名char author20; /作者int countbook;/庫(kù)存int shY;/剩余量mbook;typedef struct int cou nt;書(shū)的本數(shù)mbook book100; 最大可有 100 本書(shū)mlibrary; mlibrary library;四、程序流程框圖圖1系統(tǒng)主界面罕名/示圖書(shū)資料/書(shū)名不存在圖4圖書(shū)顯示流程圖5借書(shū)總流程圖五、調(diào)試分析1、設(shè)計(jì)程序中出現(xiàn)的問(wèn)題不一一列舉,主要是由于知識(shí)掌握不 清,但是最后慢慢了解,多方學(xué)習(xí),解決。2、在定義圖書(shū)的時(shí)候忘了一項(xiàng) 書(shū)號(hào) 結(jié)果最后無(wú)法輸入。粗心可以彌補(bǔ)3、為了更好的使用循環(huán),設(shè)計(jì)了 for語(yǔ)句,結(jié)果
15、不能執(zhí)行,最后無(wú)奈只能使用函數(shù)系 統(tǒng) 另加函數(shù),在主函數(shù)里調(diào)用。4、在打開(kāi)文件的時(shí)候fp寫(xiě)錯(cuò),經(jīng)過(guò)很多的調(diào)試沒(méi)成功,這也是個(gè)粗心錯(cuò)誤,下次避 免。5、少加“;”的問(wèn)題就不列舉了六、程序調(diào)試各界面菜單顯示1 圖書(shū)初始化J 口國(guó)圖書(shū)管理系統(tǒng)荷示始號(hào)snswaM 初編入編名零 書(shū)括簞書(shū)書(shū)書(shū) E-包請(qǐng)圖圖S-圖圖書(shū)信息初始化完畢?按任意鍵繼續(xù)下一歩操作-2.圖書(shū)主登陸界面圖書(shū)管理系統(tǒng)主菜單統(tǒng)庫(kù)者系入讀出編記弊示示 退秉借歸並顯 一二二二一息閱 信借一 書(shū)者1 一-0 12 3 4 5 6 _請(qǐng)選擇相應(yīng)的代碼汽新書(shū)入庫(kù)模塊量一數(shù) 息S- 書(shū)豐 暫 入4一書(shū)書(shū)書(shū) 請(qǐng)包針BJE-IE-包聯(lián)耆里斷書(shū)入庫(kù)完畢豊
16、按任意續(xù)下一歩操作3.讀者登錄界面國(guó)I- n x圖書(shū)管理系統(tǒng)主菜單統(tǒng)庫(kù)者系入讀出編記弊示示 退秉僭歸並顯 一二二二一息閱 信借一 書(shū)者 圖讀一-0 12 3 4 5 6 _請(qǐng)選擇相應(yīng)的代碼洱譜者初始化開(kāi)始請(qǐng)輸入諫者信息 自括書(shū)證號(hào)姓名請(qǐng)蒯入讀青的信息:讀著書(shū)證4 = 211讀署姓名:閃讀者信息初始化完畢y按任意犍繼續(xù)下一步操作4 借書(shū)界面圖書(shū)管理系統(tǒng)主菜單統(tǒng)庫(kù)者系入讀出編記弊示示 退秉借歸並顯 一二二二一息閱 信借一 書(shū)者 圖讀一-0 12 3 4 5 6 _諫者編號(hào)姐i借書(shū)完畢¥按任意鍵繼續(xù)下歩操作-5.還書(shū)界面圖書(shū)管理系統(tǒng)主菜單統(tǒng)庫(kù)者系入讀出編記弊示示 退-第厝歸顯顯一 二二二二
17、息閱 信借一 書(shū)者1 一-0 12 3 4 5 6 一請(qǐng)選擇相應(yīng)的代碼沁還書(shū)模塊.請(qǐng)輸入要還書(shū)的謨者編號(hào)m請(qǐng)輸入讀者還書(shū)的編號(hào)汐編號(hào)皿的讀者還書(shū)完畢甲按任意犍繼續(xù)下歩操作6.顯示庫(kù)存圖書(shū)界面7.顯示讀者信息界面圖書(shū)管理系統(tǒng)主菜單> > >> > A> > >> > >息閱信借書(shū)者統(tǒng)庫(kù)者系入讀 岀編記景示示退一養(yǎng)厝歸顯顯0 12 3 4 5 6請(qǐng)選擇相應(yīng)的代碼泊讀者信息如下=淚者書(shū)證號(hào)諛者姓名圖書(shū)編號(hào)還書(shū)日期220120830圖書(shū)編號(hào)還書(shū)日期0讀者信息打印完畢按任意犍繼續(xù)下一步操作七、課程設(shè)計(jì)總結(jié)通過(guò)本次課設(shè)對(duì) C 語(yǔ)言進(jìn)行了復(fù)習(xí)
18、, 也學(xué)習(xí)了許多新的知識(shí)。 在圖書(shū)管理程序中我 并沒(méi)有建立圖書(shū)庫(kù),而是在第一步導(dǎo)入圖書(shū)。課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí) 發(fā)現(xiàn), 提出,分析和解決實(shí)際問(wèn)題 , 鍛煉實(shí)踐能力的重要環(huán)節(jié) ,是對(duì)本人實(shí)際工作能力的 具體訓(xùn)練和考察過(guò)程 . 在整整兩周的日子里,可以學(xué)到很多很多的的東西,在設(shè)計(jì)中遇 到了很多編程問(wèn)題,通過(guò)查找資料、回顧課本等終于完成了課程設(shè)計(jì)。八、參考文獻(xiàn):1. C程序設(shè)計(jì)(第二版),譚浩強(qiáng)編,清華大學(xué)出版社,1999年12月。2. C語(yǔ)言程序設(shè)計(jì)題解與上機(jī)指導(dǎo),譚浩強(qiáng)編,清華大學(xué)出版社,2000年11月。3. Turbo C 2.0 實(shí)用大全 ,常玉龍等編寫(xiě),北京航空航天大學(xué)出版社
19、, 1994年9月。4. C語(yǔ)言程序設(shè)計(jì)習(xí)題集(第二版),陳朔鷹 陳英主編,人民郵電出版社,2003年2月。九、附錄#include<stdio.h>#include <string.h> #include <stdlib.h> #include<conio.h> #define Max 2 typedef struct bookchar book_num10;char book_name20;char book_writer10;int book_xy;int book_kc; struct book *next;BK;typedef stru
20、ct borrowchar borrow_book_num10;char limit_date8;BO;typedef struct readerchar reader_num10;char reader_name10;int right;BO borrowMax; struct reader *next;RD;BK *h_book;RD *h_reader;void Login();int Menu();void Init();void Init_book();void Menu_select();void Insert_New_Book();void Find_Book();void ad
21、d_reader();void Print_reader();void Print_book();void Borrow_Book();void Return_Book();void Save();void Save_Book();void Save_Reader();void Load();void Load_Reader(); void Load_Book();printf("=printf("<<<<t0- 退出系統(tǒng)>>>>n");printf("<<<<t1- 采編入庫(kù)>
22、;>>>n");printf("<<<<t2- 登記讀者>>>>n");printf("<<<<t3- 借閱>>>>n");printf("<<<<t4- 歸還>>>>n ");printf("<<<<t5- 顯示圖書(shū)信息>>>>n");printf("<<<<t6
23、- 顯示讀者借閱信息>>>>n");printf("=int Menu() /* 主菜單 */ int dm;printf("ntt 圖書(shū)管理系統(tǒng)主菜單 n");n");printf(" 請(qǐng)選擇相應(yīng)的代碼 :");for(;) scanf("%d",&dm); if(dm<0|dm>6) printf("n 錯(cuò)誤!請(qǐng)重新輸入 :");else break; return dm;void Menu_select()/*主菜單選擇函數(shù) */ fo
24、r(;)switch(Menu() /* 功能選擇 */ case 0: system("cls");Save();printf("nnt 文件保存成功 !n");printf("nnt 歡迎下次使用本系統(tǒng) !n"); getch();exit(0);case 1:Insert_New_Book();break;case 2:add_reader();break;case 3:Borrow_Book();break;case 4:Return_Book();break;case 5:Print_book();break;case 6:
25、Print_reader();break; default:printf("n 錯(cuò)誤 !");exit(0);void Init() /* 初始化 */Init_book();void Init_book() /* 初始化圖書(shū)信息 */BK *p0;printf("n 圖書(shū)初始化開(kāi)始 ,請(qǐng)輸入圖書(shū)信息 .n 包括編號(hào) .書(shū)名 .數(shù)量.n");p0=(BK*)malloc(sizeof(BK);h_book=p0;printf("n 請(qǐng)輸入圖書(shū)信息 :n");printf("圖書(shū)編號(hào):");/*輸入圖書(shū)編號(hào)(唯一 )
26、*/scanf("%s",p0->book_num);printf("圖書(shū)名稱:");/*輸入圖書(shū)名稱*/scanf("%s",p0->book_name);printf("圖書(shū)作者:");/*輸入圖書(shū)作者*/scanf("%s",p0->book_writer);printf("圖書(shū)數(shù)量:");/*輸入圖書(shū)數(shù)量*/scanf("%d",&p0->book_kc);p0->book_xy=p0->book_kc;
27、 /* 開(kāi)始時(shí)圖書(shū)現(xiàn)有量和庫(kù)存量相等 */ p0->next=NULL;printf("n 圖書(shū)信息初始化完畢 !按任意鍵繼續(xù)下一步操作 .n"); getch();system("cls");void lnsert_New_Book()/*新書(shū)入庫(kù) */BK *p,*p0,*p1;p=p1=h_book;printf("n 新書(shū)入庫(kù)模塊 .n");printf("n 請(qǐng)輸入新書(shū)信息 .n 包括書(shū)號(hào) .書(shū)名.數(shù)量.n");p0=(BK *)malloc(sizeof(BK);printf("圖書(shū)編號(hào)
28、:");scanf("%s",p0->book_num); while(strcmp(p0->book_num,p1->book_num)!=0&&p1->next!=NULL) p1=p1->next;if(strcmp(p0->book_num,p1->book_num)=0) /*此處分兩種情況 ,若圖書(shū)編號(hào)存在 , 則直接進(jìn)庫(kù) ,只須輸入書(shū)的數(shù)量 */printf("n此編號(hào)圖書(shū)已存在!直接入庫(kù)!n");printf(" 圖書(shū)數(shù)量 :");scanf(&quo
29、t;%d",&p0->book_kc);p1->book_kc+=p0->book_kc;p1->book_xy+=p0->book_kc;else/*若不存在,則需要輸入其他的信息,然后在進(jìn)行插入操作*/printf(" 圖書(shū)名稱 :"); scanf("%s",p0->book_name);printf(" 圖書(shū)作者 :");scanf("%s",p0->book_writer);printf(" 圖書(shū)數(shù)量 :"); scanf(&
30、quot;%d",&p0->book_kc);while(p->next) p=p->next; if(h_book=NULL) h_book=p0;/*此處分兩種情況,鏈表中沒(méi)有數(shù)據(jù),head直接指向 p0 處*/else p->next=p0;/*此處分兩種情況 ,鏈表中有數(shù)據(jù) ,鏈表中最后元素的next指向p0處*/p0->next=NULL;p0->book_xy=p0->book_kc;printf("n 新書(shū)入庫(kù)完畢 !按任意鍵繼續(xù)下一步操作 .n");getch(); system("cls
31、");void add_reader()/* 添加讀者 */ RD *p0;int i;printf("n讀者初始化開(kāi)始,請(qǐng)輸入讀者信息.n包括書(shū)證號(hào)姓名.n");p0=(RD*)malloc(sizeof(RD); /*申請(qǐng)新結(jié)點(diǎn)存儲(chǔ)空間 */h_reader=p0;printf("n 請(qǐng)輸入讀者的信息 :n");printf(" 讀者書(shū)證號(hào) :"); scanf("%s",p0->reader_num);printf(" 讀者姓名 :");scanf("%s&quo
32、t;,p0->reader_name);p0->right=0;for(i=0;i<Max;i+)strcpy(p0->borrowi.borrow_book_num,"0"); /*所借圖書(shū)直接置為 0(即沒(méi)有借書(shū) )*/ strcpy(p0->borrowi.limit_date,"0");p0->next=NULL;printf("n 讀者信息初始化完畢 !按任意鍵繼續(xù)下一步操作 .n");getch(); system("cls");void Borrow_Book()
33、/*借書(shū)模塊 */BK *p0; RD *p1;char bo_num10,rea_num10,lim_date8;int i;p0=h_book; p1=h_reader;printf("n 借書(shū)模塊 .n");printf("n 請(qǐng)輸入借書(shū)的讀者書(shū)證號(hào) :");scanf("%s",rea_num); while(p1->next!=NULL&&strcmp(rea_num,p1->reader_num)!=0)p1=p1->next;if(p1->next=NULL&&st
34、rcmp(rea_num,p1->reader_num)!=0)printf("n 此讀者編號(hào)不存在 !按任意鍵返回 .n");goto END;printf("n 請(qǐng)輸入你要借的書(shū)的編號(hào) :");scanf("%s",bo_num);while(strcmp(bo_num,p0->book_num)!=0&&p0->next!=NULL)p0=p0->next;if(p0->next=NULL&&strcmp(bo_num,p0->book_num)!=0)prin
35、tf("n 此圖書(shū)編號(hào)不存在 !按任意鍵返回 .n");else if(p0->book_xy<=0)printf("n 抱歉 ,此書(shū)已借完 !請(qǐng)等待新書(shū)的到來(lái) !n 按任意鍵返回 ");else if(p1->right>=Max)printf("n 不好意思 ,借書(shū)數(shù)目已滿 !不能借書(shū) !n 按任意鍵返回 ");else if(strcmp(p1->borrow0.borrow_book_num,"0")!=0)for(i=0;i<Max;i+)if(strcmp(p1-&g
36、t;borrowi.borrow_book_num,bo_num)=0)printf("n 抱歉 !同一個(gè)讀者不能同借兩本相同的書(shū) !n");else if(strcmp(p1->borrowi.borrow_book_num,"0")=0)printf("n 請(qǐng)輸入你要?dú)w還圖書(shū)的日期 :");scanf("%s",lim_date);strcpy(p1->borrowp1->right+.borrow_book_num,bo_num);strcpy(p1->borrowp1->rig
37、ht-1.limit_date,lim_date);p0->book_xy-;printf("n 讀 者 編 號(hào) %s 借 書(shū) 完 畢 ! 按 任 意 鍵 繼 續(xù) 下 步 操 作.",p1->reader_num);elseprintf("n 請(qǐng)輸入你要?dú)w還圖書(shū)的日期 :");scanf("%s",lim_date);strcpy(p1->borrowp1->right+.borrow_book_num,bo_num);strcpy(p1->borrowp1->right-1.limit_date
38、,lim_date );p0->book_xy-;printf("n 讀者編號(hào) %s 借書(shū)完畢 !按任意鍵繼續(xù)下步操作 .",p1->reader_num); END:getch(); system("cls");void Return_Book() /*還書(shū)模塊 */BK *p; RD *q;int i,j,find=0;char return_book_num10,return_reader_num10; p=h_book; q=h_reader;printf("n 還書(shū)模塊 .n"); printf("n
39、請(qǐng)輸入要還書(shū)的讀者編號(hào) :"); scanf("%s",return_reader_num); while(q->next!=NULL&&strcmp(return_reader_num,q->reader_num)!=0) q=q->next;if(q->next=NULL&&strcmp(return_reader_num,q->reader_num)!=0) find=2;printf("n 此讀者編號(hào)不存在 !按任意鍵返回 .n");goto end;printf("
40、;n 請(qǐng)輸入讀者還書(shū)的編號(hào) :"); scanf("%s",return_book_num);while(p->next!=NULL&&strcmp(return_book_num,p->book_num)!=0) p=p->next;if(p->next=NULL&&strcmp(return_book_num,p->book_num)!=0) find=2;printf("n 錯(cuò)誤 !此圖書(shū)編號(hào)不存在 !按任意鍵返回 .n"); goto end;/* 如果此 for(i=0;i
41、<Max;i+) if(strcmp(return_book_num,q->borrowi.borrow_book_num)=0) 讀者借了此書(shū) */find=1; for(j=i;j<Max-1;j+)strcpy(q->borrowj.borrow_book_num,q->borrowj+1.borrow_book_num); strcpy(q->borrowj.limit_date,q->borrowj+1.limit_date); strcpy(q->borrowMax-1.borrow_book_num,"0");s
42、trcpy(q->borrowMax-1.limit_date,"0"); p->book_xy+;q->right-;printf("n 編 號(hào) %s 的 讀 者 還 書(shū) 完 畢 ! 按 任 意 鍵 繼 續(xù) 下 步 操 作.",return_reader_num);if(find=0)printf("n 錯(cuò)誤 !此讀者未借此書(shū) !按任意鍵返回 .n");end: getch(); system("cls");void Print_book() /*查詢圖書(shū)信息 */BK *p;p=h_book;
43、printf("n 圖書(shū)信息如下 :nn");printf("圖書(shū)編號(hào)t圖書(shū)名稱t圖書(shū)作者t現(xiàn)有tt庫(kù)存n");while(p!=NULL)printf("%stt%stt%stt%dtt%dn",p->book_num,p->book_name,p->book_writer, p->book_xy,p->book_kc);p=p->next;printf("n 圖書(shū)信息打印完畢 !按任意鍵繼續(xù)下一步操作 .");getch();system("cls");v
44、oid Print_reader() /* 查詢讀者信息 */RD *p;int i;p=h_reader;printf("n 讀者信息如下 :nn");printf(" 讀者書(shū)證號(hào) tt 讀者姓名 n");printf("n");while(p!=NULL)printf("t%stt%s",p->reader_num,p->reader_name);for(i=0;i<Max;i+)printf("n");printf(" 圖書(shū)編號(hào) ",i+1);prin
45、tf("t 還書(shū)日期 ",i+1);printf("n");printf("t%s",p->borrowi.borrow_book_num);printf("tt%s",p->borrowi.limit_date); printf("n");p=p->next;printf("n 讀者信息打印完畢 !按任意鍵繼續(xù)下一步操作 .");getch();system("cls");void Save() /*保存信息 */Save_Reader
46、();Save_Book();void Save_Reader() /* 保存讀者信息 */FILE *fp_reader;RD *p,*p0;p=h_reader;if(fp_reader=fopen("Reader.txt","wb")=NULL)/* 創(chuàng)建文件 ,進(jìn)行保存 */printf("n 文件保存失敗 !n 請(qǐng)重新啟動(dòng)本系統(tǒng) .n");exit(0);while(p!=NULL)if(fwrite(p,sizeof(RD),1,fp_reader)!=1) /* 將鏈表中的信息寫(xiě)入文件中 */ printf("n 寫(xiě)入文件
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 配電設(shè)備改造工程
- 2024年高中語(yǔ)文 第五單元 寫(xiě)作任務(wù)指導(dǎo)-學(xué)寫(xiě)演講稿教案 新人教版必修下冊(cè)
- 2024-2025學(xué)年高中數(shù)學(xué) 第五章 三角函數(shù) 5.2.1 三角函數(shù)的概念 第2課時(shí) 三角函數(shù)的性質(zhì)教案 新人教A版必修第一冊(cè)
- 湖南省株洲景炎學(xué)校七年級(jí)地理上冊(cè) 2.3 世界的地形教案 湘教版
- 八年級(jí)生物上冊(cè) 第五單元 第四章 第二節(jié)《細(xì)菌》教案 (新版)新人教版
- 總體交通規(guī)劃設(shè)計(jì)合同(2篇)
- 雨棚使用年限合同(2篇)
- 漢字課件 博客
- 故事坐井觀天課件
- 寒號(hào)鳥(niǎo)課件講解
- 第七屆全國(guó)茶業(yè)職業(yè)技能競(jìng)賽(評(píng)茶師)考試題庫(kù)(含答案)
- 新教科版四上科學(xué)3.5《運(yùn)動(dòng)與摩擦力》教案(新課標(biāo))
- 支教教師考核登記表
- 中國(guó)融通資源開(kāi)發(fā)集團(tuán)有限公司社會(huì)招聘筆試
- 初中歷史九年級(jí)上冊(cè)《基督教的興起與傳播》教育教學(xué)課件
- 護(hù)理中斷事件的風(fēng)險(xiǎn)及預(yù)防
- 六年級(jí)語(yǔ)文上冊(cè)部編版第六單元教材分析及所有教案
- 2024年紀(jì)念會(huì)計(jì)法實(shí)施周年會(huì)計(jì)知識(shí)百題競(jìng)賽
- 建筑施工合同鉆孔引孔
- 企業(yè)數(shù)字化轉(zhuǎn)型戰(zhàn)略協(xié)議
- 2024年山東春季高考考試標(biāo)準(zhǔn)33英語(yǔ)考試標(biāo)準(zhǔn)
評(píng)論
0/150
提交評(píng)論