資源描述:
《數(shù)據(jù)結(jié)構(gòu)課實訓(xùn)報告報告》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、數(shù)據(jù)結(jié)構(gòu)實訓(xùn)報告題目:用C實現(xiàn)外部流文件的引用一、課程設(shè)計題目:有訂單文件如下:貨號品名進口單價數(shù)量開單日期生產(chǎn)單位LX-750影碟機TRUE5900.0041996-8-10松下電器公司YU-120彩電FALSE6700.0041996-10-10上海電視廠AX-120音響TRUE3100.0051995-10-11日立電器公司DV-430影碟機TRUE2680.0031996-9-30三星公司FZ-901取暖器FALSE318.0061996-9-5福利電器廠LB-133音響TRUE4700.0081995-12-30索尼公司SY-701電飯鍋FALSE258.001
2、01996-8-19愛德電器廠NV-920錄音機TRUE1750.0061996-7-20先鋒電器公司要求:1)實現(xiàn)訂單的輸入功能2)實現(xiàn)訂單的輸出功能3)實現(xiàn)訂單的刪除功能4)實現(xiàn)訂單的查詢功能(可以按照貨號、品名、單價查詢)二、問題描述:1、外部流文件的引用。2、輸入,輸出控件化。三、問題分析以明確的無歧義的陳述說明課程設(shè)計的任務(wù),強調(diào)的是程序要做什么?我們小組認(rèn)為,本題的要求是在于用JAVA實現(xiàn)對外部數(shù)據(jù)庫的調(diào)用,更新,排序以及刪除。在一開始,我們打算用本學(xué)期所學(xué)習(xí)的數(shù)據(jù)結(jié)構(gòu)方面的知識再結(jié)合上學(xué)期所學(xué)的JAVA控件知識來實現(xiàn)這道題目(見圖),但是在調(diào)試過程中遇到了很
3、大的問題,不得不中途換別的方式進行算法實現(xiàn)。并明確規(guī)定: 1、輸入的形式和輸入值的范圍;數(shù)據(jù)庫表格的形式輸入,并依照數(shù)據(jù)庫表格字段值的規(guī)定來規(guī)定輸入值?! ?、輸出的形式;用JAVA語言來進行窗口式的調(diào)用。 3、程序所能達到的功能;在JAVA界面進行對外部數(shù)據(jù)庫的簡單應(yīng)用。比如進行查詢,更新,排序以及刪除。4、算法涉及的基本理論分析:窗口界面是基于事件的程序,用戶對具體圖形組件的選擇和激活,產(chǎn)生事件。在程序中創(chuàng)建監(jiān)聽器類并注冊事件,并實例化。5、題目研究和實現(xiàn)的價值。我們小組認(rèn)為,本題的研究價值在于,此題目設(shè)計多個程序的跨平臺應(yīng)用,通過JAVA程序?qū)?shù)據(jù)庫的加載和調(diào)用
4、,實現(xiàn)后臺調(diào)用和操作數(shù)據(jù)庫。實現(xiàn)的價值是,通過這個簡單的程序初步認(rèn)識到編程這項工作在將來的程序開發(fā)中的作用和價值。四、算法設(shè)計1、概要設(shè)計 闡述說明本算法中用到的所有數(shù)據(jù)結(jié)構(gòu)的定義及其含義、主程序的流程以及各程序模塊之間的層次(調(diào)用)關(guān)系。因為涉及到外部文件流的引用,所以我們小組進行的方式是用JAVA命令式的程序?qū)?shù)據(jù)庫進行創(chuàng)建,刪除,插入以及查找。我們用了四個小程序來進行對數(shù)據(jù)庫的調(diào)用,分別是見圖。2、詳細(xì)設(shè)計 ?。?)實現(xiàn)概要設(shè)計中定義的所有數(shù)據(jù)類型;貨號(char),品名(char),進口(boolean),單價(integer),數(shù)量(integer),開單日期
5、(date),生產(chǎn)單位(char)。(2)所有函數(shù)的接口描述;ListSelectionListener,WindowListener,處理窗口時間的監(jiān)聽器類。(3)所有函數(shù)的算法描述(只需要寫出偽碼算法);函數(shù)為調(diào)用數(shù)據(jù)庫和對數(shù)據(jù)庫操作以及構(gòu)造用戶圖形界面。(3)對主程序和其他模塊也都需要寫出偽碼算法(偽碼算法達到的詳細(xì)程度建議為:按照偽碼算法可以在計算機鍵盤直接輸入高級程序設(shè)計語言程序),可采用流程圖、N–S圖或PAD圖進行描述;操作數(shù)據(jù)庫的主程序為兩個類,其中try類是對數(shù)據(jù)庫進行加載橋接以及創(chuàng)建,catch類是依照算法的健壯性,對錯誤情況的處理。(4)畫出函數(shù)的調(diào)
6、用關(guān)系圖。無。五、算法實現(xiàn)創(chuàng)建數(shù)據(jù)表程序J_AccessCreateTableimportjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.Statement;publicclassJ_AccessCreateTable{publicstaticvoidmain(Stringargs[]){try{Class.forName("microsoft.jdbc.sqlserver.SQLServerDriver");//加載JDBC-ODBC橋驅(qū)動程序Connectionc//通過數(shù)據(jù)源與數(shù)據(jù)庫建立
7、起連接=DriverManager.getConnection("jdbc:odbc:OD");Statements=c.createStatement();//創(chuàng)建SQL語句對象//創(chuàng)建數(shù)據(jù)庫表:訂單s.executeUpdate("Createtable訂單("+"貨號char(10)CONSTRAINTauthIndexPRIMARYKEY,"+"品名char(10),"+"進口boolean,"+"單價integer,"+"數(shù)量integer,"+"開單日期char(12)"+"生產(chǎn)單位char(14))");s.cl