

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> 《面向?qū)ο蟪绦蛟O(shè)計》課程設(shè)計</p><p> 09計應(yīng)1 09821122 謝燕清</p><p> 課題設(shè)計內(nèi)容、具備的功能 </p><p><b> ?。ㄒ唬┰O(shè)計內(nèi)容 </b></p><p><b> 1.性質(zhì)</b></p><
2、p> 本課程是學生在學習完《程序設(shè)計基礎(chǔ)》、《面向?qū)ο蟪绦蛟O(shè)計》課程后,為提高學生使用面向?qū)ο蟮恼Z言解決實際問題的能力設(shè)置的一門實踐性課程,是計算機科學與技術(shù)專業(yè)計算機應(yīng)用方向的必修課。</p><p><b> 2.目的 </b></p><p> 本課程實驗教學的目的是:</p><p> 使學生通過實踐環(huán)節(jié)深入理解和掌握課堂
3、教學內(nèi)容,進一步加深理解面向?qū)ο蟮幕纠碚摚莆栈痉椒?、基本技術(shù)。</p><p> 通過設(shè)計一個功能比較完整的,有實際應(yīng)用價值的應(yīng)用軟件,使學生了解采用面向?qū)ο蠹夹g(shù)開發(fā)軟件的全部過程,掌握采用面向?qū)ο蠹夹g(shù)開發(fā)軟件的方法。提高學生使用面向?qū)ο蠓椒?,和面向?qū)ο蟮恼Z言解決實際問題的能力。</p><p> 通過本課程設(shè)計,為后續(xù)《數(shù)據(jù)庫系統(tǒng)原理與應(yīng)用》《數(shù)據(jù)結(jié)構(gòu)》《編譯原理》等課程打下扎
4、實的專業(yè)基礎(chǔ)。</p><p><b> 3.任務(wù)</b></p><p> 學生成績管理系統(tǒng),系統(tǒng)存儲以下信息:</p><p> 1) 學生基本信息和成績;</p><p><b> 2) 學生的人數(shù)。</b></p><p><b> 4.要求<
5、;/b></p><p> 1) 根據(jù)題目要求,對問題進行需求調(diào)查和分析,識別類和對象,合理設(shè)計類和對象;</p><p> 2) 合理設(shè)計程序結(jié)構(gòu),系統(tǒng)各項功能要求在函數(shù)中實現(xiàn)。在主函數(shù)中設(shè)計菜單,通過菜單調(diào)用這個函數(shù);</p><p> 3) 輸入輸出要求由提取運算符和插入運算符的重載函數(shù)實現(xiàn);公用過程盡可能設(shè)計成函數(shù)或函數(shù)模板;</p>
6、<p> 4) 設(shè)計過程中必須考慮程序的健壯性,在關(guān)鍵的地方必須要有容錯處理。</p><p><b> ?。ǘ┚邆涞墓δ?lt;/b></p><p><b> 系統(tǒng)功能:</b></p><p> 1.系統(tǒng)初始化 包括上述文件的創(chuàng)建和讀?。ǘM制或ASCII文件);</p><p&
7、gt; 2.增加學生 新增加學生信息和成績;</p><p> 3.刪除學生 根據(jù)學號刪除相應(yīng)學生信息;</p><p> 4查詢 根據(jù)學號,查詢相應(yīng)學生信息;</p><p> 5.排序 根據(jù)學生學號、姓名、成績對學生信息排序,并顯示;</p><p> 6.修改 修改指定學號
8、的學生數(shù)據(jù)。</p><p> 模塊(函數(shù))的劃分、各模塊(函數(shù))的功能、采用的自定義的數(shù)據(jù)類型</p><p><b> 模塊(函數(shù))的劃分</b></p><p> 1.類的定義:student.h</p><p> 1) 定義抽象類person</p><p> protected
9、: </p><p> int ID; //學號</p><p> char Name[10]; //姓名</p><p><b> publ
10、ic:</b></p><p> virtual bool operator<(Person &)=0; //>運算符重載</p><p> virtual bool operator>=(Person &)=0; //<=運算符重載</p><p>
11、 2) 定義派生數(shù)據(jù)類student,基類為person類。</p><p><b> Private:</b></p><p> int Score[4]; //成績</p><p> void SwapData(Student *);
12、 //交換數(shù)據(jù)</p><p><b> public:</b></p><p> Student(int =0,char* =NULL,int* =NULL); //構(gòu)造函數(shù)</p><p> bool operator<(Person &); //>運算
13、符重載</p><p> bool operator>=(Person &); //<=運算符重載</p><p> friend ofstream& operator<<(ofstream&,Student*); //<<運算符重載輸出到文件</p><p>
14、 friend ifstream& operator>>(ifstream&,Student*); //>>運算符重載從文件輸入</p><p> friend ostream_withassign& operator<<(ostream_withassign&,Student*);//<<運</p><p>
15、; 算符重載輸出到顯示器</p><p> friend istream_withassign& operator>>(istream_withassign&,Student*);//>>運算</p><p><b> 符重載從鍵盤輸入</b></p><p> friend class List
16、; //List為友元類</p><p> 3) 定義設(shè)計結(jié)點類Node</p><p><b> private: </b></p><p> Student *Stup; //指向?qū)W生對象指針</p><
17、p> Node *Prev,*Next; //指向前后結(jié)點指針</p><p><b> public:</b></p><p> Node(); //構(gòu)造函數(shù)</p><p> Node(Student *);
18、 //構(gòu)造函數(shù)</p><p> Node(Node &); //復制構(gòu)造函數(shù)</p><p> ~Node(); //析構(gòu)函數(shù)</p><p> friend class List;
19、 //List為友元類</p><p> 4)定義帶有頭結(jié)點鏈表類List,私有數(shù)據(jù)成員為Node *Head,*Tail分別,指向鏈表頭尾:</p><p><b> private:</b></p><p> void InitList(); //
20、初始化函數(shù)</p><p><b> public:</b></p><p> List(); //構(gòu)造函數(shù)</p><p> ~List(); //析構(gòu)函數(shù)</p><p> void
21、ClearList(); //清空鏈表</p><p> Node *FindID(int &); //根據(jù)學號尋找學生所在結(jié)點</p><p> void Insert(Node *); //插入一個學生</p><p> No
22、de *CreateNode(Student *); //建立一個學生結(jié)點</p><p> void Add(); //增加一個學生</p><p> void Update(); //修改學生成績</p><p> void Dele
23、te(); //刪除一個學生</p><p> void Query(); //查找一個學生</p><p> void SortID(); //按學號排序</p><p> void SortScore();
24、 //按學生總成績排序</p><p> void SaveBin(); //以二進制形式保存數(shù)據(jù)</p><p> void PrintList(); //顯示鏈表</p><p> void PrintTitle();
25、 //顯示標題</p><p> void PrintOne(Student *); //顯示一個學生數(shù)據(jù)</p><p> 2.student類的實現(xiàn):student.cpp</p><p> 3.node類的實現(xiàn):node.cpp</p><p> 4.list類的實
26、現(xiàn):list.cpp</p><p> 5.主函數(shù):main.cpp</p><p> 各模塊(函數(shù))的功能</p><p> 1.實現(xiàn)類和函數(shù)聲明;</p><p> 2.實現(xiàn)派生類student的各函數(shù);</p><p> 3.實現(xiàn)結(jié)點類Node的各函數(shù);</p><p> 4.
27、實現(xiàn)結(jié)點類List的各函數(shù)。程序結(jié)束運行前,調(diào)用SaveBin()函數(shù)以二進制形式保存學生數(shù)據(jù)到文件student.dat中;</p><p> 5. 設(shè)計主函數(shù)。主函數(shù)中顯示功能菜單,通過菜單調(diào)用類的成員函數(shù)實現(xiàn)系統(tǒng)各項功能。</p><p> 采用自定義的數(shù)據(jù)類型</p><p> 自定義的數(shù)據(jù)類型:student.h</p><p&g
28、t; #ifndef STUDATA_H</p><p> #define STUDATA_H</p><p> #include<fstream.h></p><p> int GetID();</p><p> class List;</p><p> class Person{
29、 //抽象類</p><p> protected:</p><p><b> int ID;</b></p><p> char Name[10];</p><p><b> public:</b></p><p>
30、virtual bool operator<(Person &)=0;</p><p> virtual bool operator>=(Person &)=0;</p><p><b> };</b></p><p> class Student:public Person{</p><p
31、> int Score[4];</p><p> void SwapData(Student *);</p><p><b> public:</b></p><p> Student(int =0,char* =NULL,int* =NULL);</p><p> bool operator<(P
32、erson &);</p><p> bool operator>=(Person &);</p><p> friend ofstream& operator<<(ofstream&,Student*);</p><p> friend ifstream& operator>>(ifstr
33、eam&,Student*);</p><p> friend ostream_withassign& operator<<(ostream_withassign&,Student*);</p><p> friend istream_withassign& operator>>(istream_withassign&,S
34、tudent*);</p><p> friend class List;</p><p><b> };</b></p><p> class Node{</p><p> Student *Stup;</p><p> Node *Prev,*Next;</p><
35、;p><b> public:</b></p><p><b> Node();</b></p><p> Node(Student *);</p><p> Node(Node &);</p><p><b> ~Node();</b></p&g
36、t;<p> friend class List;</p><p><b> };</b></p><p> class List{</p><p> Node *Head,*Tail;</p><p> void InitList();</p><p><b>
37、 public:</b></p><p><b> List();</b></p><p><b> ~List();</b></p><p> void ClearList();</p><p> Node *FindID(int &);</p><
38、;p> void Insert(Node *);</p><p> Node *CreateNode(Student *);</p><p> void Add();</p><p> void Update();</p><p> void Delete();</p><p> void Query
39、();</p><p> void SortID();</p><p> void SortScore();</p><p> void SaveBin();</p><p> void PrintList();</p><p> void PrintTitle();</p><p>
40、 void PrintOne(Student *);</p><p><b> };</b></p><p><b> #endif</b></p><p><b> 程序運行流程圖</b></p><p> 注:在主函數(shù)中,輸入選項,判斷是否等于END,如等于END
41、則保存數(shù)據(jù);如不等于則實行switch中增加學生、修改成績、刪除學生、查詢數(shù)據(jù)、顯示數(shù)據(jù)、按學號排序、按總成績排序。</p><p> 注:增加學生,判斷學號是否有相同,有相同是拋出異常,無相同則繼續(xù)增加,并顯示鏈表、保存數(shù)據(jù)。</p><p> 注:運行程序,先實現(xiàn)鏈表數(shù)據(jù),再按執(zhí)行。</p><p> 修改成績:輸入學號,判斷是否存在,存在則對該學生的成績
42、進行修改;不存在則拋出異常。</p><p> 刪除學生:輸入學號,判斷是否存在,存在則繼續(xù)判斷要求刪除的學生的結(jié)點所在位置,根據(jù)學生的結(jié)點所在位置不同,做不同的操作;不存在則拋出異常。</p><p> 查詢數(shù)據(jù):輸入學號,判斷是否存在,存在則顯示該學生信息;不存在則拋出異常。</p><p> 顯示數(shù)據(jù):顯示鏈表中所有的數(shù)據(jù)。</p><
43、;p> 按學號排序:比較學號大小,學號小的在前,大的在后。</p><p> 按總成績排序:比較總成績大小,總成績大的在前,總成績小的在后。</p><p> 程序設(shè)計過程、調(diào)試過程中所用的測試用例、測試方法,程序運行的結(jié)果</p><p><b> 程序設(shè)計過程</b></p><p> student
44、.cpp中所要設(shè)計的程序:</p><p> bool Student::operator <(Person & per){</p><p> return Score[3]<((Student&)per).Score[3]; //學生設(shè)計</p><p><b> }</b></p&
45、gt;<p> bool Student::operator>=(Person & per){</p><p> return Score[3]>=((Student&)per).Score[3]; //學生設(shè)計</p><p><b> }</b></p><p> void
46、 Student::SwapData(Student * stup){ //學生數(shù)據(jù)交換(學生設(shè)計)</p><p> Student t=*this;</p><p> *this=*stup;</p><p><b> *stup=t;</b></p><p><b> }<
47、;/b></p><p> ofstream & operator<<(ofstream & out,Student * stup) //<<運算符重載輸出至文件</p><p> out.write((char *)stup,sizeof(Student)); //學生設(shè)計</p><p>
48、return out;</p><p><b> }</b></p><p> ostream_withassign & operator<<(ostream_withassign& out,Student* stup){ //<<運算符重載輸出至標準文件</p><p> int i;
49、 //學生設(shè)計</p><p> out<<stup->ID<<"\t"<<stup->Name <<"\t";</p><p> for(i=0;i<4;i++)</p><p> out
50、<<stup->Score[i]<<"\t";</p><p> out<<endl;</p><p> return out; </p><p><b> }</b></p><p> node.cpp中要求設(shè)計的程序:</p>
51、<p> Node::Node(Student* stup){</p><p> Stup=stup; //學生設(shè)計</p><p> Prev=Next=NULL;</p><p><b> }</b></p><p> Node::
52、Node(Node& node){</p><p> // *Stup=*Prev=*Next; //學生設(shè)計</p><p><b> }</b></p><p> Node::~Node(){</p><p> delete Stup;
53、 //學生設(shè)計</p><p><b> }</b></p><p> list.cpp中要求設(shè)計的程序:</p><p> void List::Update(){ //修改學生成績</p><p> // S
54、tudent * stup; //學生設(shè)計</p><p> Node *nodep;</p><p> int id=GetID();</p><p><b> int i;</b></p><p> if((nodep=FindID(id))==NU
55、LL)</p><p><b> throw(1);</b></p><p> nodep->Stup->Score[3]=0;</p><p> for(i=0;i<3;i++)</p><p><b> {</b></p><p> cout&
56、lt;<"Score"<<i;</p><p> cin>>nodep->Stup->Score[i];</p><p> nodep->Stup->Score[3]+=nodep->Stup->Score[i];</p><p><b> }</b>&
57、lt;/p><p> PrintTitle();</p><p> PrintOne(nodep->Stup);</p><p><b> }</b></p><p> void List::Delete(){ //刪除一個學生</p>&
58、lt;p> // Student * stup; //學生設(shè)計</p><p> Node * nodep;</p><p> int id=GetID();</p><p> if((nodep=FindID(id))==NULL)</p><p><b>
59、 throw(1);</b></p><p> if(Tail!=nodep){</p><p> nodep->Next->Prev=nodep->Prev; //刪除中間的結(jié)點</p><p> nodep->Prev->Next=nodep->Next;</p><p
60、><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> nodep->Prev->Next=nodep->Next; //刪除最后一個結(jié)點</p><p> T
61、ail=nodep->Prev;</p><p><b> }</b></p><p> delete nodep;</p><p> PrintList();</p><p><b> }</b></p><p> void List::Query(){
62、 //查詢學生數(shù)據(jù)</p><p> // Student * stup; //學生設(shè)計</p><p> Node *nodep;</p><p> int id=GetID();</p><p> if((node
63、p=FindID(id))==NULL)</p><p> throw(1); </p><p> PrintTitle();</p><p> PrintOne(nodep->Stup);</p>&l
64、t;p><b> }</b></p><p> void List::Insert(Node * nodep){ //在鏈表尾插入一個學生</p><p> Tail->Next =nodep; //學生設(shè)計</p><p> nodep->Prev=Tai
65、l;</p><p> Tail=nodep; </p><p><b> }</b></p><p> void List::SortScore(){ //按總成績排序</p><p> Node * nodef,*nodel=Tai
66、l; //學生設(shè)計</p><p> if(Head!=Tail){</p><p> while(Head->Next!=nodel){</p><p> nodef=Head->Next;</p><p> while(nodef!=nodel){</p><p&
67、gt; if(*(nodef->Stup)<*(nodef->Next->Stup))</p><p> nodef->Stup->SwapData(nodef->Next->Stup);</p><p> nodef=nodef->Next;</p><p><b> }</b>&
68、lt;/p><p> nodel=nodel->Prev;</p><p><b> }</b></p><p> PrintList();</p><p><b> }</b></p><p><b> }</b></p>&
69、lt;p> void List::SaveBin(){ //鏈表數(shù)據(jù)保存在二進制文件</p><p> Node *nodep=Head->Next; //學生設(shè)計</p><p> ofstream outStudent;</p><p> if(Head!=Tail)
70、{</p><p> outStudent.open("Student.dat",ios::binary);</p><p> while(nodep){</p><p> outStudent<<nodep->Stup;</p><p> nodep=nodep->Next;</p&
71、gt;<p><b> }</b></p><p><b> }</b></p><p> outStudent.close();</p><p><b> }</b></p><p> void List::PrintList(){
72、 //顯示鏈表中數(shù)據(jù)</p><p> Node* nodep=Head->Next;</p><p> if(Head!=Tail){</p><p> PrintTitle(); //學生設(shè)計</p><p> while(nodep!=NULL){&
73、lt;/p><p> PrintOne(nodep->Stup);</p><p> nodep=nodep->Next;</p><p><b> }</b></p><p><b> }</b></p><p><b> else</b&
74、gt;</p><p> cout<<"No student"<<endl;</p><p><b> } </b></p><p> main.cpp中要設(shè)計的程序:</p><p> case UPDATE: //
75、修改學生成績</p><p> try{ //學生設(shè)計</p><p> ls.Update();</p><p><b> }</b></p><p> catch(int){</p><p> cout<<"Wrong
76、!This Score is NULL"<<endl;</p><p><b> }</b></p><p><b> break;</b></p><p> case DELETE: //刪除一個學生</p><p>
77、 try{ //學生設(shè)計</p><p> ls.Delete();</p><p><b> }</b></p><p> catch(int){</p><p> cout<<"Wrong!This Student is NULL&quo
78、t;<<endl;</p><p><b> }</b></p><p><b> break;</b></p><p> case QUERY: //查詢一個學生數(shù)據(jù)</p><p> try{
79、 //學生設(shè)計</p><p> ls.Query();</p><p><b> }</b></p><p> catch(int){</p><p> cout<<"Wrong!This Data is NULL"<<endl;</p>
80、<p><b> }</b></p><p><b> break;</b></p><p> case SORTSCORE: //根據(jù)總成績排序</p><p> ls.SortScore(); //學生設(shè)計</p&g
81、t;<p> 調(diào)試過程中所用的測試用例</p><p> 1. 自動生成測試函數(shù):</p><p> 無須手工編輯測試代碼,建立、編輯測試用例在測試用例編輯器中進行。</p><p> 2. 測試用例可視化編輯: </p><p> 使用測試用例編輯器建立、編輯測試用例,VU自動生成代碼,通常只須填入輸入輸出的數(shù)值。&
82、lt;/p><p> 3. 測試用例可用點操作符訪問成員變量,還可以用同樣的語法調(diào)用成員函數(shù)。 </p><p><b> 測試方法</b></p><p> 源程序編制完成后,首先由C++編譯程序build編譯成.obj文件,再由連接程序連接成可執(zhí)行文件。在編譯時,如果源程序存在語法錯誤(errors),則系統(tǒng)不允許連接,直到改正了所有的語
83、法錯誤后,才能進行連接。另外,在編譯時還可能存在另一類錯誤,即警告性錯誤(warnings),這類錯誤一般不影響程序的連接。</p><p> 選擇編譯菜單(Build)對編譯好的源程序進行編譯,若程序編譯沒有發(fā)現(xiàn)錯誤,則該窗口顯示“”,這是可以進行程序的連接;若編譯后存在語法錯誤或警告,該窗口中則顯示兩類錯誤的個數(shù),并列出相應(yīng)的錯誤位置和原因。</p><p> 改正編譯期錯誤的方法
84、和一般原則為:</p><p> 改正錯誤是一般從第一個錯誤開始,然后依次高正后續(xù)的錯誤。因為前面錯誤的出現(xiàn),往往會導致編譯系統(tǒng)在編譯時錯位,把本來正確的語句認為是錯的,也可能把某些語句的錯誤掩蓋掉。所以當改正當前的錯誤后,可能會使錯誤量減少很多,也可能增加很多;</p><p> 根據(jù)情況,每改正一個或幾個錯誤后,應(yīng)重新編譯一下,然后再從第一個錯誤進行改錯,知道所有錯誤都被 改正過來
85、。</p><p> 實踐中發(fā)現(xiàn),往往很小的程序在執(zhí)行時也會出現(xiàn)錯誤。當一個程序可以被連接成功,但執(zhí)行時卻存在不正常現(xiàn)象,如不能得到預期的運行結(jié)果或出現(xiàn)死機等,而一下子很難熬出出錯原因時,可以采取單步跟蹤執(zhí)行命令。</p><p><b> 單步跟蹤執(zhí)行命令:</b></p><p> 單步跟蹤執(zhí)行程序,能夠清楚地看到程序的一步步執(zhí)行過程
86、,從而判斷源程序的執(zhí)行流程是否與事先設(shè)計的流程一致,從中發(fā)現(xiàn)造成死循環(huán)或死機的原因所在。</p><p> 程序調(diào)試完畢,或想取消程序的調(diào)試狀態(tài)回到編輯狀態(tài),可以選擇集成環(huán)境調(diào)試(Debug),即能夠達到目的。</p><p><b> 程序運行的結(jié)果</b></p><p> 程序運行后的菜單顯示</p><p>
87、; “1:add student”界面</p><p> “2:update student”界面</p><p> “3:delete student”界面</p><p> “4:query student”界面</p><p> “5:display student”界面</p><p>
88、“6:sort student by No”界面</p><p> “7:Sort student by score”界面 </p><p> “8:保存數(shù)據(jù)”界面</p><p> 在課程設(shè)計中遇到的問題和解決的方法,還沒有能解決的問題</p><p><b> (一)遇到的問題:</b></
89、p><p> 設(shè)計刪除一個學生的程序后,在程序運行過程中,刪除了所有學生的信息,僅顯示標題,沒有其他學生的信息?同時在刪除學生時,若刪除最后一個學生,則出現(xiàn)提示終止程序?</p><p> 答:(1)刪除一個學生,不是指僅僅刪除這個學生,還包括刪除結(jié)點。</p><p> ?。?)在設(shè)計刪除結(jié)點的同時,還要考慮刪除的是中間的結(jié)點還是最后一個結(jié)點,即if…else…對
90、應(yīng),根據(jù)刪除結(jié)點位置的不同設(shè)計相應(yīng)的程序才行。</p><p> 在修改學生成績和查詢學生數(shù)據(jù)設(shè)計程序過程中,在編譯后顯示無錯誤,但有警告,但在繼續(xù)運行程序中,修改學生成績和查詢學生數(shù)據(jù)不能執(zhí)行?</p><p> 答:編譯后無錯誤即可運行程序,但若想正確執(zhí)行程序,則需要修改源程序,直至源程序既無錯誤又無警告才能實現(xiàn)程序的正常運行及顯示結(jié)果。</p><p>
91、 3. 數(shù)據(jù)交換如何設(shè)計?</p><p> 答:void Student::SwapData(Student * stup){ //學生數(shù)據(jù)交換</p><p> Student t=*this;</p><p> *this=*stup;</p><p><b> *stup=t;&l
92、t;/b></p><p><b> }</b></p><p> 要實現(xiàn)Swap數(shù)據(jù)交換,一定要定義一個中間量。這里要求對*this指針的靈活使用。</p><p> 4.總成績比較大小,為什么編譯后顯示Score無定義?</p><p> 答:若直接寫per.Score[3],則顯示無定義。因為Scor
93、e在Person類里沒定義,它是定義在Student類中的,所以要寫成((Student&)per).Score[3]才能保證編譯無錯誤。</p><p> 5.插入運算符重載輸出至標準文件的程序設(shè)計?</p><p> 答: ostream_withassign& operator<<(ostream_withassign& out,Studen
94、t* stup){ //<<運算符重載輸出至標準文件</p><p><b> int i;</b></p><p> out<<stup->ID<<"\t"<<stup->Name <<"\t";</p><p> for
95、(i=0;i<4;i++)</p><p> out<<stup->Score[i]<<"\t";</p><p> out<<endl;</p><p> return out; </p><p><b> }</b></p>
96、;<p> 使程序運行后顯示的標題是:</p><p> ID Name Score1 Score2 Score3 Score</p><p> ?。ǘ┪茨芙鉀Q的問題:</p><p> 對于指針的前驅(qū)和后繼的理解不清,老是混淆。</p><p> 對文件的輸入與輸出存在問題。</p><
97、;p> 課程設(shè)計的體會和收獲</p><p> 通過這兩周的課程設(shè)計,我完成了一個較大的C++語言面向?qū)ο蟪绦蛟O(shè)計,,以及認真完成了課程設(shè)計報告。</p><p> 回憶這兩周的時間,我收獲很大。首先,我熟練地運用所學的知識編寫程序,并較好地完成,心里很高興;其次,在設(shè)計的過程中遇到一些難題,我會認真地去思考,或者充分利用網(wǎng)絡(luò)資源來尋求幫助,提高獲取信息的能力。如果自己還是解決
98、不了的話,我會向同學和老師求助,在交流中共同進步。</p><p> 對于計算機專業(yè)的大學生來說,積累實戰(zhàn)經(jīng)驗是一項極其重要的內(nèi)容,很可能成為將來就業(yè)的敲門磚。而課程設(shè)計就是積累實戰(zhàn)經(jīng)驗的一個過程,雖然程序的規(guī)模并不大,但能夠讓我們盡早地認識軟件開發(fā)的重要性和必要性,為將來的就業(yè)打下堅實的基礎(chǔ)。</p><p> 經(jīng)過兩個星期的上機實踐學習,使我對C++語言有了更進一步的認識和了解,要
99、想學好它,重在實踐,要通過不斷的上機操作才能更好地學習它。通過實踐,我也發(fā)現(xiàn)我的好多不足之處。首先是自己編程粗心大意,經(jīng)常出錯,通過學習也有所改進;再有對C++語言的一些函數(shù)不太了解,還有對函數(shù)調(diào)用的正確使用不夠熟悉,以及對C++語言中經(jīng)常出現(xiàn)的錯誤也不了解,通過實踐,使我在這幾個方面的認識有所提高。這次的課程設(shè)計讓我認識到很多C++的內(nèi)在要素:</p><p> 程序設(shè)計語言是程序設(shè)計的工具。這是我通過兩周課
100、程設(shè)計深深體會的一點,并且發(fā)現(xiàn)如果想有效的進行程序設(shè)計,正確地應(yīng)用程序設(shè)計語言表達算法,必須準確的運用程序設(shè)計語言,掌握其語法知識。</p><p> 學習課程設(shè)計必須重視時間環(huán)節(jié),多讀程序,多編寫程序,多上機實踐。這次的課程設(shè)計就使得課堂教學、式樣和實踐之間的關(guān)系更加緊密,對我的學習有著很深的影響。</p><p> 我發(fā)現(xiàn)C++并不是純粹的面向?qū)ο蟮恼Z言,它是一種混合語言。學習C+
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 面向?qū)ο蟪绦蛟O(shè)計課程設(shè)計
- 面向?qū)ο蟪绦蛟O(shè)計課程設(shè)計
- 面向?qū)ο蟪绦蛟O(shè)計課程設(shè)計
- 面向?qū)ο蟪绦蛟O(shè)計課程設(shè)計報告
- 面向?qū)ο蟪绦蛟O(shè)計課程設(shè)計報告
- 《面向?qū)ο蟮某绦蛟O(shè)計》課程設(shè)計
- java課程設(shè)計--java面向?qū)ο蟪绦蛟O(shè)計課程設(shè)計
- 《面向?qū)ο蟪绦蛟O(shè)計》課程設(shè)計---java日歷
- 《面向?qū)ο蟪绦蛟O(shè)計》課程設(shè)計java日歷
- 面向?qū)ο蟮某绦蛟O(shè)計課程設(shè)計報告
- c++面向?qū)ο蟪绦蛟O(shè)計課程設(shè)計報告
- 面向?qū)ο蟪绦蛟O(shè)計課程設(shè)計——計算器
- 面向?qū)ο蟪绦蛟O(shè)計課程設(shè)計--火車訂票系統(tǒng)
- 面向?qū)ο蟪绦蛟O(shè)計學生選課系統(tǒng)課程設(shè)計報告
- 面向?qū)ο蟪绦蛟O(shè)計課程設(shè)計任務(wù)書
- java面向?qū)ο蟪绦蛟O(shè)計課程設(shè)計--學生信息管理系統(tǒng)程序設(shè)計
- c++課程設(shè)計-- c++面向?qū)ο蟪绦蛟O(shè)計
- 面向?qū)ο蟪绦蛟O(shè)計課程設(shè)計任務(wù)書
- 面向?qū)ο蟪绦蛟O(shè)計課程設(shè)計--分數(shù)計算器
- 《vb面向?qū)ο蟮某绦蛟O(shè)計》校本課程設(shè)計
評論
0/150
提交評論