




免費(fèi)預(yù)覽已結(jié)束,剩余27頁(yè)可下載查看
下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 需求分析1.實(shí)現(xiàn)對(duì)班級(jí)和學(xué)生基本資料的錄入,包括學(xué)生的學(xué)號(hào),姓名,性別,所學(xué)專(zhuān)業(yè),家庭住址以及出生年月等。2.能夠?qū)崿F(xiàn)對(duì)班級(jí)學(xué)生基本資料的修改。3.根據(jù)學(xué)號(hào)對(duì)學(xué)生資料進(jìn)行查詢。4.能夠刪除學(xué)生的資料。2、 概要設(shè)計(jì)根據(jù)本次課程設(shè)計(jì)的目的和以上的問(wèn)題描述,把該班級(jí)管理系統(tǒng)分為五個(gè)模塊:錄入模塊(StudentSituation)、查詢模塊(Inques)、刪除模塊(Delete)和修改模塊(ModifySituation)。各個(gè)模塊包括對(duì)學(xué)生學(xué)號(hào),姓名,所學(xué)專(zhuān)業(yè),家庭住址,出生日期等信息的操作。系統(tǒng)的結(jié)構(gòu)圖如圖一:圖1 系統(tǒng)結(jié)構(gòu)圖三、總體設(shè)計(jì) 本班級(jí)管理系統(tǒng)共有6個(gè)java源文件。類(lèi)之間的主要關(guān)系如下圖所示: StudentManager(主類(lèi))DeleteStudentStudentSituationModiifySituationInquest圖2 類(lèi)之間的主要關(guān)系各主類(lèi)的主要作用如下:1.StudentManager.java該java文件的類(lèi)負(fù)責(zé)創(chuàng)建班級(jí)學(xué)生管理系統(tǒng)的主窗口,該類(lèi)包含main方法,程序從該類(lèi)開(kāi)始執(zhí)行。2.StudentStituation.java該文件的類(lèi)負(fù)責(zé)創(chuàng)建班級(jí)學(xué)生管理系統(tǒng)的學(xué)生信息錄入界面。3.ModifySituation.java該文件的類(lèi)負(fù)責(zé)創(chuàng)建班級(jí)學(xué)生管理系統(tǒng)的學(xué)生基本信息修改界面。4.Inquest.java該文件的類(lèi)負(fù)責(zé)創(chuàng)建班級(jí)學(xué)生管理系統(tǒng)的學(xué)生基本信息查詢界面。5.Delete.java該文件的類(lèi)負(fù)責(zé)創(chuàng)建班級(jí)學(xué)生管理系統(tǒng)的學(xué)生信息刪除界面。6.Student.java負(fù)責(zé)創(chuàng)建存放學(xué)生信息的對(duì)象。4、 詳細(xì)設(shè)計(jì)1.管理系統(tǒng)主窗口1.1成員變量表1-1 主要成員變量成員變量描述變量類(lèi)型變量名稱(chēng)基本信息錄入基本信息修改基本信息查詢基本信息刪除菜單選項(xiàng) 存基本信息的散列表存放散列表的文件StudentSituationModifySituationInquestDeleteJMenuItemHashtableFile基本信息錄入基本信息修改基本信息查詢基本信息刪除錄入,修改,查詢,刪除基本信息file1.2方法表1-2 主要方法名稱(chēng)功能備注StudentManageractionPerformedmain創(chuàng)建程序主窗口 處理ActionEvent事件程序開(kāi)始運(yùn)行構(gòu)造方法接口方法1.3 界面截圖:2.基本信息錄入2.1 成員變量表2-1 主要成員變量屬性描述變量類(lèi)型變量名稱(chēng)存放“學(xué)生”對(duì)象的散列表輸入學(xué)生基本信息的文本存放學(xué)生信息的對(duì)象HashtableJTextFieldStudent基本信息表學(xué)號(hào),姓名,所學(xué)專(zhuān)業(yè),家庭住址,出生學(xué)生2.2 方法表2-2 主要方法名稱(chēng)功能備注StudentSituationactionPerformed創(chuàng)建學(xué)生信息錄入界面處理ActionEvent事件構(gòu)造方法接口方法2.3 錄入界面截圖:3.基本信息查詢3.1 成員變量表3-1 主要成員變量屬性描述變量類(lèi)型變量名稱(chēng)存放“學(xué)生”對(duì)象的散表顯示學(xué)生基本信息的文本HashtableJTextField基本信息表學(xué)號(hào),姓名,所學(xué)專(zhuān)業(yè),家庭住址,出生3.2 方法表3-2 主要方法名稱(chēng)功能備注InquestactionPerformed創(chuàng)建查詢界面處理ActionEvent事件構(gòu)造方法接口方法3.3 查詢截圖:4.基本信息修改4.1 成員變量表4-1主要成員變量描述變量類(lèi)型變量名稱(chēng)存放“學(xué)生”對(duì)象的散列表輸入學(xué)生基本信息的文本條HashtabelJTextField基本信息表學(xué)號(hào),姓名,所學(xué)專(zhuān)業(yè),家庭住址,出生4.2 方法表4-2 主要方法名稱(chēng)功能備注ModifySituationactionPerform創(chuàng)建學(xué)生信息修改界面處理ActionEvent事件構(gòu)造方法接口方法4.3 修改界面截圖:5.基本信息刪除5.1 成員變量表5-1 主要成員變量描述變量類(lèi)型變量名稱(chēng)存放“學(xué)生”對(duì)象的散列表顯示學(xué)生基本信息的文本條HashtableJTextField基本信息表學(xué)號(hào),姓名,所學(xué)專(zhuān)業(yè),家庭住址,出生5.2 方法表5-2 主要方法名稱(chēng)功能備注DeleteactionPerformed創(chuàng)建學(xué)生信息刪除界面處理ActionEvent構(gòu)造方法接口方法5.3 刪除界面截圖6.學(xué)生對(duì)象6.1 成員變量表6-1 主要成員變量描述變量類(lèi)型變量名稱(chēng)學(xué)號(hào)姓名所學(xué)專(zhuān)業(yè)家庭住址出生性別StringStringStringStringStringStringNumberNameDisciplingGradeBorthSex6.2方法表6-2 主要方法名稱(chēng)功能SetnumberSetnumberSetnameSetnamesetDiscipingsetDiscipingsetGradesetGradesetBorthsetBorthsetSexsetSex設(shè)置學(xué)號(hào)獲取學(xué)號(hào)設(shè)置姓名獲取姓名設(shè)置所學(xué)專(zhuān)業(yè)獲取所學(xué)專(zhuān)業(yè)設(shè)置家庭住址獲取家庭住址設(shè)置出生獲取出生設(shè)置性別獲取性別五、總結(jié)與展望課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn),提出,分析和解決實(shí)際問(wèn)題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對(duì)學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過(guò)程. 本次課程設(shè)計(jì)雖然很辛苦,實(shí)在是受益匪淺。本來(lái)這門(mén)課的知識(shí)學(xué)的就不夠扎實(shí),本次課程設(shè)計(jì),在設(shè)計(jì)過(guò)程中碰到了很多問(wèn)題,剛開(kāi)始要設(shè)計(jì)的時(shí)候,還真不知道從哪里下手但最終在圖書(shū)、同學(xué)和老師的幫助下都得到了解決,讓我學(xué)會(huì)了好多書(shū)本上沒(méi)有的東西,通過(guò)本次課程設(shè)計(jì)我也能將課本上的知識(shí)融會(huì)貫通,起到了很好的輔助學(xué)習(xí)的效果,但是我發(fā)現(xiàn)我學(xué)到的知識(shí)比整整一個(gè)學(xué)期學(xué)到的都多。理論和實(shí)踐的相結(jié)合是學(xué)習(xí)最有效的方法。在設(shè)計(jì)的過(guò)程中發(fā)現(xiàn)了自己的不足之處,對(duì)以前所學(xué)過(guò)的知識(shí)理解得不夠深刻,掌握得不夠牢固,通過(guò)這次課程設(shè)計(jì)之后,一定把以前所學(xué)過(guò)的知識(shí)重新溫故。通過(guò)這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。不過(guò),在用Java開(kāi)發(fā)類(lèi)似的軟件時(shí),發(fā)現(xiàn)在圖形界面的設(shè)計(jì)方面遠(yuǎn)沒(méi)有用VB,VF等開(kāi)發(fā)工具簡(jiǎn)單。參考文獻(xiàn):附錄:1.主界面代碼StudentManager.javaimport java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;import java.util.Hashtable;public class StudentManager extends JFrame implements ActionListener StudentSituation 基本信息錄入=null; ModifySituation 基本信息修改=null; Inquest 基本信息查詢=null; Delete 基本信息刪除=null; JMenuBar bar; JMenu fileMenu; JMenuItem 錄入,修改,查詢,刪除,退出; Container con=null; Hashtable 基本信息=null; File file=null; CardLayout card=null; JLabel label; JPanel pCenter; public StudentManager() setTitle(歡迎進(jìn)入班級(jí)管理系統(tǒng)); 錄入=new JMenuItem(錄入學(xué)生基本信息); 修改=new JMenuItem(修改學(xué)生基本信息); 查詢=new JMenuItem(查詢學(xué)生基本信息); 刪除=new JMenuItem(刪除學(xué)生基本信息); 退出=new JMenuItem(退出本系統(tǒng)); 退出.addActionListener(new ActionListener() public void actionPerformed(ActionEvent event) System.exit(0); ); bar=new JMenuBar(); fileMenu=new JMenu(菜單選項(xiàng)); fileMenu.add(錄入); fileMenu.addSeparator(); fileMenu.add(修改); fileMenu.addSeparator(); fileMenu.add(查詢); fileMenu.addSeparator(); fileMenu.add(刪除); fileMenu.addSeparator(); fileMenu.addSeparator(); fileMenu.add(退出); bar.add(fileMenu); setJMenuBar(bar); label=new JLabel(歡迎進(jìn)入班級(jí)管理系統(tǒng)!,label.CENTER); label.setFont(new Font(隸書(shū),Font.BOLD,30); label.setForeground(Color.blue); 基本信息=new Hashtable(); 錄入.addActionListener(this); 修改.addActionListener(this); 查詢.addActionListener(this); 刪除.addActionListener(this); card=new CardLayout(); con=getContentPane(); pCenter=new JPanel(); pCenter.setLayout(card); file=new File(學(xué)生基本信息.txt); if(!file.exists() try FileOutputStream out=new FileOutputStream(file); ObjectOutputStreamobjectOut=new ObjectOutputStream(out); objectOut.writeObject(基本信息); objectOut.close(); out.close(); catch(IOException e) 基本信息錄入=new StudentSituation(file); 基本信息修改=new ModifySituation(file); 基本信息查詢=new Inquest(this,file); 基本信息刪除=new Delete(file); pCenter.add(歡迎語(yǔ)界面,label); pCenter.add(錄入界面,基本信息錄入); pCenter.add(修改界面,基本信息修改); pCenter.add(刪除界面,基本信息刪除); con.add(pCenter,BorderLayout.CENTER); con.validate(); addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) System.exit(0); ); setVisible(true); setBounds(100,50,420,380); validate(); public void actionPerformed(ActionEvent e) if(e.getSource()=錄入) card.show(pCenter,錄入界面); else if(e.getSource()=修改) card.show(pCenter,修改界面); else if(e.getSource()=查詢) 基本信息查詢.setVisible(true); else if(e.getSource()=刪除) card.show(pCenter,刪除界面); public static void main(String args) new StudentManager(); 2. 錄入代碼StudentSituation.javaimport java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;import java.util.*;public class StudentSituation extends JPanel implements ActionListener Hashtable 基本信息表=null; JTextField 學(xué)號(hào),姓名,所學(xué)專(zhuān)業(yè),家庭住址,出生; JRadioButton 男,女; Student 學(xué)生=null; ButtonGroup group=null; JButton 錄入,重置; FileInputStream inOne=null; ObjectInputStream inTwo=null; FileOutputStream outOne=null; ObjectOutputStream outTwo=null; File file=null; public StudentSituation(File file) this.file=file; 學(xué)號(hào)=new JTextField(10); 姓名=new JTextField(10); 所學(xué)專(zhuān)業(yè)=new JTextField(10); 家庭住址=new JTextField(10); 出生=new JTextField(10); group=new ButtonGroup(); 男=new JRadioButton(男,true); 女=new JRadioButton(女,false); group.add(男); group.add(女); 錄入=new JButton(錄入); 重置=new JButton(重置); 錄入.addActionListener(this); 重置.addActionListener(this); Box box1=Box.createHorizontalBox(); box1.add(new JLabel(學(xué)號(hào):,JLabel.CENTER); box1.add(學(xué)號(hào)); Box box2=Box.createHorizontalBox(); box2.add(new JLabel(姓名:,JLabel.CENTER); box2.add(姓名); Box box3=Box.createHorizontalBox(); box3.add(new JLabel(性別:,JLabel.CENTER); box3.add(男); box3.add(女); Box box4=Box.createHorizontalBox(); box4.add(new JLabel(所學(xué)專(zhuān)業(yè):,JLabel.CENTER); box4.add(所學(xué)專(zhuān)業(yè)); Box box5=Box.createHorizontalBox(); box5.add(new JLabel(家庭住址:,JLabel.CENTER); box5.add(家庭住址); Box box6=Box.createHorizontalBox(); box6.add(new JLabel(出生:,JLabel.CENTER); box6.add(出生); Box boxH=Box.createVerticalBox(); boxH.add(box1); boxH.add(box2); boxH.add(box3); boxH.add(box4); boxH.add(box5); boxH.add(box6); boxH.add(Box.createVerticalGlue(); JPanel pCenter=new JPanel(); pCenter.add(boxH); setLayout(new BorderLayout(); add(pCenter,BorderLayout.CENTER); JPanel pSouth=new JPanel(); pSouth.add(錄入); pSouth.add(重置); add(pSouth,BorderLayout.SOUTH); validate(); public void actionPerformed(ActionEvent e) if(e.getSource()=錄入) String number=; number=學(xué)號(hào).getText(); if(number.length()0) try inOne=new FileInputStream(file); inTwo=new ObjectInputStream(inOne); 基本信息表=(Hashtable)inTwo.readObject(); inOne.close(); inTwo.close(); catch(Exception ee) if(基本信息表.containsKey(number) String warning=該生基本信息已存在,請(qǐng)到修改頁(yè)面修改!; JOptionPane.showMessageDialog(this,warning,警告,JOptionPane.WARNING_MESSAGE); else String m=基本信息將被錄入!; intok=JOptionPane.showConfirmDialog(this,m,確認(rèn),JOptionPane.YES_NO_OPTION,JOptionPane.INFORMATION_MESSAGE); if(ok=JOptionPane.YES_OPTION) String name=姓名.getText(); String discipling=所學(xué)專(zhuān)業(yè).getText(); String grade=家庭住址.getText(); String borth=出生.getText(); String sex=null; if(男.isSelected() sex=男.getText(); else sex=女.getText(); 學(xué)生=new Student(); 學(xué)生.setNumber(number); 學(xué)生.setName(name); 學(xué)生.setDiscipling(discipling); 學(xué)生.setGrade(grade); 學(xué)生.setBorth(borth); 學(xué)生.setSex(sex); try outOne=new FileOutputStream(file); outTwo=new ObjectOutputStream(outOne); 基本信息表.put(number,學(xué)生); outTwo.writeObject(基本信息表); outTwo.close(); outOne.close(); 學(xué)號(hào).setText(null); 姓名.setText(null); 所學(xué)專(zhuān)業(yè).setText(null); 家庭住址.setText(null); 出生.setText(null); catch(Exception ee) System.out.println(ee); else String warning=必須要輸入學(xué)號(hào)!; JOptionPane.showMessageDialog(this,warning,警告,JOptionPane.WARNING_MESSAGE); if(e.getSource()=重置) 學(xué)號(hào).setText(null); 姓名.setText(null); 所學(xué)專(zhuān)業(yè).setText(null); 家庭住址.setText(null); 出生.setText(null); 3. 查詢代碼Inquest.javaimport java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;import java.util.*;public class Inquest extends JDialog implements ActionListener Hashtable 基本信息表=null; JTextField 學(xué)號(hào),姓名,所學(xué)專(zhuān)業(yè),家庭住址,出生; JRadioButton 男,女; JButton 查詢; ButtonGroup group=null; FileInputStream inOne=null; ObjectInputStream inTwo=null; File file=null; public Inquest(JFrame f,File file) super(f,查詢對(duì)話框,false); this.file=file; 學(xué)號(hào)=new JTextField(10); 查詢=new JButton(查詢); 學(xué)號(hào).addActionListener(this); 查詢.addActionListener(this); 姓名=new JTextField(10); 姓名.setEditable(false); 所學(xué)專(zhuān)業(yè)=new JTextField(10); 所學(xué)專(zhuān)業(yè).setEditable(false); 家庭住址=new JTextField(10); 家庭住址.setEditable(false); 出生=new JTextField(10); 出生.setEditable(false); 男=new JRadioButton(男,false); 女=new JRadioButton(女,false); group=new ButtonGroup(); group.add(男); group.add(女); Box box1=Box.createHorizontalBox(); box1.add(new JLabel(輸入要查詢的學(xué)號(hào):,JLabel.CENTER); box1.add(學(xué)號(hào)); box1.add(查詢); Box box2=Box.createHorizontalBox(); box2.add(new JLabel(姓名:,JLabel.CENTER); box2.add(姓名); Box box3=Box.createHorizontalBox(); box3.add(new JLabel(性別:,JLabel.CENTER); box3.add(男); box3.add(女); Box box4=Box.createHorizontalBox(); box4.add(new JLabel(所學(xué)專(zhuān)業(yè):,JLabel.CENTER); box4.add(所學(xué)專(zhuān)業(yè)); Box box5=Box.createHorizontalBox(); box5.add(new JLabel(家庭住址:,JLabel.CENTER); box5.add(家庭住址); Box box6=Box.createHorizontalBox(); box6.add(new JLabel(出生:,JLabel.CENTER); box6.add(出生); Box boxH=Box.createVerticalBox(); boxH.add(box1); boxH.add(box2); boxH.add(box3); boxH.add(box4); boxH.add(box5); boxH.add(box6); boxH.add(Box.createVerticalGlue(); JPanel pCenter=new JPanel(); pCenter.add(boxH); Container con=getContentPane(); con.add(pCenter,BorderLayout.CENTER); con.validate(); setVisible(false); setBounds(100,200,360,270); addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) setVisible(false); ); public void actionPerformed(ActionEvent e) 姓名.setText(null); 所學(xué)專(zhuān)業(yè).setText(null); 家庭住址.setText(null); 出生.setText(null); if(e.getSource()=查詢|e.getSource()=學(xué)號(hào)) String number=; number=學(xué)號(hào).getText(); if(number.length()0) try inOne=new FileInputStream(file); inTwo=new ObjectInputStream(inOne); 基本信息表=(Hashtable)inTwo.readObject(); inOne.close(); inTwo.close(); catch(Exception ee) if(基本信息表.containsKey(number) Student stu=(Student)基本信息表.get(number); 姓名.setText(stu.getName(); 所學(xué)專(zhuān)業(yè).setText(stu.getDisciping(); 家庭住址.setText(stu.getGrade(); 出生.setText(stu.getBorth(); if(stu.getSex().equals(男) 男.setSelected(true); else 女.setSelected(true); else String warning=該學(xué)號(hào)不存在!; JOptionPane.showMessageDialog(this,warning,警告,JOptionPane.WARNING_MESSAGE); else String warning=必須要輸入學(xué)號(hào)!; JOptionPane.showMessageDialog(this,warning,警告,JOptionPane.WARNING_MESSAGE); 4.修改代碼ModifySituation.javaimport java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;import java.util.*;public class ModifySituation extends JPanel implements ActionListener Hashtable 基本信息表=null; JTextField 學(xué)號(hào),姓名,所學(xué)專(zhuān)業(yè),家庭住址,出生; JRadioButton 男,女; ButtonGroup group=null; JButton 開(kāi)始修改,錄入修改,重置; FileInputStream inOne=null; ObjectInputStream inTwo=null; FileOutputStream outOne=null; ObjectOutputStream outTwo=null; File file=null; public ModifySituation(File file) this.file=file; 學(xué)號(hào)=new JTextField(10); 姓名=new JTextField(10); 所學(xué)專(zhuān)業(yè)=new JTextField(10); 家庭住址=new JTextField(10); 出生=new JTextField(10); group=new ButtonGroup(); 男=new JRadioButton(男,true); 女=new JRadioButton(女,false); group.add(男); group.add(女); 開(kāi)始修改=new JButton(開(kāi)始修改); 錄入修改=new JButton(錄入修改); 錄入修改.setEnabled(false); 重置=new JButton(重置); 學(xué)號(hào).addActionListener(this); 開(kāi)始修改.addActionListener(this); 錄入修改.addActionListener(this); 重置.addActionListener(this); Box box1=Box.createHorizontalBox(); box1.add(new JLabel(輸入要修改信息的學(xué)號(hào):,JLabel.CENTER); box1.add(學(xué)號(hào)); box1.add(開(kāi)始修改); Box box2=Box.createHorizontalBox(); box2.add(new JLabel(新)姓名:,JLabel.CENTER); box2.add(姓名); Box box3=Box.createHor
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 聚焦2025年:全球鈾礦資源分布格局與核能產(chǎn)業(yè)升級(jí)潛力研究報(bào)告
- 2025年新能源汽車(chē)充電站投資策略與市場(chǎng)分析報(bào)告
- 工業(yè)互聯(lián)網(wǎng)平臺(tái)霧計(jì)算協(xié)同機(jī)制在智能客服2025年解決方案報(bào)告001
- 2025年冷鏈物流溫控技術(shù)革新與質(zhì)量標(biāo)準(zhǔn)提升報(bào)告
- 2025-2030中國(guó)非發(fā)酵豆制品行業(yè)銷(xiāo)售策略與營(yíng)銷(xiāo)動(dòng)態(tài)分析報(bào)告
- 2025-2030中國(guó)間苯二胺行業(yè)產(chǎn)銷(xiāo)態(tài)勢(shì)及投資方向分析報(bào)告
- 2025-2030中國(guó)鋁硅合金焊絲行業(yè)盈利動(dòng)態(tài)與產(chǎn)銷(xiāo)需求預(yù)測(cè)報(bào)告
- 2025-2030中國(guó)鋼卷尺行業(yè)現(xiàn)狀規(guī)模及投資趨勢(shì)預(yù)測(cè)報(bào)告
- 2025-2030中國(guó)醋酐行業(yè)競(jìng)爭(zhēng)動(dòng)態(tài)與需求趨勢(shì)預(yù)測(cè)報(bào)告
- 多元評(píng)價(jià)體系的構(gòu)建考核試卷
- 某頂管計(jì)算書(shū)
- T-GDSCEE 109-2022 數(shù)字音頻功率放大器通用規(guī)范
- 繼電保護(hù)裝置整定記錄
- 唐能通新生300天1-150
- GB/T 40080-2021鋼管無(wú)損檢測(cè)用于確認(rèn)無(wú)縫和焊接鋼管(埋弧焊除外)水壓密實(shí)性的自動(dòng)電磁檢測(cè)方法
- GB/T 16159-1996漢語(yǔ)拼音正詞法基本規(guī)則
- 一二三四級(jí)應(yīng)急響應(yīng)流程圖參考模板范本
- 《等離子弧焊》教學(xué)課件
- 丹佛斯變頻器danfoss-vlt中文操作手冊(cè)-工控網(wǎng)商城
- 2022版義務(wù)教育課程方案測(cè)試題及答案+學(xué)習(xí)義務(wù)教育課程方案心得體會(huì)
- 最新教師培訓(xùn)課件:教師專(zhuān)業(yè)發(fā)展
評(píng)論
0/150
提交評(píng)論