第一篇:VC++課程設計 班級信息輸入與顯示
VC++程序設計
1.設計方案及功能描述:
本設計為一個基于對話框的應用項目(項目名稱為DW)。在主對話框中設置組合框、列表框和“添加”按鈕。當按下“添加”按鈕后,調用一個班級信息輸入的對話框(包括班級號、班級名稱、學生人數、女生人數)。班級信息輸入的結果在主對話框中顯示,其中班級號顯示在組合框,選擇組合框的班級號后,班級的其他信息顯示在列表框。
2.實現步驟:
2.1創建并設計對話框
新建一個名為DW的工程,在這個創建一個基本對話框的應用項目。單擊對話框編輯器工具欄上的切換網格按鈕,顯示對話框網格。
(1)選擇“File”→“New”菜單命令,在彈出的“New”對話框中,“Project”標簽頁面中顯示了一系列的應用程序項目類型;選擇MFC AppWizard(exe)的項目類型,將項目工作文件夾定位在“C:USERSADMINISTRATORDESKTOPVC++DW”,并在“Project name”編輯框中輸入項目名DW,如圖1所示。
圖1 新建工程
(2)單擊 “確定”按鈕,出現如圖2所示的對話框。并在類型選擇欄選擇選擇“基本對話框”
圖2 選擇所創建的應用程序的類型
(3)單擊“下一步”按鈕,出現如圖3所示的對話框在“對話框的標題是”一欄輸入“班級信息輸入”。
圖3 輸入對話框的標題
(4)完成上述步驟后,可以單擊完成按鈕,或者一直點擊下一步直至完成基本設置。并出現下圖所示的提示界面。
圖4 完成基本設置后的提示信息
(5)單擊確定按鈕,進入如下界面:
圖5 主對話框
2.2控件選擇及設置
(1)打開對話框網格,參見圖6的控件布局,用編輯器為主對話框添加如下圖所示的一些控件。
圖6主對話框的控件布局
(2)將鼠標到左邊框的IDD_DW_DIALOG處并單擊右鍵,在下拉菜單中選擇插入dialog選項系統彈出如下圖所示的子對話框。
圖7 子對話框
(3)打開對話框網格,參見圖8的控件布局,用編輯器為對話框添加如下圖所示的一些控件。
圖8子對話框的控件布局
(4)更改各控件的ID和名稱,并添加相關屬性。如下列各圖所示:
(5)打開ClassWizard的Member Variable頁面,或者直接按Ctrl+W組合鍵,在Class name中選擇XMDialog,選中所需的控件號,雙擊或者單擊Add Variaable按鈕。依次為下列控件添加成員變量,如圖8所。
圖8 為主對話框的控件添加成員變量
同樣的,為子對話框的控件添加成員變量如圖9所示。
圖9 為子對話框的控件添加成員變量
(6)用MFC ClassWizard為DWDialog類添加WM_INITDIALOG消息映射,并添加下列初始化代碼:
BOOL CDWDlg::OnInitDialog(){ CDialog::OnInitDialog();
// Add “About...” menu item to system menu.// IDM_ABOUTBOX must be in the system command range.ASSERT((IDM_ABOUTBOX & 0xFFF0)== IDM_ABOUTBOX);ASSERT(IDM_ABOUTBOX < 0xF000);
CMenu* pSysMenu = GetSystemMenu(FALSE);if(pSysMenu!= NULL){
CString strAboutMenu;
strAboutMenu.LoadString(IDS_ABOUTBOX);
if(!strAboutMenu.IsEmpty())
{
pSysMenu->AppendMenu(MF_SEPARATOR);
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
} } } // Set the icon for this dialog.The framework does this automatically // when the application's main window is not a dialog SetIcon(m_hIcon, TRUE);
// Set big icon SetIcon(m_hIcon, FALSE);// Set small icon
// TODO: Add extra initialization here
return TRUE;// return TRUE unless you set the focus to a control
圖10 為DWDialog類添加WM_INITDIALOG消息映射
(7)在文件DWDlg.cpp的前面添加DWDialog的包含語句: #include “DWDlg.h” #include “add.h”
(8)用MFC ClassWizard 為CDWDlg 增加IDC_ Combo1 控件的CBN_EDITCHANGE消息映射,并添加下列代碼:
void CDWDlg::OnSelchangeCombo1(){ int index=m_classnb.GetCurSel();CString infor=*(CString*)m_classnb.GetItemDataPtr(index);m_classmessage.ResetContent();m_classmessage.AddString(infor);
}(9)用MFC ClassWizard 為CDWDlg 增加IDOK控件的BN_CLICKED消息映射,并添加下列代碼:
void CDWDlg::OnOK(){ add a;if(a.DoModal()==IDOK){
CString id=“";
CString infor=”“;FILE* f=fopen(”recordinfor.txt“,”r“);FILE* fp=fopen(”recordid.txt“,”r“);while(!feof(f)){infor+=fgetc(f);} while(!feof(fp)){id+=fgetc(fp);} fclose(f);fclose(fp);int index;index=m_classnb.AddString(id);m_classnb.SetItemDataPtr(index,new CString(infor));}
UpdateData(true);
//CDialog::OnOK();}(10)用MFC ClassWizard 為add 增加IDOK 控件的BN_CLICKED消息映射,并添加下列代碼:
void add::OnOK(){ UpdateData(true);CString infor=”“;CString id=”“;id=m_classnumber;infor+=”班級名稱:“;infor+=m_classname;infor+=”rn“;infor+=”女生人數:“;infor+=m_gnumber;infor+=”rn“;infor+=”班級人數:“;infor+=m_snumber;
CDialog::OnOK();FILE* f=fopen(”recordinfor.txt“,”w+“);for(int i=0;i } fputc(infor[i],f);fclose(f);FILE* fp=fopen(”recordid.txt“,”w+“);for(i=0;i 調試成功后的結果如下圖所示,單擊添加按鈕,就會彈出子對話框,在子對話框中輸入班級信息。 圖11編譯運行結果 圖12 輸入班級信息 在輸入完一組數據后單擊確定,會彈出小窗口提示添加成功。 圖13 提示框口 所有班級信息添加完之后,單擊主對話框班級號欄的組合框會顯示所有以輸入信息班級的班級號,選擇02號班級,主對話框的列表框就會顯示該班級的全部信息。 圖14 列表框顯示選中班級的信息 4.心得體會 VC++課程設計的塵囂漸漸遠去,懷著對這次設計的些許不舍,懷著對當初課程設計開始時候的豪情萬丈的決心的留戀,通過這次課程設計積累的信心與斗志,心里感慨萬千?,F在回顧兩個星期以前,當一個星期前的現在,當看到老師布置給我們的這些題目時,我們都蒙了,這么難的題目我們怎么可能會編出來啊,可是埋怨是沒有用的,我們只能盡我們自己最大的努力把程序給寫出來,雖然知道這一路肯定是異常的艱苦,但豁出去了。上網查資料是我們邁開的第一步,看是否有類似的題目,可是泡了幾個小時的網吧還是沒有,我們失望而回.但是恍然一想,找學姐,學長們傳授點經驗啊,但是最終還是空手而歸.我們真的有點絕望了,但是由于我們此刻有著年輕人的激情,沖動,火力,想了一想,求天求地求人不如求自己,所以我們決定大家在一起共同努力,分配任務去圖書館查找資料.肯定沒有現成的,我們只能查相關的函數,經過兩三天的努力,我們把框架弄出來了,可是還有計算和閃爍這兩大難題擺在我們面前,真的是個難題,自從把框架弄好了以后就沒有進展了,眼看幾天都快過了,我們那個急啊,可是急也沒有用。我們相信我們幾個人總歸可以搞定,這是我們可以堅持到現在的信念.后來我們不停地總結過去走過的彎路,回想上課時老師怎么教我們構建一個程序,要想構建一個程序,必須要有一個完整的想法,算法,大概的腦海路徑,才能完整地創建一個程序.經過一個星期的學習,使我對VC語言有了更進一步的認識和了解,要想學好它要重在實踐,要通過不斷的上機操作才能更好地學習它,通過實踐,我也發現我的好多不足之處,首先是自己在指法上還不行,經常按錯字母,通過學習也有所改進;再有對VC語言的一些標準庫函數不太了解,還有對函數調用的正確使用不夠熟悉,還有對VC語言中經常出現的錯誤也不了解,通過實踐,使我在這幾個方面的認識有所提高。 與其臨淵羨魚,不如退而結網。這次課程設計給我的最大的印象就是如果自己有了興趣,就動手去做,困難在你的勇氣和毅力下是抬不了頭的。從做這個設計開始無論遇到什么困難,我都沒有一絲的放棄的念頭。出于對知識的渴望,出于對新技術的好奇,出于對一切未知的求知。我完成了這次課程設計,不過這只是我學習路上的驛站,我會繼續學習它,語言本來就是相通的,just do it!語言并不重要畢竟它僅僅是工具,用好一個工具并不是一件值得為外人道的事情,主要是了解學習思想。古語說的好:學無止境?。?/p> 我很慶幸我圓滿完成了這次設計,讓我確實打開了眼界。 單片機數碼管顯示課程設計 目錄引言...............設計任務和要求.............1 2.1 設計目的............1 2.2 設計意義............1總原理圖及主要模塊的流程圖......1 3.1 總原理圖及元器件清單..............1 3.2 主要流程圖..........1性能測試與分析.............35 結論與心得..........4致謝...........4 參考文獻.............4 單片機數碼管顯示課程設計引言 從上世紀70年代第一批單片機問世,短短二三十年時間,單片機技術已經成為計算機技術的一個重要分支,廣泛運用到工業控制、儀器、儀表、消費產品,汽車、辦公自動化和通信等領域。因此,單片機技術已經成為電子、測控、自動化、通信等許多工科專業學生的必備技能。 我用AT89C51芯片來設計一個簡單的數碼管顯示。此設計給出了源代碼,通過仿真測試,其性能指標達到了設計要求。 關鍵詞:單片機,AT89C51,數碼管設計任務和要求 2.1 設計目的1.學習基本理論在實踐中綜合運用的初步經驗,掌握模擬電路設計的基本方法、設計步驟,培養綜合設計與調試能力。 2.了解AT89C51這個芯片的使用和性能指標測試方法。 3.培養實踐技能,提高分析和解決實際問題的能力。 2.2 設計意義 為了更好地熟悉和掌握單片機的基本功能和編程,掌握數碼管動態掃描顯示原理及實現方法。自我動態掃描顯示電路驅動程序的編寫方法。通過課程設計,達到理論與實際應用相結合,提高學生對微機硬件結構的軟件設計方法的理解,使學生能夠根據實際應用,初步實現硬件及軟件的設計,對硬件開發有更深層的認識,為今后打軟硬件開發,打下堅實的基礎。總原理圖及及主要模塊的流程圖 3.1 總原理圖及元器件清單 (1)我用Proteus 7 professional來畫出我設計的總原理圖,如圖3-1。 如圖3-1 此電路圖就用到AT89C51這個芯片,和一個數碼管。 3.2 主要流程圖(四號宋體加粗) 1.主程序的流程圖 圖3.2-1主流程圖 2.子程序的流程圖 圖3.2-2子流程圖性能測試與分析 主程序和子程序都存放在AT89C51單片機中。主程序的功能是:顯示數字。子程序的功能有:延時。程序代碼: ORG 0000H;初始化 LJMP START;轉入主程序 ORG 0010H;初始化 START: CLR P2.7;P2.7←00H MOVR0,#00H;R0←00H MOV R2,#10;R2←10 MAIN: MOV DPTR,#TAB;DPTR←TAB MOV A,R0;A←(RO) MOVC A,@A+DPTR;A←((A)+(DPTR)) MOV P0,A;P0←(A) LCALL DELAY;調用延時程序 INC R0;RO←(R0)+1 DJNZR2,MAIN;判斷 JMP START;循環 DELAY:;延時程序 MOV R3,#11 D1: MOV R4,#100 D2: MOV R5,#100 DJNZ R5,$ DJNZ R4,D2 DJNZ R3,D1 RET TAB: DB 00101000B;0 DB 11101011B;1 DB 00110010B;2 DB 10100010B;3 DB 11100001B;4 DB 10100100B;5 DB 00100100B;6 DB 11101010B;7 DB 00100000B;8 DB 10100000B;9 END 我用Proteus 7 professional 軟件來測試我設計的電路圖。當運行時,數碼管顯示0。如圖4-1。 圖4-1 當221ms后,數碼管顯示1。如圖 4-2.圖4-2 我的程序是一個循環的,一直到顯示9,之后又重新開始顯示0。在此不一一列出來。 為了能在實際在到應用,我用開發板來驗證我所設計的電路圖。其結果如下: 圖4-3顯示1 圖4-4顯示8 從仿真的結果可以看出,我的設計是滿足我設計的要求的。結論與心得 通過單片機課程設計,我不僅加深了對單片機理論的理解,將理論很好地應用到實際當中去,而且我還學會了如何去培養我們的創新精神,從而不斷地戰勝自己,超越自己。創新,是要我們學會將理論很好地聯系實際,并不斷地去開動自己的大腦,從為人類造福的意愿出發,做自己力所能及的,別人卻沒想到的事。使之不斷地戰勝別人,超越前人。同時,更重要的是,我在這一設計過程中,學會了堅持不懈,不輕易言棄。設計過程,也好比是我們人類成長的歷程,常有一些不如意,也許這就是在對我們提出了挑戰,勇敢過,也戰勝了,勝利的鐘聲也就一定會為我們而敲響。 這個設計過程中,我遇到過許多次失敗的考驗,就比如,我在軟件上仿真軟件上能實現其功能,但是把它寫進開發板就無法運行,我不停地找原因。最后我找到了答案,這樣我明白,做設計不但是軟件可以運行,用在硬件上一樣是那么重要的。我做的這個設計主要是用AT89C51這個芯片來實現,這個芯片具有很多優點,程序簡單易讀,結構清楚,最重要的是成本低。很適合我們學生用來學生。在做這個設計的過程中,我也了解到了自己的不足,在日后的學習中,我還需加倍努力學習。 參考文獻) [1]梁炳東.單片機原理與應用。北京:人民郵電出版社,2009 [2] [3]http://wenku.baidu.com/album/view/702db2c7aa00b52acfc7cae7 致謝(小三號 宋體 加粗) 在此次課程設計中,我遇到不懂的問題,老師和同學都幫我,讓我把問題順利地得到解決,最后完成此次課程設計報告。從中我學到了很多東西,在此,謝謝我的老師和同學,感謝你們在我遇到難題的時候幫我解答。 23. 模擬計算器數字輸入及顯示 1. 實驗任務 (1. 開機時,顯示“0” (2. 第一次按下時,顯示“D1”;第二次按下時,顯示“D1D2”;第三按下時,顯示“D1D2D3”,8個全顯示完畢,再按下按鍵下時,給出“嘀”提示音。 2. 電路原理圖 圖4.23.1 3. 系統板上硬件連線 (1. 把“單片機系統”區域中的P1.0端口用導線連接到“音頻放大模塊”區域中的SPK IN端口上; (2. 把“單片機系統“區域中的P3.0-P3.7端口用8芯排線連接到“4X4行列式鍵盤”區域中的C1-C4 R1-R4端口上;(3. 把“單片機系統”區域中的P0.0-P0.7端口用8芯排線連接到“動態數碼顯示”區域中的A-H端口上; (4. 把“單片機系統:區域中的P2.0-P2.7端口用8芯排線連接到“動態數碼顯示”區域中的S1-S8端口上; 4. 相關程序設計內容 (1. 行列式鍵盤輸入及按鍵功能設定;(2. 動態數碼顯示;(6#include 3.. 數 C 碼 顯語 示 言 方 式源 處 程 理 ; 序 char char code char dispbitcode[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; dispbuf[8]={0,16,16,16,16,16,16,16}; char dispbitcount; char char char char temp;i,j; key;keypos;alarmflag; *p,unsigned char count)while(count>0){ *(p+count)=*(p+count-1);count--;} } void { TMOD=0x01;TH0=(65536-4000)TL0=(65536-4000)TR0=1;ET0=1;EA=1; / % main(void) 256;256;while(1){ P3=0xff;P3_4=0;temp=P3;temp=temp if { for(i=50;i>0;i--)for(j=200;j>0;j--);temp=P3;temp=temp if { temp=P3;temp=temp switch(temp){ case key=7;break;case key=8;break;case key=9;break;case key=10;break;} if((key>=0){ keypos++;if(keypos<8){ change(dispbuf,keypos);dispbuf[0]=key;} else { keypos=8;alarmflag=1;} & & & && 0x0f; (temp!=0x0f) 0x0f; (temp!=0x0f) 0x0f; 0x0e: 0x0d: 0x0b: 0x07:(key<10))} temp=P3;P1_0=~P1_0;temp=temp while(temp!=0x0f){ temp=P3;temp=temp } alarmflag=0;} } P3=0xff;P3_5=0;temp=P3;temp=temp if { for(i=50;i>0;i--)for(j=200;j>0;j--);temp=P3;temp=temp if { temp=P3;temp=temp switch(temp){ case key=4;break;case key=5;break;case key=6;break;case key=11;break;} if {((key>=0) & & & & & && 0x0f; 0x0f; 0x0f; (temp!=0x0f) 0x0f; (temp!=0x0f) 0x0f; 0x0e: 0x0d: 0x0b: 0x07:(key<10))keypos++;if(keypos<8){ change(dispbuf,keypos);dispbuf[0]=key;} else { keypos=8;alarmflag=1;} } temp=P3;P1_0=~P1_0;temp=temp while(temp!=0x0f){ temp=P3;temp=temp } alarmflag=0;} } P3=0xff;P3_6=0;temp=P3;temp=temp if { for(i=50;i>0;i--)for(j=200;j>0;j--);temp=P3;temp=temp if { temp=P3;temp=temp switch(temp){ case key=1;break;case & & & & & 0x0f; 0x0f; 0x0f; (temp!=0x0f) 0x0f; (temp!=0x0f) 0x0f; 0x0e: 0x0d: key=2;break;case key=3;break;case key=12;break;} if((key>=0){ keypos++;if(keypos<8){ change(dispbuf,keypos);dispbuf[0]=key;} else { keypos=8;alarmflag=1;} } temp=P3;P1_0=~P1_0;temp=temp while(temp!=0x0f){ temp=P3;temp=temp } alarmflag=0;} } P3=0xff;P3_7=0;temp=P3;temp=temp if { for(i=50;i>0;i--)for(j=200;j>0;j--);temp=P3; && & & & 0x0b: 0x07: (key<10)) 0x0f; 0x0f; 0x0f; (temp!=0x0f)temp=temp if { temp=P3;temp=temp switch(temp){ case key=0;break;case key=13;break;case key=14;break;case key=15;break;} if((key>=0){ keypos++;if(keypos<8){ change(dispbuf,keypos);dispbuf[0]=key;} else { keypos=8;alarmflag=1;} } temp=P3;P1_0=~P1_0;temp=temp while(temp!=0x0f){ temp=P3;temp=temp } alarmflag=0;} & & && & & 0x0f; (temp!=0x0f) 0x0f; 0x0e: 0x0d: 0x0b: 0x07: (key<10)) 0x0f; 0x0f;} } } void t0(void) interrupt { TH0=(65536-4000)/ TL0=(65536-4000) % P0=dispcode[dispbuf[dispbitcount]];P2=dispbitcode[dispbitcount];dispbitcount++;if { dispbitcount=0;} if { P1_1=~P1_1;} } using 0 256;256; (dispbitcount==8) (alarmflag==1) 《程序設計語言VC++課程設計》課程教學大綱 一.課程基本信息 開課單位:經濟管理學院信息管理系 課程編號: 英文名稱: Programming Language VC++ Course Design 學時:總計32學時,其中理論授課0學時,實驗(含上機)32學時 學分:2.0學分 面向對象:信息管理與信息系統、信息管理與信息系統(電子商務方向)本科專業 教材: 《Visual C++程序設計》,潘克勤,華為主編,中國鐵道出版社,2008年 1月 第1 版 《Visual C++程序設計解析與實訓》,張曉如,王芳主編,中國鐵道出版社,2008年 3月 第1 版 主要教學參考書目或資料: 1.Visual C++開發技術大全——軟件工程師典藏.明日科技 編著.北京:人民郵電出版社,2007年3月 2.C++大學教程.(美)戴特爾(Deitel,H.M.)等著,張引 等譯.北京:電子工業出版社,2007年2月 3.全國計算機等級考試上機考試習題集.全國計算機等級考試命題研究組 編.天津:南開大學出版社,2007年11月 二.教學目的和任務 課程設計是課程教學中的一項重要內容,是完成教學計劃達到教學目標的重要環節,是一門專業基礎課或專業課教學計劃中綜合性較強的實踐教學環節,它對幫助學生全面牢固地掌握課堂教學內容、培養學生的實踐能力、為畢業設計及畢業后從事專業技術工作打下基礎,提高學生全面素質具有重要的意義。因此,《程序設計語言VC++課程設計》的目的就是要通過一個學生成績管理系統的實際開發,提高學生應用所學知識分析問題,解決問題和實際動手的能力,更加熟練地掌握C++程序開發的基本方法和工作步驟,對系統開發實踐有進一步體會。從而綜合復習課程中的所有理論知識點,進一步熟練面向對象程序的開發方法和流程,提高學生獨立分析問題和解決問題的能力。真正理解書本知識,牢固掌握課堂教學內容。 三.教學目標與要求 學生按照課程設計任務書要求,通過兩周的時間,設計出一個學生成績管理系統,能實現對某班級學生成績的管理及獎學金、三好生的評定工作。要求具備查詢和檢索等功能,并且能夠對指定文件進行操作,也可以將多個文件組成一個文件。從而進一步掌握算法的描述、了解初步的數據結構,熟悉C++語言的語句格式、功能及其應用。 四.教學內容、學時分配及其基本要求 實驗項目 學生課程成績管理系統 設計內容: 設計一程序,實現對某班級學生成績的管理及獎學金、三好生的評定工作。要求具備查詢和檢索等功能,并且能夠對指定文件進行操作,也可以將多個文件組成一個文件。 設計要求: ⒈應嚴格按照開發小型項目的基本流程進行設計。⒉成績管理程序至少應具有以下功能: ⑴輸入:學生的基本信息,包括學號、姓名、性別、籍貫、VC++成績、英語成績、物理成績等; ⑵計算:每個學生的總成績、平均成績,所有學生單科的平均成績,找出總成績和單科成績最高的學生并輸出; ⑶查詢:可以按學號、姓名等進行成績查詢; ⑷排序:可以按學號、姓名、VC++成績、英語成績、物理成績、總成績、平均成績等進行排序并輸出; ⑸刪除:刪除某條記錄; ⑹按學分積點計算辦法計算出每個學生的學分積點,并按從高到低的順序排列輸出。 ⑺按獎學金評定辦法,從特等獎開始,輸出獲得獎學金的學生名單及該生的學習成績與學分積點。⑻按三好生評定辦法,輸出獲得三好生的學生名單。⑼定義類,用類和對象的知識進行系統設計和實現。 本實驗由單人一組完成,根據課程設計任務書的要求,在教師的指導下,進行資料的查閱,規范地進行系統分析與系統設計工作。本實驗是以學生自主設計為主的開放模式組織教學。 六.考核方式及考核方法 ⒈考核方式為考查。 在課程設計的最后一次上機時間進行檢查和成績評定。⒉考核方法 通過設計答辯方式,并結合學生的動手能力、獨立分析解決問題的能力和創新精神,課程設計報告和答辯水平以及學習態度綜合考評。 成績分為五個等級: 優:能獨立完成設計要求所規定的全部內容,設計方案正確、基本概念清楚,有獨到的見解或創造性。 良:能較好完成設計要求所規定的全部內容,設計方案正確,分析問題正確、基本概念清楚。 中:能完成設計要求規定的全部內容,設計方案基本正確,基本概念清楚。及格:基本完成設計要求規定的內容,設計方案基本合理,基本概念較清楚。 不及格:未完成設計要求規定的內容,設計方案不合理,或有較嚴重缺陷,基本概念不清楚??己藰藴拾ǎ?/p> 程序設計的可用性、實用性、通用性、可擴充性(30%); 學生的動手能力、創新精神(30%); 課程設計報告(20%); 答辯水平(20%)。 (制定人: 審定人:) #include using namespace std; class person{ friend ostream& operator<<(ostream& out,const person& p){ p.output(); return out;}; public: virtual void output()const{} }; class teacher : public person{ public: virtual void output()const{cout<<“salary”< class student : public person{ public: virtual void output()const{cout<<“stu_num”< int main(){ teacher t;student s;t.x=3500;s.y=20092293; person* pa=&t;pa =&s;cout<<*pa;cout<第二篇:單片機數碼管顯示課程設計
第三篇:23. 模擬計算器數字輸入及顯示
第四篇:《程序設計語言VC++課程設計》教學大綱2周(呂)
第五篇:學生和老師信息輸入與輸出