




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、ATM柜員機(jī)模擬程序一、實(shí)訓(xùn)設(shè)備與工具個(gè)人計(jì)算機(jī)(奔騰486檔以上),windowsXP,JCreator或Editplus編譯開(kāi)發(fā)環(huán)境二、 實(shí)驗(yàn)?zāi)康呐c要求目的:掌握?qǐng)D形用戶界面設(shè)計(jì)方法,掌握常用swing組件的使用和事件處理程序設(shè)計(jì);掌握文件的I/O操作或程序?qū)?shù)據(jù)庫(kù)的訪問(wèn)要求:當(dāng)輸入給定的卡號(hào)和密碼(初始卡號(hào)和密碼為123456)時(shí),系統(tǒng)能登錄ATM柜員機(jī)系統(tǒng),用戶可以進(jìn)行:1 、查詢余額:初始余額為1000元2 、ATM取款:每次取款金額為100的倍數(shù),總額不超過(guò)5000元,支取金額不允許透支3 、ATM存款:不能出現(xiàn)負(fù)存款4 、修改密碼:新密碼長(zhǎng)度不小于6為,不允許出現(xiàn)6位完全相同的情
2、況,只有舊密碼正確,新密碼符合要求,且兩次輸入相同的情況下才可以成功修改密碼。三、實(shí)驗(yàn)實(shí)現(xiàn)的步驟1、 分析題目2、 根據(jù)自己的想法搭建程序主界面3、 為各菜單項(xiàng)添加事件處理程序四、ATM柜員機(jī)界面設(shè)計(jì)圖 圖1 ATM功能結(jié)構(gòu)示意圖1、 Guest 類代碼如下:class Guest / 定義客戶類String zh; /定義賬號(hào)String pswf; /定義密碼double jine; /定義金額 public Guest() /構(gòu)造Guestpublic Guest(String zh,String pswf,double jine)this.zh=zh; /帶入頂層容器,賬號(hào),密碼,金額
3、this.pswf=pswf;this.jine=jine;String getzh() /定義成員變量賬號(hào)return zh; /成員方法double setMima(double pswf)/定義成員變量密碼return pswf;/成員方法 double getJine()/定義成員變量金額 return jine;/定義成員方法 void cunkuan(double money)/定義成員變量存款 jine=jine+money; /定義成員方法 void quqian(double money)/定義成員變量取款 jine=jine-money; /定義成員方法 String xi
4、ugaim(String mi)/定義成員變量密碼 pswf = mi; /定義成員方法 return pswf; 2、ATM柜員機(jī)主界面模塊設(shè)計(jì) 主界面的設(shè)計(jì),主要有按鈕、文本框,組合框,標(biāo)簽,在組合中選擇賬號(hào),在密碼的文本框中輸入各個(gè)賬號(hào)所對(duì)應(yīng)的密碼,單擊登錄按鈕可以進(jìn)入選擇界面,如果密碼錯(cuò)誤,就會(huì)彈出如圖3的對(duì)話框,提示“密碼錯(cuò)誤 ,拒絕登錄” import javax.swing.*;import javax.swing.event.*; import java.awt.*;import java.awt.event.*; / 導(dǎo)入包c(diǎn)lass DENGRU extends JFram
5、e implements ActionListener /導(dǎo)入接口類 JPanel p1,p2,p3; /定義3個(gè)面板JLabel l1,l2,l3,l4; /定義4個(gè)標(biāo)簽JPasswordField pswf; /定義一個(gè)密碼文本JButton jb1,jb2,jb3; /定義3個(gè)按鈕JTextField jtf1; /定義一個(gè)文本框JComboBox jc1; /定義一個(gè)組合框ImageIcon myimage; /定義導(dǎo)入圖片Container content; /定義一個(gè)容器Guest g=new Guest4; /定義客戶類數(shù)組 public DENGRU() /布局 g0=new
6、Guest("chengchao","888888",5000);/客戶類數(shù)組里給的帳號(hào),密碼,錢數(shù) g1=new Guest("baijing","888888",5000); g2=new Guest("gaolingling","888888",5000); g3=new Guest("zhaofengying","888888",5000);p1 = new JPanel(); /定義第一個(gè)面板myimage = new Ima
7、geIcon("yl1.jpg"); /定義填入的圖片l1 = new JLabel(myimage); /定義把圖片放在標(biāo)簽的上面p1.add(l1); p2 = new JPanel(); /定義第二個(gè)面板l2 = new JLabel("卡號(hào):"); /定義標(biāo)簽l2 jc1 = new JComboBox(); /定義組合框 jc1.addItem( "chengchao" ); /組合框里賦值jc1.addItem("baijing");jc1.addItem("zhaofengying"
8、;);jc1.addItem("gaolingling"); jc1.setSelectedIndex( 0 ); /組合框里的下標(biāo)從0開(kāi)始 jc1.setEditable(true); /里面還可以輸入 l3=new JLabel("密 碼:"); /定義標(biāo)簽l3 pswf=new JPasswordField(12); /定義密碼文本l4 = new JLabel("如果沒(méi)有賬號(hào)請(qǐng)注冊(cè)"); /定義標(biāo)簽l4jb3 = new JButton("注冊(cè)"); /添加注冊(cè)按鈕 p2.add(l2); /把它們分別鑲在
9、面板上 p2.add(jc1);p2.add(l3);p2.add(pswf);p2.add(l4);p2.add(jb3);p3 = new JPanel(); /定義第三個(gè)面板 jb1 = new JButton("登錄"); /定義按鈕登錄jb1jb1.addActionListener(this); /jb1申請(qǐng)監(jiān)聽(tīng)jb2 = new JButton("注銷"); /定義按鈕注銷jb2jb2.addActionListener(this); /jb2申請(qǐng)監(jiān)聽(tīng)p3.add(jb1); /把它們添加到p3面板里p3.add(jb2); content
10、 = this.getContentPane(); /布局定義 content.setLayout(new BorderLayout(); content.add(p1,BorderLayout.NORTH); /定義頂部為面板p1 content.add(p2,BorderLayout.CENTER); /定義中部為面板p2 content.add(p3,BorderLayout.SOUTH); /定義底部為面板p3 this.pack(); this.setTitle("ATM 柜員機(jī)"); /定義為窗口名稱 this.setSize(600,300); / 定義窗口的
11、大小 this.setResizable(false); this.show(); /顯示 this.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );/ 關(guān)閉、退出 public void actionPerformed(ActionEvent e ) /監(jiān)聽(tīng)類String x= jc1.getSelectedItem().toString(); /把jc1的值強(qiáng)制轉(zhuǎn)換成字符if(e.getSource()=jb1) /如果點(diǎn)擊是jb1按鈕就進(jìn)入Forfor(int i=0;i<4;i+) /判斷名字在數(shù)組的位置if(x.equals(g
12、i.zh) /檢查到開(kāi)始判斷是否匹配 if(pswf.getText().equals(gi.pswf) /名字匹配成功后判斷密碼是否成功 new KQ(gi); /密碼真確后進(jìn)入KQ的界面 setVisible( false); else JOptionPane.showMessageDialog( this,"密碼錯(cuò)誤,拒絕登陸"); /密碼錯(cuò)誤彈出提示密碼錯(cuò)誤 elseSystem.exit(0); /注銷事件退出 public static void main(String args) /定義的MAIN,才能進(jìn)入。 new DENGRU(); 圖1 主界面 圖2 密
13、碼輸出錯(cuò)誤提示欄3、選擇界面模塊設(shè)計(jì)在選擇模塊服務(wù)中,有各種ATM的服務(wù)功能,只要在用戶該界面中選擇按鈕,它會(huì)彈出各個(gè)相應(yīng)的界面,其中的代碼為:import javax.swing.*;import javax.swing.event.*;import java.awt.*;import java.awt.event.*;public class KQ extends JFrame implements ActionListener /導(dǎo)入接口類 JPanel p1,p2,p3; /定義3個(gè)面板JLabel l1; /定義1個(gè)標(biāo)簽JButton jb1,jb2,jb3,jb4,jb5; /定義
14、5個(gè)按鈕ImageIcon myimage; /定義導(dǎo)入圖片Container content; /定義一個(gè)容器 Guest key; /定義客戶類傳從參數(shù)keypublic KQ(Guest key) this.key =key; /把key傳到頂層容器p1 = new JPanel(); /定義第一個(gè)面板myimage = new ImageIcon("yl1.jpg"); /定義填入的圖片l1 = new JLabel(myimage); /定義把圖片放在標(biāo)簽的上面p1.add(l1); p2 = new JPanel(); /定義第二個(gè)面板 jb1 = new JB
15、utton("ATM取款"); /定義jb1按鈕ATM取款 jb1.addActionListener(this); /jb1申請(qǐng)監(jiān)聽(tīng)jb2 = new JButton("ATM存款"); /定義jb2按鈕ATM存款 jb2.addActionListener(this); /jb2申請(qǐng)監(jiān)聽(tīng)jb3 = new JButton("查詢余額 "); /定義jb3按鈕查詢余額 jb3.addActionListener(this); /jb3申請(qǐng)監(jiān)聽(tīng)jb4 = new JButton("修改密碼"); /定義jb4按鈕修
16、改密碼 jb4.addActionListener(this); /jb4申請(qǐng)監(jiān)聽(tīng)p2.add(jb1);p2.add(jb2);p2.add(jb3);p2.add(jb4);p3 = new JPanel(); /定義第三個(gè)面板 jb5 = new JButton("退出"); /定義jb5按鈕退出 jb5.addActionListener( /定義一個(gè)匿名類 new ActionListener() public void actionPerformed( ActionEvent event ) System.exit(0); /退出登陸 );p3.add(jb5)
17、; content = this.getContentPane(); /布局定義 content.setLayout(new BorderLayout(); content.add(p1,BorderLayout.NORTH); /定義頂部為面板p1 content.add(p2,BorderLayout.CENTER); /定義中部為面板p2 content.add(p3,BorderLayout.SOUTH); /定義底部為面板p3 this.pack();this.setTitle("進(jìn)入界面"); /定義為窗口名稱this.setSize(400,300); / 定
18、義窗口的大小 this.setResizable(false);this.show(); public void actionPerformed ( ActionEvent event ) /接口監(jiān)聽(tīng) if (event.getSource()=jb4 ) /判斷是否是jb4 new Xgmm(key); /進(jìn)入Xgmm setVisible( false); if (event.getSource()=jb1 ) /判斷是否是jb1 new Zdqk(key); /進(jìn)入Zdqk setVisible( false); if (event.getSource()=jb2 ) /判斷是否是jb2
19、 new Zdck(key); /進(jìn)入Zdck setVisible( false); if (event.getSource()=jb3 ) /判斷是否是jb3 new Cxye(key); /進(jìn)入Cxye setVisible( false); 圖3. 進(jìn)入選擇KQ界面4、自動(dòng)存款模塊設(shè)計(jì) 在取款模塊中,和其它界面也是同樣的結(jié)構(gòu),有文本框和按鈕還有標(biāo)簽,用戶在文本框中輸入它想存入的數(shù)額,單擊確定,就可以存入,如果輸錯(cuò)了或者是不想存了,可以單擊取消,退出的選擇界面。import java.awt.*;import java.awt.event.*;import javax.swing.*;c
20、lass Zdck extends JFrame implements ActionListener /導(dǎo)入接口類 JPanel p1,p2,p3; /定義3個(gè)面板JLabel l1; /定義1個(gè)標(biāo)簽JButton jb1,jb2; /定義2個(gè)按鈕JTextField jtf1; /定義一個(gè)文本框ImageIcon myimage; /定義導(dǎo)入圖片Container content; /定義一個(gè)容器Guest key; /定義客戶類傳從參數(shù)keypublic Zdck(Guest key) this.key=key; /把key傳到頂層容器 p1=new JPanel(); /定義第一個(gè)面板
21、myimage = new ImageIcon("yl1.jpg"); /定義填入的圖片 l1 = new JLabel(myimage); /定義把圖片放在標(biāo)簽的上面 p1.add(l1); p2=new JPanel(); /定義第二個(gè)面板 l1=new JLabel("請(qǐng)輸入您要存入的金額:"); /定義一個(gè)標(biāo)簽請(qǐng)輸入您要存入的金額: jtf1 = new JTextField(10); /定義一個(gè)文本框 p2.add(l1); p2.add(jtf1); p3=new JPanel(); /定義第三個(gè)面板 jb1=new JButton(&quo
22、t;確定"); /定義一個(gè)按鈕確定 jb1.addActionListener(this); /jb1申請(qǐng)一個(gè)監(jiān)聽(tīng) jb2=new JButton("返回"); /定義一個(gè)按鈕返回 jb2.addActionListener( /定義一個(gè)匿名類監(jiān)聽(tīng) new ActionListener() public void actionPerformed(ActionEvent event) KQActionPerformed(event); ); p3.add(jb1); p3.add(jb2);content=this.getContentPane(); /布局定義co
23、ntent.setLayout(neBorderLayout();content.add(p1,BorderLayout.NORTH); /定義頂部為面板p1 content.add(p2,BorderLayout.CENTER); /定義中部為面板p2 content.add(p3,BorderLayout.SOUTH); /定義底部為面板p3 this.pack(); this.setTitle("自 動(dòng) 存 款"); /定義為窗口名稱 this.setSize(320,300); / 定義窗口的大小 this.setResizable(false); this.sho
24、w(); /顯示 public void actionPerformed (ActionEvent e) /接口監(jiān)聽(tīng)類 if(e.getSource()=jb1) /判斷是是否是jb1 double money = Double.parseDouble(jtf1.getText();/ 把money轉(zhuǎn)成Double JOptionPane.showMessageDialog(this,"成功取款"+jtf1.getText()+"元!");/一個(gè)提示框填出你成功存了多少 key.cunkuan(money); /把存的錢傳回客戶類 jtf1.setTex
25、t("0"); return; public void KQActionPerformed ( ActionEvent event ) /匿名類監(jiān)聽(tīng)過(guò)程 if (event.getSource()=jb2 ) /判斷要是jb2 new KQ(key); /返回KQ界面 setVisible( false); 圖4. 自動(dòng)存款存款成功看圖5: 圖 5. 存款成功5、自動(dòng)取款模塊設(shè) 在取款模塊中,和其它界面也是同樣的結(jié)構(gòu),有文本框和按鈕還有標(biāo)簽,用戶在文本框中輸入它想取的數(shù)額,但必須是100的倍數(shù),而且每一次最多只能去5000快,當(dāng)然取款時(shí)不能超過(guò)卡里的余額沒(méi)卡里的余額不可以為
26、負(fù)數(shù),否則會(huì)彈出報(bào)錯(cuò)的窗口,其代碼為:import java.awt.*;import java.awt.event.*;import javax.swing.*;class Zdqk extends JFrame implements ActionListener /導(dǎo)入接口類JPanel p1,p2,p3; /定義3個(gè)面板JLabel l1; /定義1個(gè)標(biāo)簽JButton jb1,jb2; /定義2個(gè)按鈕JTextField jtf1; /定義一個(gè)文本框ImageIcon myimage; /定義導(dǎo)入圖片Container content; /定義一個(gè)容器 Guest key; /定義客戶
27、類傳從參數(shù)key public Zdqk(Guest key) this.key=key; /把key傳到頂層容器 p1=new JPanel(); /定義第一個(gè)面板 myimage = new ImageIcon("yl1.jpg"); /定義填入的圖片 l1 = new JLabel(myimage); /定義把圖片放在標(biāo)簽的上面 p1.add(l1); p2=new JPanel(); /定義第二個(gè)面板 l1=new JLabel("請(qǐng)輸入您要取的金額:"); /定義一個(gè)標(biāo)簽請(qǐng)輸入您要取的金額: jtf1 = new JTextField(10);
28、 /定義一個(gè)文本框 p2.add(l1); p2.add(jtf1); p3=new JPanel(); /定義第三個(gè)面板 jb1=new JButton("確定"); /定義一個(gè)按鈕確定 jb1.addActionListener(this); /jb1申請(qǐng)一個(gè)監(jiān)聽(tīng) jb2=new JButton("返回"); /定義一個(gè)按鈕返回 jb2.addActionListener(this); /jb1申請(qǐng)一個(gè)監(jiān)聽(tīng) p3.add(jb1); p3.add(jb2); content=this.getContentPane(); /布局定義 content.s
29、etLayout(new BorderLayout(); content.add(p1,BorderLayout.NORTH); /定義頂部為面板p1 content.add(p2,BorderLayout.CENTER); /定義中部為面板p2 content.add(p3,BorderLayout.SOUTH); /定義底部為面板p3 this.pack(); this.setTitle("自 動(dòng) 取 款"); /定義為窗口名稱 this.setSize(320,300); / 定義窗口的大小 this.setResizable(false); this.show();
30、 public void actionPerformed (ActionEvent e) /接口監(jiān)聽(tīng)類 if(e.getSource()=jb1) /判斷是是否是jb1 double money = Double.parseDouble(jtf1.getText();/ 把money轉(zhuǎn)成Double if(money<key.jine) JOptionPane.showMessageDialog(this,"成功取款"+jtf1.getText()+"元!");/一個(gè)提示框填出你成功取了多少 key.quqian(money); /把存的錢傳回客戶
31、類 jtf1.setText("0"); return; else JOptionPane.showMessageDialog(this,"你的卡即將要已透支");/一個(gè)提示框提示你你的卡即將要已透支 if (e.getSource()=jb2 )/判斷是是否是jb2 new KQ(key); /放回KQ setVisible( false); 圖6. 自動(dòng)取款當(dāng)取款成功時(shí)就會(huì)提示如圖7的消息。 圖7. 成功取款提示當(dāng)取款時(shí)如果超過(guò)卡里的余額的話就會(huì)報(bào)圖8和 9的錯(cuò)誤。 圖8.自動(dòng)取款 圖9. 以超出你的剩余金額 6、查詢余額模塊設(shè)計(jì)查詢余額的界面主要有
32、文本框,標(biāo)簽,按鈕,主要功能是在上一級(jí)選擇菜單中選擇查詢余額,就會(huì)彈出查詢余額的這個(gè)對(duì)話框。 import java.awt.*;import java.awt.event.*;import javax.swing.*;class Cxye extends JFrame implements ActionListener /導(dǎo)入接口類JPanel p1,p2,p3; /定義3個(gè)面板JLabel l1; /定義1個(gè)標(biāo)簽JButton jb1; /定義3個(gè)按鈕 ImageIcon myimage; /定義導(dǎo)入圖片Container content; /定義一個(gè)容器Guest key; /定義客戶類
33、傳從參數(shù)key public Cxye(Guest key) this.key=key; /把key傳到頂層容器 p1=new JPanel(); /定義第一個(gè)面板 myimage = new ImageIcon("yl1.jpg"); /定義填入的圖片 l1 = new JLabel(myimage); /定義把圖片放在標(biāo)簽的上面 p1.add(l1); p2=new JPanel(); /定義第二個(gè)面板 l1=new JLabel("您的剩余金額為:"+ key.getJine();? p2.add(l1); p3=new JPanel(); /定義
34、第三個(gè)面板 jb1=new JButton("返回"); jb1.addActionListener(this); p3.add(jb1); content=this.getContentPane(); /布局定義 content.setLayout(new BorderLayout(); content.add(p1,BorderLayout.NORTH); /定義頂部為面板p1 content.add(p2,BorderLayout.CENTER); /定義中部為面板p2 content.add(p3,BorderLayout.SOUTH); /定義底部為面板p3 th
35、is.pack(); this.setTitle("查 詢 余 額"); /定義為窗口名稱 this.setSize(320,300); / 定義窗口的大小 this.setResizable(false); this.show(); public void actionPerformed ( ActionEvent e ) /接口監(jiān)聽(tīng)類 if (e.getSource()=jb1 ) /判斷是否是jb1 new KQ(key); /放回KQ setVisible( false); 圖10. 查詢余額 取款500后看查詢11圖: 圖11.存款600后看查詢12圖 圖12.
36、7、修改密碼模塊設(shè)計(jì)修改密碼的界面主要有文本框,標(biāo)簽,按鈕,主要功能是先在輸入原始密碼 的文本框中輸入原來(lái)的密碼,然后在輸入要修改的密碼的文本框中輸入新密碼,在確認(rèn)新密碼后,才能真正的將密碼修改成功。 import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.util.*;class Xgmm extends JFrame implements ActionListener /導(dǎo)入接口類JPanel p1,p2,p3; /定義3個(gè)面板JLabel l1, l2, l3, l4; /定義4個(gè)標(biāo)簽JText
37、Field jtf1,jtf2,jtf3; /定義3個(gè)文本框JButton jb1,jb2; /定義2個(gè)按鈕ImageIcon myimage; /定義導(dǎo)入圖片Container content; /定義一個(gè)容器Guest key; /定義客戶類傳從參數(shù)keypublic Xgmm(Guest key)this.key=key; /把key傳到頂層容器p1 = new JPanel(); /定義第一個(gè)面板myimage = new ImageIcon("yl1.jpg"); /定義填入的圖片l1 = new JLabel(myimage); /定義把圖片放在標(biāo)簽的上面 p1.add(l1); p2=new JPanel(); /定義第二個(gè)面板l2=new JLabel("請(qǐng)輸入原始密碼:"); /定義標(biāo)簽請(qǐng)輸入原始密碼:l3=
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中醫(yī)院針灸特色??瓶剖医ㄔO(shè)的背景意義及必要性
- 文化資源的高效配置與利用
- 商業(yè)地產(chǎn)開(kāi)發(fā)規(guī)劃基礎(chǔ)知識(shí)點(diǎn)歸納
- 2025年西班牙語(yǔ)DELEC1考試口語(yǔ)模擬試卷:西班牙語(yǔ)綜合運(yùn)用與實(shí)戰(zhàn)演練
- T-SDJSXH 04-2021 建筑施工行業(yè)安全生產(chǎn)責(zé)任保險(xiǎn)風(fēng)險(xiǎn)等級(jí)評(píng)價(jià)標(biāo)準(zhǔn)
- 農(nóng)業(yè)綠色技術(shù)創(chuàng)新與生態(tài)環(huán)境保護(hù)
- 新興運(yùn)動(dòng)形式在醫(yī)療康復(fù)中的應(yīng)用前景
- 法治社會(huì)的憲法熏陶
- 老舊廠區(qū)改造項(xiàng)目工程方案
- 2025版合作協(xié)議貨物買賣季度合同
- 清淤工程施工記錄表
- 常用數(shù)學(xué)物理英語(yǔ)詞匯
- 商法案例英文版ppt全套教學(xué)課件
- 2021年浙江省杭州市西湖區(qū)杭州綠城育華小學(xué)一級(jí)下冊(cè)期末數(shù)學(xué)試卷
- 國(guó)家儲(chǔ)備林改培外業(yè)調(diào)查技術(shù)
- 科技改變生活-PPT課件
- K-H-V行星齒輪減速器 瞿鴻鵬
- T∕CNEA 001.1-2021 核能行業(yè)供應(yīng)商評(píng)價(jià)與管理規(guī)范 第1部分:合格供應(yīng)商要求及判定規(guī)則
- 病毒TCID50測(cè)定參考模板
- 貝朗CRRT操作常見(jiàn)報(bào)警及處理
- 2020版公路養(yǎng)護(hù)工程質(zhì)量檢驗(yàn)評(píng)定標(biāo)準(zhǔn)(土建工程部分)
評(píng)論
0/150
提交評(píng)論