版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 程序設(shè)計(jì)報(bào)告</b></p><p> 課程名稱(chēng): C++程序設(shè)計(jì) </p><p> 設(shè)計(jì)題目: 學(xué)生信息管理系統(tǒng) </p><p> 系 別: 計(jì)算機(jī)科學(xué)與技術(shù)系 </p><p> 專(zhuān)
2、 業(yè): 網(wǎng)絡(luò)工程 </p><p> 姓 名: </p><p> 起止日期: 2011年5月23日 ~ 2011年6月15日</p><p> 指導(dǎo)教師: </p>&l
3、t;p><b> 1.引言1</b></p><p><b> 2.需求分析1</b></p><p> 2.1 課程設(shè)計(jì)題目1</p><p> 2.2 課程設(shè)計(jì)任務(wù)與要求1</p><p> 2.3 設(shè)計(jì)需求1</p><p> 2.4 軟硬件
4、運(yùn)行環(huán)境1</p><p><b> 3.概要設(shè)計(jì)1</b></p><p> 3.1算法設(shè)計(jì)思想1</p><p> 3.2 程序?qū)崿F(xiàn)流程圖2</p><p><b> 4.詳細(xì)設(shè)計(jì)2</b></p><p><b> 4.1 主函數(shù)2&l
5、t;/b></p><p> 4.2 錄入函數(shù)3</p><p><b> 4.3輸出函數(shù)4</b></p><p><b> 4.4查找函數(shù)5</b></p><p><b> 4.5刪除函數(shù)6</b></p><p><b
6、> 4.6顯示函數(shù)7</b></p><p><b> 4.7修改函數(shù)7</b></p><p><b> 4.8保存函數(shù)8</b></p><p><b> 4.9統(tǒng)計(jì)函數(shù)8</b></p><p> 5.調(diào)試與操作說(shuō)明9</p&g
7、t;<p> 5.1 初始化界面9</p><p> 5.1 錄入學(xué)生信息界面10</p><p> 5.2 保存學(xué)生信息界面10</p><p> 5.3 顯示學(xué)生信息界面11</p><p> 5.4 查找學(xué)生信息界面11</p><p> 5.5 修改學(xué)生信息界面12<
8、/p><p> 5.6 統(tǒng)計(jì)學(xué)生信息界面12</p><p> 5.7刪除學(xué)生信息界面13</p><p> 6.課程設(shè)計(jì)總結(jié)與體會(huì)13</p><p><b> 8.附錄13</b></p><p><b> 課程設(shè)計(jì)的主要內(nèi)容</b></p>
9、<p><b> 1.引言</b></p><p> “信息手段革命”轉(zhuǎn)向“信息內(nèi)容革命”,引發(fā)了全球性數(shù)字校園建設(shè)浪潮。為滿(mǎn)足為學(xué)校服務(wù)這一基本功能,數(shù)字校園應(yīng)定位于信息服務(wù),對(duì)學(xué)生的信息的高效而準(zhǔn)確系統(tǒng)設(shè)計(jì)的出發(fā)點(diǎn)和最終目的,既要能滿(mǎn)足學(xué)生和老師的一般需求,又要能夠針對(duì)用戶(hù)的類(lèi)型、需求特征等確定它的權(quán)限以便進(jìn)行管理。</p><p> 當(dāng)今社會(huì)是一
10、個(gè)講究效率的社會(huì),人們?yōu)榱斯?jié)省時(shí)間提高效率進(jìn)行著個(gè)中改造、常識(shí)和分析,運(yùn)用各種高科技手段來(lái)適應(yīng)不斷變化的社會(huì),各種各樣的信息管理系統(tǒng)逐漸成為了人們工作的不可缺少的工具。隨著各個(gè)高校的擴(kuò)招,大學(xué)生的人數(shù)也越來(lái)越多,每次的學(xué)生信息統(tǒng)計(jì)工作也變得越來(lái)越繁重,而且經(jīng)常產(chǎn)生差錯(cuò)。如果仍用手工操作或使用相當(dāng)煩瑣的軟件,既浪費(fèi)了人力,又浪費(fèi)了物力,效率無(wú)法提高。針對(duì)這種情況開(kāi)發(fā)了學(xué)生信息管理系統(tǒng)軟件,能夠適應(yīng)現(xiàn)今社會(huì)各個(gè)學(xué)校的需要簡(jiǎn)化學(xué)生信息管理過(guò)程
11、,提高效率。該系統(tǒng)軟件具有簡(jiǎn)單易學(xué)易用,便于管理等特點(diǎn),是學(xué)校信息管理的一種重要工具</p><p><b> 2.需求分析</b></p><p> 2.1 課程設(shè)計(jì)題目</p><p><b> 學(xué)生信息管理系統(tǒng)</b></p><p> 2.2 課程設(shè)計(jì)任務(wù)與要求</p>
12、<p> 設(shè)計(jì)一個(gè)程序?qū)崿F(xiàn)基本的學(xué)生信息數(shù)據(jù)管理,如:具有建立文件,讀取文件和保存記錄的功能,并可增加、顯示、修改、刪除、查詢(xún)學(xué)生記錄的功能,并能對(duì)學(xué)生成績(jī)進(jìn)行統(tǒng)計(jì).其中數(shù)據(jù)的查找、數(shù)據(jù)的刪除又可通過(guò)不同的方式如按學(xué)號(hào)或姓名等進(jìn)行操作。</p><p><b> 2.3 設(shè)計(jì)需求</b></p><p> 學(xué)生信息管理系統(tǒng),為了替代人工管理而開(kāi)發(fā)的一
13、個(gè)軟件系統(tǒng),它代替人工完成對(duì)學(xué)生成績(jī)信息數(shù)據(jù)的搜集、處理、加工、存儲(chǔ)等工作,具有嚴(yán)密性、安全性,大大增大了過(guò)往人工管理的準(zhǔn)確性,提高了工作效率,減小了工作人員的工作量</p><p> 學(xué)生信息管理系統(tǒng)要完成對(duì)學(xué)生信息數(shù)據(jù)的處理,其中包括學(xué)生基本信息(姓名、學(xué)號(hào)、各科成績(jī))的錄入、存儲(chǔ)。這些基本信息數(shù)據(jù)構(gòu)成一個(gè)簡(jiǎn)單的數(shù)據(jù)庫(kù),這是該系統(tǒng)進(jìn)一步對(duì)數(shù)據(jù)處理的基礎(chǔ)。</p><p> 2.4
14、軟硬件運(yùn)行環(huán)境</p><p> 操作系統(tǒng):Windows XP ,Microsoft Visual C++6.0</p><p><b> 3.概要設(shè)計(jì)</b></p><p><b> 算法設(shè)計(jì)思想</b></p><p> ?。?)本系統(tǒng)的開(kāi)發(fā)盡量采用目前現(xiàn)在學(xué)?,F(xiàn)有的軟,硬件環(huán)境以及先
15、進(jìn)的系統(tǒng)開(kāi)發(fā)方案,從而達(dá)到充分利用學(xué)校現(xiàn)有資源,提高系統(tǒng)開(kāi)發(fā)水平和應(yīng)用效果的目的</p><p> ?。?)所開(kāi)發(fā)的系統(tǒng)應(yīng)符合學(xué)校學(xué)生信息管理系統(tǒng)的規(guī)定,滿(mǎn)足學(xué)校對(duì)學(xué)生日常管理的需要,并達(dá)到操作過(guò)程中的直觀,方便,實(shí)用,安全等要求.</p><p> (3)所開(kāi)發(fā)的系統(tǒng)應(yīng)該滿(mǎn)足模塊化程序設(shè)計(jì)方案,這樣即便于系統(tǒng)功能的各種組合和修改,有便于未參與開(kāi)發(fā)的技術(shù)維護(hù)人員的補(bǔ)充,維護(hù).</p
16、><p> ?。?)所開(kāi)發(fā)的系統(tǒng)應(yīng)具備數(shù)據(jù)庫(kù)維護(hù)功能,能夠及時(shí)根據(jù)用戶(hù)需求進(jìn)行數(shù)據(jù)的添加,刪除和修改等操作.</p><p> 3.2 程序?qū)崿F(xiàn)流程圖</p><p><b> 4.詳細(xì)設(shè)計(jì)</b></p><p><b> 4.1 主函數(shù)</b></p><p> vo
17、id main()</p><p><b> {</b></p><p> school pp;</p><p><b> int k=1;</b></p><p><b> char n;</b></p><p> pp.begin();&l
18、t;/p><p> while(k==1)</p><p><b> {</b></p><p> n=pp.mainmenu();</p><p><b> switch(n)</b></p><p><b> {</b></p>
19、<p> case '1':pp.input(); break;</p><p> case '2':pp.show(); break;</p><p> case '3':pp.found(); break;</p><p> case '4':pp.del(); break;<
20、;/p><p> case '5':pp.mend(); break;</p><p> case '6':pp.output(); break;</p><p> case '7':pp.save(); break;</p><p><b> case '0':&
21、lt;/b></p><p> if(pp.getkey()==1)</p><p><b> {</b></p><p> cout<<"\t\t\t是否保存? 1 : 保存 0:不保存 : ";</p><p><b> cin>>k;</
22、b></p><p><b> if(k==1)</b></p><p> pp.save();</p><p><b> }</b></p><p> pp.clear();</p><p><b> k=0;</b></p>
23、;<p><b> break;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> 4.2 錄入函數(shù)</b>&l
24、t;/p><p> void school::input(){ student *p,*p2=NULL; p=head;
25、160; int n; while(p->next) p=p->next;
26、; while(n) { p2=new student; p2->input(); p->next=p2;
27、 p2->next=NULL; p=p->next; &
28、#160; school::setkey(1); cout<<"\t\t\t按1繼續(xù),按0返回 : ";
29、; cin>>n; }}</p><p><b> 4.3輸出函數(shù)</b></p><p> void output()</p><p><b> {</b></p><p> cout<<"學(xué)
30、生基本信息如下:"<<endl;</p><p> cout<<"學(xué)號(hào):"<<number</p><p> <<" 姓名:"<<name</p><p> <<" 性別:"<<sex</p&g
31、t;<p> <<" 電話(huà)號(hào)碼:"<<tel</p><p> <<" 民族:"<<nation</p><p> <<" 出生日期:"<<birth</p><p> <<"
32、 政治面貌:"<<party<<endl</p><p> <<"身份證號(hào):"<<id</p><p> <<" 高數(shù):"<<score[0]</p><p> <<" 大學(xué)英語(yǔ)英語(yǔ):"<<
33、;score[1]</p><p> <<" 面向?qū)ο蟪绦蛟O(shè)計(jì):"<<score[2]</p><p> <<" 大學(xué)物理:"<<score[3]</p><p> <<" 數(shù)據(jù)結(jié)構(gòu):"<<score[4]</p
34、><p> <<" 馬克思列寧主義哲學(xué):"<<score[5]</p><p> <<" 總分:"<<getg()<<endl;</p><p><b> }</b></p><p> void output(
35、ofstream & os) </p><p><b> {</b></p><p> os<<setw(6)<<number</p><p> <<setw(15)<<name</p><p> <<s
36、etw(6)<<sex</p><p> <<setw(20)<<tel</p><p> <<setw(6)<<nation</p><p> <<setw(20)<<birth</p><p> <<setw(20)<<pa
37、rty</p><p> <<setw(20)<<id</p><p> <<setw(6)<<score[0]</p><p> <<setw(6)<<score[1]</p><p> <<setw(6)<<score[2]</p
38、><p> <<setw(6)<<score[3]</p><p> <<setw(6)<<score[4]</p><p> <<setw(6)<<score[5]<<endl;</p><p><b> }</b></p&g
39、t;<p><b> };</b></p><p><b> 4.4查找函數(shù)</b></p><p> void school::found()</p><p><b> {</b></p><p> student *p;</p><
40、;p> int num=-1,n=9;</p><p> char name[20]="^";</p><p><b> do</b></p><p><b> {</b></p><p> cout<<"\t\t1:按學(xué)號(hào)查找,2:按姓名查
41、找: ";</p><p><b> cin>>n;</b></p><p> }while(n<1||n>2);</p><p><b> if(n==1)</b></p><p><b> {</b></p><
42、p> cout<<"\t\t\t輸入學(xué)號(hào): ";</p><p><b> cin>>num;</b></p><p><b> }</b></p><p><b> if(n==2)</b></p><p><b
43、> {</b></p><p> cout<<"\t\t\t輸入姓名: ";</p><p> cin>>name;</p><p><b> }</b></p><p> if(!find(&p,num,name) )</p>
44、<p><b> {</b></p><p> cout<<"\t\t找不到你要查找的內(nèi)容!"<<endl;</p><p><b> return;</b></p><p><b> }</b></p><p>
45、 (p->next)->output();</p><p><b> }</b></p><p><b> 4.5刪除函數(shù)</b></p><p> void school::del()</p><p><b> {</b></p><
46、p> student *p,*p2;</p><p><b> int num;</b></p><p> cout<<"\t\t\t輸入學(xué)號(hào): ";</p><p><b> cin>>num;</b></p><p> if( !fin
47、d(&p,num,"^") )</p><p><b> {</b></p><p> cout<<"\t\t找不到你要?jiǎng)h除的內(nèi)容!"<<endl;</p><p><b> return;</b></p><p><
48、;b> }</b></p><p> (p->next)->output();</p><p> p2=p->next;</p><p> p->next=p2->next;</p><p> delete p2;</p><p> cout<<&
49、quot;刪除成功,顯示結(jié)果請(qǐng)選擇菜單2!"<<endl;</p><p> school::setkey(1);</p><p><b> }</b></p><p><b> 4.6顯示函數(shù)</b></p><p> void school::show(){
50、160; student *p; p=head; while(p->next) { (p->next)->output(); p=p->next; }}</p><p><b> 4.7
51、修改函數(shù)</b></p><p> void school::mend(){ student *p; int num=-1,n; char name[20]="^"; do {
52、 cout<<"\t\t1:按學(xué)號(hào)修改,2:按姓名修改: "; cin>>n; }while(n<1||n>2); if(n==1) { cout<<"\t\t
53、\t輸入學(xué)號(hào): "; cin>>num; } if(n==2) { cout<<"\t\t\t輸入姓名: "; cin>>name;
54、 } if( !find(&p,num,name) ) { cout<<"\t\t找不到你要修改的內(nèi)容!"<<endl; return; } (p->next)->output();
55、 (p->next)->input(); school::setkey(1);}</p><p><b> 4.8保存函數(shù)</b></p><p> void school::save(){ student *p; p=head;
56、160; ofstream os("student.txt",ios::out); if (school::getkey()==1) { while(p->next) {
57、60; (p->next)->output(os); p=p->next; } } cout<<"\t\t\t文件已保存! "<<endl; school::setkey(0)
58、;}</p><p><b> 4.9統(tǒng)計(jì)函數(shù)</b></p><p> void school::count()</p><p><b> {</b></p><p> student *p;</p><p><b> p=head;</b>
59、;</p><p><b> int n=0;</b></p><p> double g[6]={0,0,0,0,0};</p><p> float j[6]={0,0,0,0,0};</p><p> while(p->next)</p><p><b> {<
60、;/b></p><p> p=p->next; </p><p><b> n++;</b></p><p> for(int i=0;i<6;i++)</p><p><b> { </b></p><p> g[i]=g[i]+( p-&g
61、t;getscore(i) );</p><p> (p->getscore(i) )>=60? j[i]++ : 0 ;</p><p><b> }</b></p><p><b> }</b></p><p> cout<<"\t\t\b\b\b\b高
62、數(shù)總分:"<<g[0]<<" 平均分:"<<g[0]/n</p><p> <<" 及格率:"<<j[0]/n<<endl<<"\t\t\b\b\b\b大學(xué)英語(yǔ)總分:"<<g[1]</p><p> <<
63、;" 平均分:"<<g[1]/n<<" 及格率:"<<j[1]/n<<endl</p><p> <<"\t\t\b\b\b\b面向?qū)ο蟪绦蛟O(shè)計(jì)總分: "<<g[2]<<" 平均分: "<<g[2]/n</p>
64、<p> <<" 及格率:"<<j[2]/n<<endl</p><p> <<"\t\t\b\b\b\b大學(xué)物理總分:"<<g[3]<<" 平均分:"<<g[3]/n</p><p> <<" 及格率:&
65、quot;<<j[3]/n<<endl<<"\t\t\b\b\b\b數(shù)據(jù)結(jié)構(gòu)總分:"<<g[4]</p><p> <<" 平均分:"<<g[4]/n<<" 及格率:"<<j[4]/n<<endl</p><p>
66、 <<"\t\t\b\b\b\b馬克思列寧主義哲學(xué)總分: "<<g[5]<<" 平均分: "<<g[5]/n</p><p> <<" 及格率:"<<j[5]/n<<endl;</p><p><b> }</b>&
67、lt;/p><p><b> 5.調(diào)試與操作說(shuō)明</b></p><p><b> 5.1 初始化界面</b></p><p> 5.1 錄入學(xué)生信息界面</p><p> 5.2 保存學(xué)生信息界面</p><p> 5.3 顯示學(xué)生信息界面</p>&l
68、t;p> 5.4 查找學(xué)生信息界面</p><p> 5.5 修改學(xué)生信息界面</p><p> 5.6 統(tǒng)計(jì)學(xué)生信息界面</p><p> 5.7刪除學(xué)生信息界面</p><p> 6.課程設(shè)計(jì)總結(jié)與體會(huì)</p><p> 經(jīng)過(guò)這次課程設(shè)計(jì),學(xué)會(huì)了很多。C++的學(xué)習(xí),已經(jīng)有一個(gè)學(xué)期了,許多知識(shí)都存在
69、似懂非懂的現(xiàn)象,這種現(xiàn)象通過(guò)這次課程設(shè)計(jì),已經(jīng)減少了許多問(wèn)題。對(duì)這些不明白的知識(shí)也有了更深的理解和很好的掌握。有些理論上說(shuō)得過(guò)去的代碼,到了實(shí)際操作,卻是行不通的。這種困惑,在這次的設(shè)計(jì)中得到了解決,并能夠深刻認(rèn)識(shí)。</p><p> 總之,在這次的課程設(shè)計(jì)過(guò)程中,收獲了很多,既為以后學(xué)習(xí)設(shè)計(jì)有很大的幫助,也為將來(lái)的人生之路做好了一個(gè)很好的鋪墊。</p><p><b> 8
70、.附錄</b></p><p> #include<iostream></p><p> #include<string></p><p> #include<fstream></p><p> #include<iomanip>
71、 </p><p> using namespace std;</p><p> class student </p><p><b> {</b></p><p> protected:
72、 </p><p> int number;</p><p> char name[20];</p><p> char sex[6];</p><p> char tel[20];</p><p> char nation[6];</p><
73、;p> char birth[20];</p><p> char party[10];</p><p> char id[20];</p><p> float score[6];</p><p> public: </p>&
74、lt;p> student *next; </p><p> student(){ } </p><p> ~student(){ } </p><p> char* g
75、etname(){ return name; } </p><p> int getnumber(){ return number;}</p><p> double getscore(int i) { return score[i];}</p><p> float getg(){ return (score[0]+s
76、core[1]+score[2]+score[3]+score[4]+score[5]); }</p><p> void input()</p><p><b> {</b></p><p><b> int e=1;</b></p><p> cout<<"\t\t
77、\t按提示輸入:"<<endl;</p><p> cout<<"\t\t輸入學(xué)號(hào): ";</p><p> cin>>number;</p><p> cout<<"\t\t輸入姓名: ";</p><p> cin>>na
78、me;</p><p><b> do</b></p><p><b> {</b></p><p> cout<<"\t\t輸入性別: ";</p><p><b> cin>>sex;</b></p><
79、;p> if(strcmp(sex,"男")==0 || strcmp(sex,"女")==0)</p><p><b> {</b></p><p> cout<<"\t\t輸入電話(huà)號(hào)碼: ";</p><p><b> cin>>te
80、l;</b></p><p> cout<<"\t\t輸入民族:";</p><p> cin>>nation;</p><p> cout<<"\t\t輸入出生日期(如1990-08-15):";</p><p> cin>>birt
81、h;</p><p> cout<<"\t\t輸入政治面貌: ";</p><p> cin>>party; </p><p> cout<<"\t\t輸入身份證號(hào): ";</p><p><b> cin>>id;</b>&
82、lt;/p><p> cout<<"\t\t輸入高數(shù)分?jǐn)?shù): ";</p><p> cin>>score[0];</p><p> cout<<"\t\t輸入大學(xué)英語(yǔ)分?jǐn)?shù): ";</p><p> cin>>score[1];</p>&
83、lt;p> cout<<"\t\t輸入面向?qū)ο蟪绦蛟O(shè)計(jì)分?jǐn)?shù):";</p><p> cin>>score[2];</p><p> cout<<"\t\t輸入大學(xué)物理分?jǐn)?shù):";</p><p> cin>>score[3];</p><p>
84、 cout<<"\t\t輸入數(shù)據(jù)結(jié)構(gòu)分?jǐn)?shù):";</p><p> cin>>score[4];</p><p> cout<<"\t\t輸入馬克思列寧主義哲學(xué)分?jǐn)?shù):";</p><p> cin>>score[5];</p><p><b&g
85、t; e=0;</b></p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> cout<<"\t\t\t無(wú)此類(lèi)型性別!重新輸入!"<&
86、lt;endl;</p><p><b> e=1;</b></p><p><b> }</b></p><p> }while(e);</p><p><b> return ;</b></p><p><b> }</b&
87、gt;</p><p> void input(ifstream & is) </p><p><b> {</b></p><p> is>>number>>name>>sex>>tel>>nation>>
88、birth>>party>>id</p><p> >>score[0]>>score[1]>>score[2]>>score[3]>>score[4]>>score[5];</p><p> is.get(); <
89、/p><p><b> }</b></p><p> void output()</p><p><b> {</b></p><p> cout<<"學(xué)生基本信息如下:"<<endl;</p><p> cout<&l
90、t;"學(xué)號(hào):"<<number</p><p> <<" 姓名:"<<name</p><p> <<" 性別:"<<sex</p><p> <<" 電話(huà)號(hào)碼:"<<tel</p
91、><p> <<" 民族:"<<nation</p><p> <<" 出生日期:"<<birth</p><p> <<" 政治面貌:"<<party<<endl</p><p>
92、<<"身份證號(hào):"<<id</p><p> <<" 高數(shù):"<<score[0]</p><p> <<" 大學(xué)英語(yǔ)英語(yǔ):"<<score[1]</p><p> <<" 面向?qū)ο蟪绦蛟O(shè)計(jì):&q
93、uot;<<score[2]</p><p> <<" 大學(xué)物理:"<<score[3]</p><p> <<" 數(shù)據(jù)結(jié)構(gòu):"<<score[4]</p><p> <<" 馬克思列寧主義哲學(xué):"<<sc
94、ore[5]</p><p> <<" 總分:"<<getg()<<endl;</p><p><b> }</b></p><p> void output(ofstream & os) </p><p>
95、; {os<<setw(6)<<number</p><p> <<setw(15)<<name</p><p> <<setw(6)<<sex</p><p> <<setw(20)<<tel</p><p> <<setw
96、(6)<<nation</p><p> <<setw(20)<<birth</p><p> <<setw(20)<<party</p><p> <<setw(20)<<id</p><p> <<setw(6)<<scor
97、e[0]</p><p> <<setw(6)<<score[1]</p><p> <<setw(6)<<score[2]</p><p> <<setw(6)<<score[3]</p><p> <<setw(6)<<score[4]
98、</p><p> <<setw(6)<<score[5]<<endl;</p><p><b> }</b></p><p><b> };</b></p><p> class school
99、 </p><p><b> {</b></p><p> public: </p><p> school(){ head=new student; head->next=NULL; key=0; }</p>
100、<p> ~school(){ delete head; } </p><p> void input();</p><p> void mend();</p><p> void del();</p><p> int find(student **p,int num,
101、char *pn="^");</p><p> void found();</p><p> void show();</p><p> void count();</p><p> void save();</p><p> void begin();</p><p&
102、gt; void clear();</p><p> char mainmenu();</p><p> int getkey(){ return key;}</p><p> void setkey(int k){ key=k; }</p><p> private:
103、 </p><p> student *head; </p><p><b> int key;</b></p><p><b> };</b></p><p><b> //錄入函數(shù)<
104、/b></p><p> void school::input()</p><p><b> {</b></p><p> student *p,*p2=NULL;</p><p> p=head; </p>&
105、lt;p><b> int n;</b></p><p> while(p->next)</p><p> p=p->next;</p><p><b> while(n)</b></p><p><b> {</b></p><
106、p> p2=new student;</p><p> p2->input();</p><p> p->next=p2;</p><p> p2->next=NULL;</p><p> p=p->next; </p>
107、<p> school::setkey(1);</p><p> cout<<"\t\t\t按1繼續(xù),按0返回 : ";</p><p><b> cin>>n;</b></p><p><b> }</b></p><p><b&
108、gt; }</b></p><p><b> //子查找函數(shù)</b></p><p> int school::find(student **p1,int num,char *pn)</p><p><b> {</b></p><p> student *p;</p&g
109、t;<p><b> p=head;</b></p><p> while(p->next)</p><p><b> {</b></p><p><b> (*p1)=p;</b></p><p> if( (p->next)->ge
110、tnumber()==num||!strcmp( (p->next)->getname(),pn ) )</p><p><b> return 1;</b></p><p> p=p->next;</p><p><b> }</b></p><p><b>
111、return 0;</b></p><p><b> }</b></p><p><b> //查找函數(shù)</b></p><p> void school::found()</p><p><b> {</b></p><p> s
112、tudent *p;</p><p> int num=-1,n=9;</p><p> char name[20]="^";</p><p><b> do</b></p><p><b> {</b></p><p> cout<<
113、;"\t\t1:按學(xué)號(hào)查找,2:按姓名查找: ";</p><p><b> cin>>n;</b></p><p> }while(n<1||n>2);</p><p><b> if(n==1)</b></p><p><b> {&
114、lt;/b></p><p> cout<<"\t\t\t輸入學(xué)號(hào): ";</p><p><b> cin>>num;</b></p><p><b> }</b></p><p><b> if(n==2)</b>&
115、lt;/p><p><b> {</b></p><p> cout<<"\t\t\t輸入姓名: ";</p><p> cin>>name;</p><p><b> }</b></p><p> if(!find(&
116、;p,num,name) )</p><p><b> {</b></p><p> cout<<"\t\t找不到你要查找的內(nèi)容!"<<endl;</p><p><b> return;</b></p><p><b> }</b
117、></p><p> (p->next)->output();</p><p><b> }</b></p><p><b> //刪除函數(shù)</b></p><p> void school::del()</p><p><b> {&l
118、t;/b></p><p> student *p,*p2;</p><p><b> int num;</b></p><p> cout<<"\t\t\t輸入學(xué)號(hào): ";</p><p><b> cin>>num;</b></p&
119、gt;<p> if( !find(&p,num,"^") )</p><p><b> {</b></p><p> cout<<"\t\t找不到你要?jiǎng)h除的內(nèi)容!"<<endl;</p><p><b> return;</b>
120、</p><p><b> }</b></p><p> (p->next)->output();</p><p> p2=p->next;</p><p> p->next=p2->next;</p><p> delete p2;</p>
121、<p> cout<<"刪除成功,顯示結(jié)果請(qǐng)選擇菜單2!"<<endl;</p><p> school::setkey(1);</p><p><b> }</b></p><p><b> //顯示函數(shù)</b></p><p> v
122、oid school::show()</p><p><b> {</b></p><p> student *p;</p><p><b> p=head;</b></p><p> while(p->next)</p><p><b> {<
123、;/b></p><p> (p->next)->output();</p><p> p=p->next;</p><p><b> }</b></p><p><b> }</b></p><p><b> //修改函數(shù)<
124、/b></p><p> void school::mend()</p><p><b> {</b></p><p> student *p;</p><p> int num=-1,n;</p><p> char name[20]="^";</p&g
125、t;<p><b> do</b></p><p><b> {</b></p><p> cout<<"\t\t1:按學(xué)號(hào)修改,2:按姓名修改: ";</p><p><b> cin>>n;</b></p><p
126、> }while(n<1||n>2);</p><p><b> if(n==1)</b></p><p><b> {</b></p><p> cout<<"\t\t\t輸入學(xué)號(hào): ";</p><p><b> cin>
127、;>num;</b></p><p><b> }</b></p><p><b> if(n==2)</b></p><p><b> {</b></p><p> cout<<"\t\t\t輸入姓名: ";</
128、p><p> cin>>name;</p><p><b> }</b></p><p> if( !find(&p,num,name) )</p><p><b> {</b></p><p> cout<<"\t\t找不到你
129、要修改的內(nèi)容!"<<endl;</p><p><b> return;</b></p><p><b> }</b></p><p> (p->next)->output();</p><p> (p->next)->input();</
130、p><p> school::setkey(1);</p><p><b> }</b></p><p><b> //保存函數(shù)</b></p><p> void school::save()</p><p><b> {</b></p&g
131、t;<p> student *p;</p><p><b> p=head;</b></p><p> ofstream os("student.txt",ios::out);</p><p> if (school::getkey()==1)</p><p><b>
132、; {</b></p><p> while(p->next)</p><p><b> {</b></p><p> (p->next)->output(os);</p><p> p=p->next;</p><p><b> }<
133、;/b></p><p><b> }</b></p><p> cout<<"\t\t\t文件已保存! "<<endl;</p><p> school::setkey(0);</p><p><b> }</b></p>&
134、lt;p><b> //初始化函數(shù)</b></p><p> void school::begin()</p><p><b> {</b></p><p> student *p,*p2;</p><p><b> p=head;</b></p>
135、<p><b> clear();</b></p><p><b> long t;</b></p><p> ifstream is("student.txt",ios::in); </p><p><b> if(!is)</b></p>&l
136、t;p><b> {</b></p><p> ofstream os("student.txt",ios::out);</p><p> os.close();</p><p><b> return ;</b></p><p><b> }</
137、b></p><p> int num=-1;</p><p><b> while(1)</b></p><p><b> {</b></p><p><b> num=-1;</b></p><p> t=is.tellg();<
138、;/p><p><b> is>>num;</b></p><p> is.seekg(t);</p><p><b> if(num<0)</b></p><p><b> { </b></p><p> is.close(
139、);</p><p><b> return;</b></p><p><b> }</b></p><p> p2=new student;</p><p> p2->input(is);</p><p> p->next=p2;</p>
140、<p> p2->next=NULL;</p><p> p=p->next;</p><p><b> }</b></p><p><b> }</b></p><p><b> //清空函數(shù) </b></p><p>
141、; void school::clear()</p><p><b> {</b></p><p> student *p,*p2;</p><p> p=head->next;</p><p> while( p )</p><p><b> {</b>&
142、lt;/p><p><b> p2=p;</b></p><p> p=p->next;</p><p> delete p2;</p><p><b> }</b></p><p><b> }</b></p><p&g
143、t; //統(tǒng)計(jì)函數(shù) </p><p> void school::count()</p><p><b> {</b></p><p> student *p;</p><p><b> p=head;</b></p><p><b> in
144、t n=0;</b></p><p> double g[6]={0,0,0,0,0};</p><p> float j[6]={0,0,0,0,0};</p><p> while(p->next)</p><p><b> {</b></p><p> p=p-&
145、gt;next; </p><p><b> n++;</b></p><p> for(int i=0;i<6;i++)</p><p><b> { </b></p><p> g[i]=g[i]+( p->getscore(i) );</p><p&g
146、t; (p->getscore(i) )>=60? j[i]++ : 0 ;</p><p><b> }</b></p><p><b> }</b></p><p> cout<<"\t\t\b\b\b\b高數(shù)總分:"<<g[0]<<"
147、; 平均分:"<<g[0]/n</p><p> <<" 及格率:"<<j[0]/n<<endl<<"\t\t\b\b\b\b大學(xué)英語(yǔ)總分:"<<g[1]</p><p> <<" 平均分:"<<g[1]/n&
148、lt;<" 及格率:"<<j[1]/n<<endl</p><p> <<"\t\t\b\b\b\b面向?qū)ο蟪绦蛟O(shè)計(jì)總分: "<<g[2]<<" 平均分: "<<g[2]/n</p><p> <<" 及格率:"
149、;<<j[2]/n<<endl</p><p> <<"\t\t\b\b\b\b大學(xué)物理總分:"<<g[3]<<" 平均分:"<<g[3]/n</p><p> <<" 及格率:"<<j[3]/n<<endl<
150、<"\t\t\b\b\b\b數(shù)據(jù)結(jié)構(gòu)總分:"<<g[4]</p><p> <<" 平均分:"<<g[4]/n<<" 及格率:"<<j[4]/n<<endl</p><p> <<"\t\t\b\b\b\b馬克思列寧主義
151、哲學(xué)總分: "<<g[5]<<" 平均分: "<<g[5]/n</p><p> <<" 及格率:"<<j[5]/n<<endl;</p><p><b> }</b></p><p><b> //主選
152、菜單函數(shù)</b></p><p> char school::mainmenu()</p><p><b> {</b></p><p> char n[6];</p><p> cout<<"\n\n ☆☆☆☆歡迎進(jìn)入學(xué)生學(xué)籍管理系統(tǒng)☆☆☆☆"<&l
153、t;endl<<endl;</p><p> cout<<" 計(jì)算機(jī)系網(wǎng)絡(luò)工程(1)班 "<<endl<<endl</p><p> <<"* * * * * * * * * * * * * * * * * * * * * * * * * *
154、 * * * *"<<endl</p><p> <<"* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *"<<endl</p><p> <<"* * 1: 錄入學(xué)生信息
155、 * *"<<endl</p><p> <<"* * 2: 顯示學(xué)生信息 * *"<<endl</p><p> <<"* * 3: 查找學(xué)生信息
156、 * *"<<endl</p><p> <<"* * 4: 刪除學(xué)生信息 * *"<<endl</p><p> <<"* * 5: 修改學(xué)生信息 *
157、 *"<<endl</p><p> <<"* * 6: 統(tǒng)計(jì)學(xué)生成績(jī) * *"<<endl</p><p> <<"* * 7: 保存學(xué)生信息 * *&q
158、uot;<<endl</p><p> <<"* * 0: 退出系統(tǒng) * *"<<endl</p><p> <<"* * * * * * * * * * * * * * * * * * * * * * * * * * * * *
159、 *"<<endl</p><p> <<"* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *"<<endl</p><p> <<" 請(qǐng)選擇:";</p>
160、<p><b> cin>>n;</b></p><p> return n[0];</p><p><b> }</b></p><p><b> //主函數(shù)</b></p><p> void main()</p><p&
161、gt;<b> {</b></p><p> school pp;</p><p><b> int k=1;</b></p><p><b> char n;</b></p><p> pp.begin();</p><p> while(
162、k==1)</p><p><b> {</b></p><p> n=pp.mainmenu();</p><p><b> switch(n)</b></p><p><b> {</b></p><p> case '1'
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《c++面向?qū)ο蟪绦蛟O(shè)計(jì)》課程設(shè)計(jì)——職工信息管理系統(tǒng)
- 《c++程序設(shè)計(jì)》課程設(shè)計(jì)--學(xué)生學(xué)籍管理系統(tǒng)
- c++課程設(shè)計(jì)---學(xué)生信息管理系統(tǒng)
- c語(yǔ)言程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告----學(xué)生信息管理系統(tǒng)
- c++程序設(shè)計(jì)課程設(shè)計(jì)---學(xué)生成績(jī)管理系統(tǒng)
- c++課程設(shè)計(jì)——學(xué)生信息管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- c++程序設(shè)計(jì)課程設(shè)計(jì)---學(xué)生成績(jī)管理系統(tǒng)
- c++課程設(shè)計(jì)報(bào)告--學(xué)生信息管理系統(tǒng)
- c語(yǔ)言程序設(shè)計(jì)課程設(shè)計(jì)--學(xué)生宿舍信息管理系統(tǒng)
- c++程序設(shè)計(jì)課程設(shè)計(jì)--電費(fèi)管理系統(tǒng)
- c++程序設(shè)計(jì)課程設(shè)計(jì)--電費(fèi)管理系統(tǒng)
- c++課程設(shè)計(jì)--學(xué)生選課系統(tǒng)程序設(shè)計(jì)報(bào)告
- c++課程設(shè)計(jì)-學(xué)生選課系統(tǒng)程序設(shè)計(jì)文檔
- c++課程設(shè)計(jì)--學(xué)生選課系統(tǒng)程序設(shè)計(jì)報(bào)告
- 課程設(shè)計(jì)--c++編寫(xiě)的學(xué)生信息管理系統(tǒng)
- c++課程設(shè)計(jì)---高校學(xué)生信息管理系統(tǒng)
- 面向?qū)ο骳++課程設(shè)計(jì)--學(xué)生信息管理系統(tǒng)
- java面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)--學(xué)生信息管理系統(tǒng)程序設(shè)計(jì)
- c++程序設(shè)計(jì)課程設(shè)計(jì)---公司人員管理系統(tǒng)
- 高級(jí)程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告—學(xué)生信息管理系統(tǒng)
評(píng)論
0/150
提交評(píng)論