版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 課程實訓(xùn)報告</b></p><p> 課程名稱:控制臺小型應(yīng)用實訓(xùn) </p><p> 實訓(xùn)題目:學(xué)生成績管理系統(tǒng) </p><p> 專 業(yè):軟件技術(shù) 班 級:2班 </p><p> 學(xué)生姓名:學(xué)
2、 號:1102847 </p><p> 指導(dǎo)教師:職 稱:講師 </p><p> 部 門:計算機與電子工程系 </p><p> 起止日期:2012年6月 1日 至2012年7月1 日</p><p> 教務(wù)處制</p><p>
3、 目 錄</p><p> 一、課程設(shè)計簡介3</p><p><b> 二、設(shè)計方案4</b></p><p> 三、具體設(shè)計及截屏圖7</p><p><b> ?。ㄒ唬╊惖脑O(shè)計7</b></p><p><b> 1、學(xué)生類
4、7</b></p><p><b> 2、學(xué)生信息類8</b></p><p><b> (二)界面設(shè)計9</b></p><p> 1、登陸界面的設(shè)計9</p><p> 2、主界面的設(shè)計10</p><p> 3、分界面:增加學(xué)生信息的設(shè)計
5、11</p><p> 4、分界面:顯示學(xué)生信息的設(shè)計12</p><p> 5、分界面:排序統(tǒng)計信息的設(shè)計12</p><p> 6、分界面:查找學(xué)生信息的設(shè)計13</p><p> 7、分界面:刪除學(xué)生信息的設(shè)計15</p><p> 8、分界面:修改學(xué)生信息的設(shè)計16</p>
6、<p> 9、分界面:修改學(xué)生信息的設(shè)計16</p><p> 10、分界面:安全退出系統(tǒng)的設(shè)計17</p><p><b> 四、代碼分析18</b></p><p> 五、測 試19</p><p> 六、課題總結(jié)與體會25</p><p><b>
7、; 七、參考文獻25</b></p><p><b> 八、源代碼25</b></p><p><b> 一、課程設(shè)計簡介</b></p><p> 學(xué)生成績管理系統(tǒng)是根據(jù)某學(xué)校對學(xué)生成績管理的實際情況進行編寫的,主要目的是為了方便學(xué)校對學(xué)生成績的實際情況進行集中的查詢與管理工作,以提高對整個學(xué)校的
8、學(xué)生成績管理工作。</p><p> 操作人員對學(xué)生的信息需要進行選擇,系統(tǒng)必須實現(xiàn)相應(yīng)的增加、刪除、修改、查詢、排序和輸出功能,使操作人員更加方便的進行操作。</p><p> 主要實現(xiàn)的功能包括:增加學(xué)生信息、顯示學(xué)生信息、排序統(tǒng)計信息、查找學(xué)生信息、刪除學(xué)生信息、修改學(xué)生信息、保存學(xué)生信息、安全退出系統(tǒng)。</p><p><b> 組員的分工情
9、況:</b></p><p> 姚群:安全退出函數(shù)和顯示學(xué)生信息函數(shù);</p><p> 吳英霏:查找學(xué)生信息函數(shù);</p><p> 林春節(jié):刪除學(xué)生信息函數(shù);</p><p> 鄧園媛:保存學(xué)生信息函數(shù);</p><p> 楊孝虎:增加學(xué)生信息函數(shù);</p><p>
10、 唐?。号判蚪y(tǒng)計成績函數(shù);</p><p> 我主要負責(zé)的部分是:修改學(xué)生信息函數(shù)。</p><p><b> 二、設(shè)計方案</b></p><p> 按照需求分析所得,學(xué)生成績管理系統(tǒng)有以下幾個功能模塊:</p><p> 1.增加學(xué)生信息函數(shù);</p><p> 輸入姓名、學(xué)號、C課
11、程成績、數(shù)學(xué)成績、英語成績來增加學(xué)生信息。</p><p> 2.顯示學(xué)生信息函數(shù);</p><p> 顯示出增加的學(xué)生信息。</p><p> 3.排序統(tǒng)計信息函數(shù);</p><p> 按照學(xué)生的總成績來進行從大到小的排序。</p><p> 4.查找學(xué)生信息函數(shù);</p><p>
12、 按學(xué)生的姓名、學(xué)號和課程成績來進行查找。</p><p> 5.刪除學(xué)生信息函數(shù);</p><p> 按照學(xué)生的姓名和學(xué)號來進行刪除操作。</p><p> 6.修改學(xué)生信息函數(shù);</p><p> 可以對學(xué)生的姓名和學(xué)號進行修改。</p><p> 7.保存學(xué)生信息函數(shù);</p><
13、p> 保存所有學(xué)生的信息到“sort.txt”文件中。</p><p><b> 8.安全退出函數(shù);</b></p><p> 安全退出學(xué)生成績管理系統(tǒng)。</p><p> 由上述需求分析可得,系統(tǒng)的功能模塊圖如圖2-1所示。</p><p> 圖2-1 功能模塊結(jié)構(gòu)圖</p><p&
14、gt; 軟件功能流程圖如下圖2-2所示:</p><p> 圖2-2 軟件功能流程圖</p><p> 三、具體設(shè)計及截屏圖</p><p><b> ?。ㄒ唬╊惖脑O(shè)計</b></p><p> 根據(jù)上述需求分析,有學(xué)生類和學(xué)生信息類。</p><p><b> 1、學(xué)生類&l
15、t;/b></p><p> Student類中成員:</p><p><b> Public:</b></p><p> char name[20];//姓名</p><p> char Id[20];//學(xué)號</p><p> float Cnum;//C課程得分</p&
16、gt;<p> float Mnum;//數(shù)學(xué)課程得分</p><p> float Enum;//英語課程得分</p><p> float sum;//總分</p><p> float average;//計算平均成績</p><p> Student * Next;</p><p>
17、void Input();//輸入數(shù)據(jù)</p><p> void ReadFile(istream & in);//提取輸入的數(shù)據(jù)</p><p> void Show();//輸出信息</p><p> 學(xué)生類的UML圖如(圖2-3)所示:</p><p> 圖2-3 學(xué)生類Student</p><p
18、><b> 2、學(xué)生信息類</b></p><p> Student類中成員:</p><p><b> private:</b></p><p> Student *Head,*End;</p><p> ifstream in;</p><p> ofs
19、tream out;</p><p><b> public:</b></p><p> StudentMessage();</p><p> virtual ~StudentMessage();</p><p> void ShowMenu();//菜單</p><p> void F
20、ind();//查找函數(shù)</p><p> void Save();//保存函數(shù)</p><p> void ModifyItem();//修改信息</p><p> void RemoveItem();//刪除信息</p><p> void Swap(Student *,Student *);//交換兩個combox變量的數(shù)據(jù)域&
21、lt;/p><p> void Sort();//對當前鏈表進行排序</p><p> void tuichu();//退出函數(shù)</p><p> int ListCount();//統(tǒng)計當前鏈表的記錄總數(shù),返回一個整數(shù)</p><p> void Display();//輸出信息</p><p> void A
22、ddItem();//增加學(xué)生信息</p><p> Student *FindID(char * Id);</p><p> Student *FindItem(char * name);</p><p> 學(xué)生信息類的UML圖如(圖2-4)所示:</p><p> 圖2-4 學(xué)生信息類StudentMessage</p>
23、;<p><b> ?。ǘ┙缑嬖O(shè)計</b></p><p><b> 1、登陸界面的設(shè)計</b></p><p> 登陸界面中顯示提出輸入用戶名和密碼。學(xué)生成績管理系統(tǒng)登陸界面如圖2-5所示。</p><p><b> 圖2-5 登陸界面</b></p><p
24、><b> 2、主界面的設(shè)計</b></p><p> 主界面中顯示學(xué)生成績管理系統(tǒng)的全部信息,增加學(xué)生信息,顯示學(xué)生信息,排序統(tǒng)計信息,查找學(xué)生信息,刪除學(xué)生信息,修改學(xué)生信息,保存學(xué)生信息,安全退出系統(tǒng)。學(xué)生成績管理系統(tǒng)主界面如圖2-6所示。</p><p><b> 圖2-6 主界面</b></p><p&g
25、t; 3、分界面:增加學(xué)生信息的設(shè)計</p><p> 提示輸入學(xué)生姓名,學(xué)生學(xué)號,C課程的成績,數(shù)學(xué)成績,英語成績。增加學(xué)生信息如圖2-7所示。</p><p> 圖2-7 增加學(xué)生信息</p><p> 4、分界面:顯示學(xué)生信息的設(shè)計</p><p> 圖2-8 顯示學(xué)生信息</p><p> 5、
26、分界面:排序統(tǒng)計信息的設(shè)計</p><p> 按從大到小的順序排序。如圖2-9所示。</p><p> 圖2-9 排序統(tǒng)計信息</p><p> 6、分界面:查找學(xué)生信息的設(shè)計</p><p> 提示需要按什么信息去查找。如圖2-10所示。</p><p><b> 圖2-10</b>
27、</p><p> 按學(xué)生姓名查找,如圖2-11所示。</p><p> 圖2-11 按學(xué)生姓名查找</p><p> 按學(xué)生學(xué)號查找,如圖2-12所示。</p><p> 圖2-12 按學(xué)生學(xué)號查找</p><p> 查找學(xué)生課程成績,如圖2-13所示。</p><p> 圖2
28、-13 查找學(xué)生課程成績</p><p> 7、分界面:刪除學(xué)生信息的設(shè)計</p><p> 提示按什么信息去刪除學(xué)生的信息,如圖2-14所示。</p><p><b> 圖 2-14</b></p><p> 8、分界面:修改學(xué)生信息的設(shè)計</p><p> 提示按什么信息去修改學(xué)生
29、的信息,如圖2-15所示。</p><p><b> 圖 2-15</b></p><p> 9、分界面:修改學(xué)生信息的設(shè)計</p><p><b> 如圖2-16所示。</b></p><p><b> 圖 2-16</b></p><p>
30、 10、分界面:安全退出系統(tǒng)的設(shè)計</p><p><b> 如圖2-17所示。</b></p><p><b> 圖 2-17</b></p><p><b> 四、代碼分析</b></p><p><b> 修改學(xué)生的信息</b></p&
31、gt;<p> 修改學(xué)生的信息,按要求提示輸入要刪除學(xué)生的姓名或?qū)W號,定義一個指向鏈表第一個節(jié)點的指針p。如果指針創(chuàng)建成功,開始用if語句實現(xiàn)p指向的節(jié)點的學(xué)生的姓名或?qū)W號與存在的姓名或?qū)W號的比較。如果相同,輸出該學(xué)生的信息并進行修改;如果沒有相同的,提示沒有找到該學(xué)生的信息。</p><p> #include <conio.h></p><p> #in
32、clude "StudentMessage.h"</p><p> #include "Student.h"</p><p> #include "string.h"</p><p> #include "windows.h"</p><p><b&g
33、t; //修改信息</b></p><p> void StudentMessage::ModifyItem()</p><p><b> {</b></p><p> char name[20];</p><p> char Id[10];</p><p><b>
34、; int y;</b></p><p> Student * p=NULL;</p><p> cout<<"\n\t\t*********************************"<<endl;</p><p> cout<<"\t\t※ 1.按學(xué)生的姓名修改\n\t\
35、t※ 2.按學(xué)生的學(xué)號修改\t\t"<<endl;</p><p> cout<<"\t\t*********************************\n請選擇:";</p><p><b> cin>>y;</b></p><p><b> switch
36、(y)</b></p><p><b> {</b></p><p><b> case 1:</b></p><p> cout<<"\t\t請輸入要修改的學(xué)生的姓名:";</p><p> cin>>name;</p>
37、<p> if(p=FindItem(name))</p><p><b> {</b></p><p> cout<<"\t\t已找到學(xué)生的信息,請輸入新的信息!"<<endl;</p><p> p=p->Next;</p><p> cout&
38、lt;<"\t"<<"姓名"<<"\t"<<"學(xué)號"<<"\t"<<"C++"<<"\t"<<"數(shù)學(xué)"<<"\t"<<"外語"
39、<<"\t"<<"總成績"<<"\t"<<"平均成績"<<endl;</p><p> p->Show();</p><p> cout<<"\t\t請輸入新的學(xué)生的姓名:"; </p>&l
40、t;p> cin>>p->name;</p><p> cout<<"修改成功!"<<endl;</p><p> cout<<"輸入任意字符!繼續(xù)……"<<endl;</p><p><b> getch();</b><
41、;/p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> cout<<"\t\t沒有找到!"<<endl;</p><p>
42、 cout<<"輸入任意字符!繼續(xù)……"<<endl;</p><p><b> getch();</b></p><p><b> }break;</b></p><p><b> case 2:</b></p><p>
43、cout<<"\t\t請輸入要修改的學(xué)生的學(xué)號:";</p><p><b> cin>>Id;</b></p><p> if(p=FindID(Id))</p><p><b> {</b></p><p> cout<<"
44、;\t\t已找到學(xué)生的信息,請輸入新的信息!"<<endl;</p><p> p=p->Next;</p><p> cout<<"\t"<<"姓名"<<"\t"<<"學(xué)號"<<"\t"<&l
45、t;"C++"<<"\t"<<"數(shù)學(xué)"<<"\t"<<"外語"<<"\t"<<"總成績"<<"\t"<<"平均成績"<<endl;</p>
46、<p> p->Show();</p><p> cout<<"\t\t請輸入新的學(xué)生的學(xué)號:";</p><p> cin>>p->Id;</p><p> cout<<"修改成功!"<<endl;</p><p> c
47、out<<"輸入任意字符!繼續(xù)……"<<endl;</p><p><b> getch();</b></p><p><b> }</b></p><p><b> else</b></p><p><b> {&
48、lt;/b></p><p> cout<<"\t\t沒有找到!"<<endl;</p><p> cout<<"輸入任意字符!繼續(xù)……"<<endl;</p><p><b> getch();</b></p><p>
49、<b> }break;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> 五、測 試</b></p><p> 程序測試是將編制的程序投入實際運行前,用手工或編譯程序等方法進行測
50、試,修正語法錯誤和邏輯錯誤的過程。</p><p><b> 原程序:</b></p><p><b> //修改信息</b></p><p> #include <conio.h></p><p> #include "StudentMessage.h"&l
51、t;/p><p> #include "Student.h"</p><p> #include "string.h"</p><p> #include "windows.h"</p><p> void StudentMessage::ModifyItem()</p&g
52、t;<p><b> {</b></p><p> char name[20];</p><p> char Id[10];</p><p><b> int y;</b></p><p> Student * p=NULL;</p><p> co
53、ut<<"\n\t\t*********************************"<<endl;</p><p> cout<<"\t\t※ 1.按學(xué)生的姓名修改\n\t\t※ 2.按學(xué)生的學(xué)號修改\t\t"<<endl;</p><p> cout<<"\t\t***
54、******************************\n請選擇:";</p><p><b> cin>>y;</b></p><p><b> switch(y)</b></p><p><b> {</b></p><p><b&g
55、t; case 1:</b></p><p> cout<<"\t\t請輸入要修改的學(xué)生的姓名:";</p><p> cin>>name;</p><p> if(p=FindItem(name))</p><p><b> {</b></p>
56、;<p> cout<<"\t\t已找到學(xué)生的信息,請輸入新的信息!"<<endl;</p><p> cout<<"\t"<<"姓名"<<"\t"<<"學(xué)號"<<"\t"<<&qu
57、ot;C++"<<"\t"<<"數(shù)學(xué)"<<"\t"<<"外語"<<"\t"<<"總成績"<<"\t"<<"平均成績"<<endl;</p><
58、p> p->Show();</p><p> cout<<"\t\t請輸入新的學(xué)生的姓名:"; </p><p> cin>>p->name;</p><p> cout<<"修改成功!"<<endl;</p><p> c
59、out<<"輸入任意字符!繼續(xù)……"<<endl;</p><p><b> getch();</b></p><p><b> }</b></p><p><b> else</b></p><p><b> {&
60、lt;/b></p><p> cout<<"\t\t沒有找到!"<<endl;</p><p> cout<<"輸入任意字符!繼續(xù)……"<<endl;</p><p><b> getch();</b></p><p>
61、<b> }break;</b></p><p><b> case 2:</b></p><p> cout<<"\t\t請輸入要修改的學(xué)生的學(xué)號:";</p><p><b> cin>>Id;</b></p><p>
62、 if(p=FindID(Id))</p><p><b> {</b></p><p> cout<<"\t\t已找到學(xué)生的信息,請輸入新的信息!"<<endl;</p><p> cout<<"\t"<<"姓名"<<
63、"\t"<<"學(xué)號"<<"\t"<<"C++"<<"\t"<<"數(shù)學(xué)"<<"\t"<<"外語"<<"\t"<<"總成績"<&l
64、t;"\t"<<"平均成績"<<endl;</p><p> p->Show();</p><p> cout<<"\t\t請輸入新的學(xué)生的學(xué)號:";</p><p> cin>>p->Id;</p><p> co
65、ut<<"修改成功!"<<endl;</p><p> cout<<"輸入任意字符!繼續(xù)……"<<endl;</p><p><b> getch();</b></p><p><b> }</b></p><
66、p><b> else</b></p><p><b> {</b></p><p> cout<<"\t\t沒有找到!"<<endl;</p><p> cout<<"輸入任意字符!繼續(xù)……"<<endl;</p&
67、gt;<p><b> getch();</b></p><p><b> }break;</b></p><p><b> }</b></p><p><b> }</b></p><p> 編譯成功后開始運行,選擇修改,輸入要修
68、改的學(xué)生的姓名或?qū)W號后,找到的不是要找的這個學(xué)生的姓名或?qū)W號而是上一個學(xué)生的姓名或?qū)W號,進行修改過后,就能準確的找到要找的學(xué)生信息。</p><p><b> 修改后的代碼:</b></p><p><b> //修改信息</b></p><p> #include <conio.h></p>
69、<p> #include "StudentMessage.h"</p><p> #include "Student.h"</p><p> #include "string.h"</p><p> #include "windows.h"</p>
70、<p> void StudentMessage::ModifyItem()</p><p><b> {</b></p><p> char name[20];</p><p> char Id[10];</p><p><b> int y;</b></p>&
71、lt;p> Student * p=NULL;</p><p> cout<<"\n\t\t*********************************"<<endl;</p><p> cout<<"\t\t※ 1.按學(xué)生的姓名修改\n\t\t※ 2.按學(xué)生的學(xué)號修改\t\t"<<e
72、ndl;</p><p> cout<<"\t\t*********************************\n請選擇:";</p><p><b> cin>>y;</b></p><p><b> switch(y)</b></p><p&g
73、t;<b> {</b></p><p><b> case 1:</b></p><p> cout<<"\t\t請輸入要修改的學(xué)生的姓名:";</p><p> cin>>name;</p><p> if(p=FindItem(name))
74、</p><p><b> {</b></p><p> cout<<"\t\t已找到學(xué)生的信息,請輸入新的信息!"<<endl;</p><p> p=p->Next;</p><p> cout<<"\t"<<&qu
75、ot;姓名"<<"\t"<<"學(xué)號"<<"\t"<<"C++"<<"\t"<<"數(shù)學(xué)"<<"\t"<<"外語"<<"\t"<<&q
76、uot;總成績"<<"\t"<<"平均成績"<<endl;</p><p> p->Show();</p><p> cout<<"\t\t請輸入新的學(xué)生的姓名:"; </p><p> cin>>p->name;&
77、lt;/p><p> cout<<"修改成功!"<<endl;</p><p> cout<<"輸入任意字符!繼續(xù)……"<<endl;</p><p><b> getch();</b></p><p><b> }&l
78、t;/b></p><p><b> else</b></p><p><b> {</b></p><p> cout<<"\t\t沒有找到!"<<endl;</p><p> cout<<"輸入任意字符!繼續(xù)……&q
79、uot;<<endl;</p><p><b> getch();</b></p><p><b> }break;</b></p><p><b> case 2:</b></p><p> cout<<"\t\t請輸入要修改的學(xué)生的
80、學(xué)號:";</p><p><b> cin>>Id;</b></p><p> if(p=FindID(Id))</p><p><b> {</b></p><p> cout<<"\t\t已找到學(xué)生的信息,請輸入新的信息!"<
81、<endl;</p><p> p=p->Next;</p><p> cout<<"\t"<<"姓名"<<"\t"<<"學(xué)號"<<"\t"<<"C++"<<"\
82、t"<<"數(shù)學(xué)"<<"\t"<<"外語"<<"\t"<<"總成績"<<"\t"<<"平均成績"<<endl;</p><p> p->Show();</p&
83、gt;<p> cout<<"\t\t請輸入新的學(xué)生的學(xué)號:";</p><p> cin>>p->Id;</p><p> cout<<"修改成功!"<<endl;</p><p> cout<<"輸入任意字符!繼續(xù)……&quo
84、t;<<endl;</p><p><b> getch();</b></p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p>
85、cout<<"\t\t沒有找到!"<<endl;</p><p> cout<<"輸入任意字符!繼續(xù)……"<<endl;</p><p><b> getch();</b></p><p><b> }break;</b><
86、/p><p><b> }</b></p><p><b> }</b></p><p><b> 六、課題總結(jié)與體會</b></p><p> 忙碌了幾個星期,在大家的共同努力下,我們總算將此程序設(shè)計出來。盡管不是自己獨立完成,但仍然很高興,因為在設(shè)計的過程中,讓我了解到
87、要設(shè)計一個程序,查找資料是至關(guān)重要的,在他人的基礎(chǔ)上,再根據(jù)自己所學(xué)進行修改與調(diào)試,最后設(shè)計出自己想要的程序,這過程艱辛,但只要你持之以恒,成功指日可待。</p><p> 另外平時扎實的基礎(chǔ)也很關(guān)鍵,因為如果你平時學(xué)得就不怎么樣,那么你面對這么一個比較有難度的程序,你可能會望而卻步,看他人的程序都是個難點,更別說讓你自己去設(shè)計。為了解決此。類問題,最好就是多向同學(xué),老師請教,不要怕難為情。尤其是老師,評他們多
88、年的編寫程序的經(jīng)驗,要解決我們的問題,對他們來說只是小問題。</p><p> 很感謝這次的課程設(shè)計,它使我更加深刻地體會到多看專業(yè)書的重要性,只有掌握了一定量的專業(yè)知識才能得心應(yīng)手地解決諸多問題;另外,做任何事都要有耐心,不要一遇到困難就退縮。</p><p> 總之,這次設(shè)計程序讓我受益良多,我會好好珍惜像這種難得的機會。</p><p><b>
89、 七、參考文獻</b></p><p> 【1】《C++程序設(shè)計實例與操作》</p><p> 【2】www.baidu.com</p><p><b> 八、源代碼</b></p><p> //main.cpp</p><p> #include "iostr
90、eam.h"</p><p> #include "windows.h"</p><p> #include "string.h"</p><p> #include "Student.h"</p><p> #include "StudentMessag
91、e.h"</p><p> #include "conio.h"</p><p> void login();//登陸界面</p><p> void main()</p><p><b> {</b></p><p><b> login();&
92、lt;/b></p><p> system("color 3e"); //設(shè)置系統(tǒng)背景色和前景色</p><p> int x,i=0;</p><p> bool quit=false; </p><p> cout<<"\t\t§§§§
93、167;§§§§§§§§§§§§§§§§§§§§§"<<endl;</p><p> for(i=0;i<3;i++)</p><p> cout&l
94、t;<"\t\t◎\t\t\t\t\t\t ◎"<<endl;</p><p> cout<<"\t\t◎★★★★【 歡迎進入學(xué)生成績管理系統(tǒng) 】★★★★◎"<<endl;</p><p> for(i=0;i<3;i++)</p><p> cout<<
95、"\t\t◎\t\t\t\t\t\t ◎"<<endl;</p><p> cout<<"\t\t§§§§§§§§§§§§§§§§§§§§§
96、7;§§§§\n"<<endl;</p><p> cout<<"按任意鍵開始……"<<endl;</p><p> Sleep(1500);</p><p> system("cls");</p><p>&l
97、t;b> getch();</b></p><p> StudentMessage Grade;</p><p> while(!quit)</p><p><b> {</b></p><p> system("cls");</p><p> G
98、rade.ShowMenu();</p><p><b> cin>>x;</b></p><p><b> switch(x)</b></p><p><b> {</b></p><p> case 0:Grade.tuichu();</p>
99、<p> quit=true;break;</p><p> case 1:Grade.AddItem();break;</p><p> case 2:Grade.Display();break;</p><p> case 3:Grade.Sort();break;</p><p> case 4:Grade.Fi
100、nd();break;</p><p> case 5:Grade.RemoveItem();break;</p><p> case 6:Grade.ModifyItem();break;</p><p> case 7:Grade.Save();break;</p><p><b> }</b></p&
101、gt;<p><b> }</b></p><p><b> }</b></p><p> //Student.h</p><p> class Student </p><p><b> { </b></p><p>&l
102、t;b> public:</b></p><p> char name[20];</p><p> char Id[20];</p><p> float Cnum; //C課程得分</p><p> float Mnum; //數(shù)學(xué)課程得分</p><p> fl
103、oat Enum; //英語課程得分</p><p> float sum; //總分</p><p> float average;//計算平均成績</p><p> Student * Next;</p><p> void Input();//輸入數(shù)據(jù)</p><p> voi
104、d ReadFile(istream & in);//提取輸入的數(shù)據(jù)</p><p> void Show();//輸出信息</p><p><b> };</b></p><p> // Student.cpp</p><p> #include "Student.h"</p&
105、gt;<p> #include "iostream.h"</p><p> void Student::Input()//輸入數(shù)據(jù)</p><p><b> {</b></p><p> cout<<"\t\t請輸入學(xué)生的姓名:"; </p><p
106、> cin>>name;</p><p> cout<<"\t\t請輸入學(xué)生的學(xué)號:"; </p><p><b> cin>>Id;</b></p><p> cout<<"\t\t請輸入C課程的成績:"; </p><
107、;p> cin>>Cnum; </p><p> cout<<"\t\t請輸入數(shù)學(xué)課程的成績:"; </p><p> cin>>Mnum;</p><p> cout<<"\t\t請輸入英語課程的成績:"; </p><p>
108、; cin>>Enum;</p><p> sum=Cnum+Mnum+Enum;</p><p> average=sum/3;</p><p><b> }</b></p><p> void Student::ReadFile(istream & in)//提取輸入的數(shù)據(jù)</p&
109、gt;<p><b> {</b></p><p> in>>name>>Id>>Cnum>>Mnum>>Enum>>sum>>average;</p><p><b> }</b></p><p> void Stu
110、dent::Show()//輸出信息</p><p><b> {</b></p><p> cout<<"\t"<<name<<"\t"<<Id<<"\t"<<Cnum<<"\t"<<Mn
111、um<<"\t"<<Enum<<"\t"<<sum<<"\t"<<average<<endl;</p><p><b> }</b></p><p> //StudentMessage.h</p><p
112、> class StudentMessage </p><p><b> {</b></p><p><b> private:</b></p><p> Student *Head,*End;</p><p> ifstream in;</p><p>
113、 ofstream out;</p><p><b> public:</b></p><p> StudentMessage();</p><p> virtual ~StudentMessage();</p><p> void ShowMenu();//菜單</p><p> vo
114、id Find();//查找函數(shù)</p><p> void Save();//保存函數(shù)</p><p> void ModifyItem();//修改信息</p><p> void RemoveItem();//刪除信息</p><p> void Swap(Student *,Student *);//交換兩個combox變量的
115、數(shù)據(jù)域</p><p> void Sort();//對當前鏈表進行排序</p><p> void tuichu();//退出函數(shù)</p><p> int ListCount();//統(tǒng)計當前鏈表的記錄總數(shù),返回一個整數(shù)</p><p> void Display();//輸出信息</p><p> vo
116、id AddItem();//增加學(xué)生信息</p><p> Student *FindID(char * Id);</p><p> Student *FindItem(char * name);</p><p><b> };</b></p><p> //StudentMessage.cpp</p&g
117、t;<p> class StudentMessage </p><p><b> {</b></p><p><b> private:</b></p><p> Student *Head,*End;</p><p> ifstream in;</p>&
118、lt;p> ofstream out;</p><p><b> public:</b></p><p> StudentMessage();</p><p> virtual ~StudentMessage();</p><p> void ShowMenu();//菜單</p><
119、p> void Find();//查找函數(shù)</p><p> void Save();//保存函數(shù)</p><p> void ModifyItem();//修改信息</p><p> void RemoveItem();//刪除信息</p><p> void Swap(Student *,Student *);//交換兩個
120、combox變量的數(shù)據(jù)域</p><p> void Sort();//對當前鏈表進行排序</p><p> void tuichu();//退出函數(shù)</p><p> int ListCount();//統(tǒng)計當前鏈表的記錄總數(shù),返回一個整數(shù)</p><p> void Display();//輸出信息</p><
121、p> void AddItem();//增加學(xué)生信息</p><p> Student *FindID(char * Id);</p><p> Student *FindItem(char * name);</p><p><b> };</b></p><p> //login.cpp</p&g
122、t;<p> #include "iostream.h"</p><p> #include "windows.h"</p><p> #include "string.h"</p><p> #include "stdio.h"</p><p&
123、gt; #include "conio.h"</p><p> void login()</p><p><b> {</b></p><p> system("color 8e"); </p><p> char username[10]; //保存用戶名</
124、p><p> char password[8]; //保存密碼</p><p> int j,x;//循環(huán)變量</p><p> int count = 0; //統(tǒng)計登錄失敗的次數(shù)</p><p><b> do{</b></p><p> cout<<"\n
125、\n\n"<<"\t\t\t"<<"學(xué) 生 成 績 管 理 系 統(tǒng) 平 臺"<<endl;</p><p> cout<<"\n"<<"\t"<<"項 目 成 員:"<<"陳虹霓 姚群 林春節(jié) 吳英霏 鄧園媛
126、楊孝虎 唐印"<<endl;</p><p> cout<<"\n"<<"\t"<<"開 發(fā) 周 期:"<<"2012年6月1日"<<"-"<<"2012年7月1日"<<endl;<
127、/p><p> cout<<"\n\n"<<"\t\t\t\t\t\t\t"<<"重慶工商職業(yè)學(xué)院"<<endl;</p><p> cout<<"\n"<<" "<<"──────────────
128、───────────────────────"<<endl;</p><p> cout<<"\n"<<" "<<"〖用戶登錄〗"<<endl;</p><p> cout<<"\n\n"<<"\t
129、\t"<<"用 戶 名:"<<endl;</p><p> fflush(stdin); //清空輸入緩沖區(qū)</p><p> cin>>username;//記錄用戶輸入的內(nèi)容</p><p> cout<<"\n\n\t\t"<<"密
130、 碼:"<<endl;</p><p> fflush(stdin); //清空輸入緩沖區(qū)</p><p> for(x=0;x<8;x++)//記錄用戶輸入的密碼</p><p><b> {</b></p><p> password[x]=getch();</p>
131、;<p> putchar('*');</p><p><b> }</b></p><p> password[7]='\0';</p><p> //驗證用戶名和密碼是否正確</p><p> if(strcmp(username, "chen&quo
132、t;) ==0 && strcmp(password, "1102847") == 0||strcmp(username, "yao") ==0 && strcmp(password, "1102849") == 0</p><p> ||strcmp(username, "lin") ==0 &am
133、p;& strcmp(password, "1102843") == 0||strcmp(username, "wu") ==0 && strcmp(password, "1102878") == 0</p><p> ||strcmp(username, "deng") ==0 && str
134、cmp(password, "1102873") == 0||strcmp(username, "yang") ==0 && strcmp(password, "1102863") == 0</p><p> ||strcmp(username, "tang") ==0 && strcmp(passw
135、ord, "1102880") == 0)</p><p> //如果用戶名與密碼都等于"admin"則進入系統(tǒng)的主界面</p><p><b> {</b></p><p> system("cls");</p><p> cout<<&q
136、uot;\n\n\n\n\n\t\t\t\t"<<"正在登錄學(xué)生成績管理系統(tǒng),請稍后!"<<endl;</p><p> for(j=0; j<10; j++)</p><p><b> {</b></p><p> Sleep(200);</p><p>
137、; putchar('>');</p><p><b> }</b></p><p> system("cls");</p><p> Sleep(2000);</p><p><b> break;</b></p><p>
138、;<b> }</b></p><p><b> else </b></p><p><b> {</b></p><p> system("cls");</p><p> cout<<"\n\n\n\n\n\t\t\t\t&
139、quot;<<">_<對不起,您輸入的用戶名或密碼錯誤!";</p><p> Sleep(1500);</p><p><b> count++;</b></p><p> system("cls");</p><p><b> }<
140、;/b></p><p> if(count >= 3)//當錯誤的次數(shù)超過三次,系統(tǒng)自動退出</p><p><b> {</b></p><p> cout<<"\n\n\t\t\t"<<"提示:您輸入錯誤的次數(shù)太多,請稍后再試!"<<endl;&
141、lt;/p><p><b> exit(0);</b></p><p><b> }</b></p><p> }while(1);</p><p><b> }</b></p><p> //Find.cpp</p><p&
142、gt; #include <conio.h></p><p> #include "StudentMessage.h"</p><p> #include "Student.h"</p><p> #include "string.h"</p><p> #in
143、clude "windows.h"</p><p><b> //查找函數(shù)</b></p><p> void StudentMessage::Find()</p><p><b> {</b></p><p> char name[20] ,Id[10];</p&
144、gt;<p><b> int x;</b></p><p><b> int z;</b></p><p> Student * p=NULL;</p><p> cout<<"\n\t\t*********************************\n";&l
145、t;/p><p> cout<<"\t\t※ 1.按學(xué)生的姓名查找\n\t\t※ 2.按學(xué)生學(xué)號查找\n\t\t※ 3.查找學(xué)生課程成績";</p><p> cout<<"\n\t\t*********************************\n請選擇:";</p><p><b>
146、 cin>>x;</b></p><p><b> switch(x)</b></p><p><b> {</b></p><p><b> case 1:</b></p><p><b> {</b></p>
147、;<p> cout<<"\t\t請輸入要查找的學(xué)生的姓名:";</p><p> cin>>name;</p><p> if(p=FindItem(name))</p><p><b> {</b></p><p> cout<<&quo
148、t;\t"<<"姓名"<<"\t"<<"學(xué)號"<<"\t"<<"C++"<<"\t"<<"數(shù)學(xué)"<<"\t"<<"外語"<<&qu
149、ot;\t"<<"總成績"<<"\t"<<"平均成績"<<endl;</p><p> p->Next->Show();</p><p> cout<<"輸入任意字符!繼續(xù)……"<<endl;</p>
150、<p><b> getch();</b></p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> cout<<"\t\t沒有找到
151、該姓名的學(xué)生!"<<'\n'<<endl;</p><p> cout<<"輸入任意字符!繼續(xù)……"<<endl;</p><p><b> getch();</b></p><p><b> }</b></p>
152、<p><b> }break;</b></p><p><b> case 2:</b></p><p><b> {</b></p><p> cout<<"\t\t請輸入要查找的學(xué)生的學(xué)號:";</p><p><
153、;b> cin>>Id;</b></p><p> if(p=FindID(Id))</p><p><b> {</b></p><p> cout<<"\t"<<"姓名"<<"\t"<<"
154、;學(xué)號"<<"\t"<<"C++"<<"\t"<<"數(shù)學(xué)"<<"\t"<<"外語"<<"\t"<<"總成績"<<"\t"<<&qu
155、ot;平均成績"<<endl;</p><p> p->Next->Show();</p><p> cout<<"輸入任意字符!繼續(xù)……"<<endl;</p><p><b> getch();</b></p><p><b&g
156、t; }</b></p><p><b> else</b></p><p><b> {</b></p><p> cout<<"\t\t沒有找到該學(xué)號的學(xué)生!"<<'\n'<<endl;</p><p>
157、 cout<<"輸入任意字符!繼續(xù)……"<<endl;</p><p><b> getch();</b></p><p><b> }</b></p><p><b> }break;</b></p><p><b&g
158、t; case 3:</b></p><p><b> {</b></p><p> p=Head->Next;</p><p> cout<<"\t\t請選擇你要查找的課程名稱:";</p><p> cout<<"\n\t\t*****
159、****************************\n";</p><p> cout<<"\t\t※ 1.C++\n\t\t※ 2.數(shù)學(xué)\n\t\t※ 3.英語";</p><p> cout<<"\n\t\t*********************************\n請選擇:";</p&
160、gt;<p><b> cin>>z;</b></p><p><b> switch(z)</b></p><p><b> {</b></p><p><b> case 1:</b></p><p> cout&l
161、t;<"C++成績?yōu)?"<<endl;</p><p> while(p!=End)</p><p><b> {</b></p><p> cout<<p->Cnum<<endl;</p><p> p=p->Next;</p>
162、;<p><b> }</b></p><p> cout<<"輸入任意字符!繼續(xù)……"<<endl;</p><p><b> getch();</b></p><p><b> break;</b></p><p
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- c++課程設(shè)計----學(xué)生成績管理系統(tǒng)
- 學(xué)生成績管理系統(tǒng)c++課程設(shè)計
- c++課程設(shè)計-學(xué)生成績管理系統(tǒng)
- c++課程設(shè)計---學(xué)生成績管理系統(tǒng)
- c++課程設(shè)計---學(xué)生成績管理系統(tǒng)
- c++課程設(shè)計——學(xué)生成績管理系統(tǒng)
- c++課程設(shè)計--學(xué)生成績管理系統(tǒng)
- c++學(xué)生成績管理系統(tǒng)課程設(shè)計
- c++課程設(shè)計--學(xué)生成績管理系統(tǒng)
- c++課程設(shè)計--學(xué)生成績管理
- c++課程設(shè)計--- 學(xué)生成績管理系統(tǒng)設(shè)計
- c++課程設(shè)計--學(xué)生成績管理
- c++學(xué)生成績管理系統(tǒng)課程設(shè)計報告
- c++學(xué)生成績管理系統(tǒng)課程設(shè)計報告
- c++學(xué)生成績管理系統(tǒng)課程設(shè)計報告
- c++課程設(shè)計報告--學(xué)生成績管理系統(tǒng)
- c&c++課程設(shè)計-學(xué)生成績管理系統(tǒng)
- c++課程設(shè)計--學(xué)生成績管理系統(tǒng)設(shè)計與管理
- c++程序課程設(shè)計報告—學(xué)生成績管理系統(tǒng)
- c++程序設(shè)計課程設(shè)計---學(xué)生成績管理系統(tǒng)
評論
0/150
提交評論