版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 《C++課程設(shè)計(jì)》</b></p><p> 課程設(shè)計(jì)題目:學(xué)生成績(jī)管理系統(tǒng)</p><p><b> 學(xué)生學(xué)號(hào):</b></p><p><b> 學(xué)生姓名:</b></p><p><b> 指導(dǎo)教師:</b>&l
2、t;/p><p> 目 錄</p><p><b> 1、系統(tǒng)總體框架</b></p><p><b> 2、功能分析</b></p><p><b> 3、模塊設(shè)計(jì)與分析</b></p><p><b> 4、類的設(shè)計(jì)與分
3、析</b></p><p><b> 5、特色算法分析</b></p><p><b> 6、功能測(cè)試</b></p><p> 7、存在的不足與對(duì)策</p><p><b> 8、程序源代碼</b></p><p><b>
4、; 9、使用說明</b></p><p><b> 系統(tǒng)總體框架</b></p><p><b> 圖1 </b></p><p><b> 2、功能分析</b></p><p> “學(xué)生成績(jī)管理系統(tǒng)”包括九個(gè)模塊:輸入學(xué)生資料,輸出學(xué)生資料,學(xué)生姓名按順
5、序排列,添加學(xué)生資料,按姓名查找,刪除該學(xué)生資料,查找并顯示學(xué)生資料,按姓名查找,修改該學(xué)生資料,從文件中讀入數(shù)據(jù),儲(chǔ)存學(xué)生資料并退出系統(tǒng)。這九個(gè)模塊既相互聯(lián)系又相互獨(dú)立。</p><p> 本系統(tǒng)根據(jù)學(xué)生成績(jī)管理的需要,而建立一個(gè)“學(xué)生成績(jī)管理系統(tǒng)”,以方便對(duì)成績(jī)的各項(xiàng)管理操作。本系統(tǒng)能對(duì)成績(jī)進(jìn)行輸入和輸出;能按姓名對(duì)學(xué)生進(jìn)行排序,并顯示學(xué)生資料、成績(jī)等,不過得以系統(tǒng)輸入學(xué)生資料、成績(jī)?yōu)榍疤?;能添加學(xué)生成績(jī)資
6、料;能根據(jù)學(xué)生的姓名來查詢?cè)搶W(xué)生的成績(jī)資料,并修改或是刪除該學(xué)生信息;能夠從文件中讀取學(xué)生信息,并且添加到系統(tǒng)中;能把對(duì)系統(tǒng)所進(jìn)行的操作進(jìn)行保存,以及時(shí)更新系統(tǒng)中的數(shù)據(jù)。</p><p><b> 3、模塊設(shè)計(jì)與分析</b></p><p> (1)輸入學(xué)生資料模塊:</p><p> 主要功能用來對(duì)學(xué)生的成績(jī)進(jìn)行收集和輸入。在學(xué)生信息保
7、存在系統(tǒng)中的前提下,成績(jī)錄入需要輸入學(xué)生資料,比如班級(jí),學(xué)號(hào),姓名。在準(zhǔn)確輸入學(xué)生資料后,就可以對(duì)該學(xué)生的各科成績(jī)進(jìn)行錄入。該學(xué)生各科成績(jī)輸入成功后,系統(tǒng)會(huì)提示是否繼續(xù)進(jìn)行操作,如果想繼續(xù)輸入學(xué)生成績(jī)就輸入y,不想再輸入學(xué)生成績(jī)的話就輸入n,再輸入n之后,系統(tǒng)返回到主菜單。 </p><p> (2)輸出學(xué)生資料模塊:</p><p> 主要功能用來對(duì)學(xué)生的成績(jī)進(jìn)行輸出。在系統(tǒng)已經(jīng)錄
8、入了學(xué)生資料成績(jī)的前提下,使用該功能可以顯示所有學(xué)生的信息,資料等等。具體包括學(xué)生的班級(jí),學(xué)號(hào),姓名和各科成績(jī)。在查看學(xué)生的資料,成績(jī)各方面的信息后,按任意鍵就可以返回到主菜單?! ?lt;/p><p> (3) 按學(xué)生姓名進(jìn)行排列模塊</p><p> 主要功能是用來對(duì)學(xué)生的資料按姓名進(jìn)行排序。在系統(tǒng)保存學(xué)生資料,成績(jī)的前提下,使用此功能可以對(duì)學(xué)生的資料按姓名進(jìn)行排序,這樣就方便查找姓氏
9、相同或是相近的同學(xué)的資料。</p><p> (4) 添加學(xué)生資料模塊</p><p> 主要功能是用來添加學(xué)生資料,成績(jī)。如果系統(tǒng)有保存學(xué)生資料的情況下,想錄入學(xué)生成績(jī)的話,就不用添加學(xué)生資料這模塊。如果系統(tǒng)沒有保存該學(xué)生信息的話,就要使用此模塊,在成功添加學(xué)生資料后,就可以對(duì)該學(xué)生進(jìn)行其他的操作。</p><p> ?。?)按姓名查找,刪除該學(xué)生資料模塊&l
10、t;/p><p> 主要功能是用來刪除學(xué)生資料。在系統(tǒng)保存學(xué)生資料的前提下,想刪除某學(xué)生的資料,可以輸入學(xué)生姓名,系統(tǒng)查找該學(xué)生資料后,就可以刪除了。由于學(xué)生輟學(xué),畢業(yè)等原因,及時(shí)對(duì)系統(tǒng)進(jìn)行更新,刪除一些沒用的信息,可以使系統(tǒng)更加優(yōu)化</p><p> ?。?)查找并顯示學(xué)生資料模塊</p><p> 主要功能是用來查找學(xué)生資料。在系統(tǒng)保存了某學(xué)生資料的前提下,想要
11、查找該學(xué)生資料,可以輸入該學(xué)生姓名,這樣系統(tǒng)就會(huì)顯示該學(xué)生資料和各科成績(jī)等信息</p><p> ?。?)按姓名查找,修改學(xué)生資料模塊</p><p> 主要功能是用來修改學(xué)生資料。在系統(tǒng)保存了某學(xué)生資料的前提下,想要查找該學(xué)生資料,可以輸入該學(xué)生姓名,系統(tǒng)就會(huì)顯示該學(xué)生資料和各科成績(jī)等信息,這樣就可以修改該學(xué)生的資料,成績(jī)等信息。</p><p> ?。?)從文
12、件中讀入數(shù)據(jù)模塊</p><p> 主要功能是用來從文件中讀入學(xué)生數(shù)據(jù)。由于一些資料可以用Word文檔或Excel表格輸入,故在此模塊中增加了導(dǎo)入數(shù)據(jù)的功能。這樣就方便很多,不用把學(xué)生資料一個(gè)一個(gè)添加,節(jié)省了很多時(shí)間精力。</p><p> ?。?)儲(chǔ)存學(xué)生資料并退出系統(tǒng)模塊</p><p> 主要功能是用來儲(chǔ)存學(xué)生資料。在對(duì)系統(tǒng)進(jìn)行一系列操作,比如添加、刪除、
13、修改學(xué)生資料后,對(duì)系統(tǒng)的最新操作進(jìn)行保存,及時(shí)更新系統(tǒng),方便下一次的操作。</p><p><b> 4、類的設(shè)計(jì)與分析</b></p><p> Student類類圖</p><p> typedef class</p><p><b> {</b></p><p>
14、;<b> public:</b></p><p> char num[10];</p><p> char cla[10];</p><p> char name[20];</p><p> char byyl[10];</p><p> char jsjzc[20];</p&
15、gt;<p> char sjk[10];</p><p> char jsjyy[20];</p><p> char jsdl[20];</p><p><b> }Student;</b></p><p> 表1 Student類說明表</p><p><b&
16、gt; 5、特色算法分析</b></p><p> 功能:定義菜單函數(shù),通過輸出函數(shù)顯示系統(tǒng)功能。利用switch語句實(shí)現(xiàn)多分支選擇結(jié)構(gòu)。</p><p> 算法思路:switch語句的執(zhí)行流程是:首先計(jì)算switch后面圓括號(hào)中表達(dá)式的值,然后用此值依次與各個(gè)case的常量表達(dá)式比較,若圓括號(hào)中表達(dá)式的值與某個(gè)case后面的常量表達(dá)式的值相等,就執(zhí)行此case后面的語句
17、,執(zhí)行后遇break語句就退出switch語句。</p><p><b> 代碼:</b></p><p> void main() //主函數(shù)調(diào)用。</p><p><b> {</b></p><p><b> int n=0;</b></p&
18、gt;<p><b> for(;;)</b></p><p><b> {</b></p><p> switch(menu())</p><p><b> {</b></p><p><b> case 1:</b></p
19、><p> cout<<setw(15)<<" "<<"輸入學(xué)生資料"<<endl;</p><p> n=Input(stu,n);</p><p><b> break;</b></p><p><b> case
20、2:</b></p><p> cout<<setw(15)<<" "<<"輸出所有學(xué)生資料"<<endl;</p><p> Display(stu,n); </p><p><b> break;</b></p><
21、p><b> case 3:</b></p><p> cout<<setw(15)<<" "<<"按姓名排序"<<endl;</p><p> Sort(stu,n);</p><p> cout<<setw(15)<<
22、;" ";</p><p> system("pause");</p><p><b> break;</b></p><p><b> case 4:</b></p><p> cout<<setw(15)<<" &
23、quot;<<"插入學(xué)生資料"<<endl;</p><p> n=Insert(stu,n);</p><p> cout<<setw(15)<<" ";</p><p> system("pause");</p><p>&l
24、t;b> break;</b></p><p><b> case 5:</b></p><p> cout<<setw(15)<<" "<<"刪除學(xué)生資料"<<endl;</p><p> cout<<setw(15)
25、<<" "<<"輸入他(她)的姓名:";</p><p> n=Delete(stu,n);</p><p> cout<<setw(15)<<" ";</p><p> system("pause");</p><
26、;p><b> break;</b></p><p><b> case 6:</b></p><p> cout<<setw(15)<<" "<<"查找學(xué)生"<<endl;</p><p> Query(stu,n);&
27、lt;/p><p> cout<<setw(15)<<" ";</p><p> system("pause"); </p><p><b> break;</b></p><p><b> case 7:</b></p>
28、;<p> cout<<setw(15)<<" "<<"修改學(xué)生資料"<<endl;</p><p> cout<<setw(15)<<" "<<"輸入你要修改的學(xué)生的姓名:";</p><p> n=Xiu
29、gai(stu,n);</p><p> system("pause");</p><p><b> break;</b></p><p><b> case 8:</b></p><p> cout<<setw(15)<<" "
30、;<<"從文件中讀入數(shù)據(jù)"<<endl;</p><p> n=AddfromText(stu,n);</p><p><b> break;</b></p><p><b> case 0:</b></p><p> cout<<se
31、tw(15)<<" "<<"將所有資料寫入文件"<<endl;</p><p> WritetoText(stu,n);</p><p> cout<<setw(15)<<" ";</p><p> system("pause&qu
32、ot;);</p><p><b> break;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> 6、功能測(cè)試
33、</b></p><p> 圖1 學(xué)生成績(jī)管理系統(tǒng)主菜單頁面</p><p> 圖二 為輸入學(xué)生資料模塊</p><p> 圖三 為輸出學(xué)生資料模塊</p><p> 圖四 按學(xué)生姓名進(jìn)行排列模塊</p><p> 圖五 為添加學(xué)生資料模塊</p><p> 圖六 為按姓
34、名查找,刪除該學(xué)生資料模塊</p><p> 圖七 為查找并顯示學(xué)生資料模塊</p><p> 圖八 為按姓名查找,修改學(xué)生資料模塊</p><p> 圖九 為從文件中讀入數(shù)據(jù)模塊</p><p> 圖十 為儲(chǔ)存學(xué)生資料并退出系統(tǒng)模塊</p><p> 7、存在的不足與對(duì)策</p><p&
35、gt; 本學(xué)生成績(jī)管理系統(tǒng)由九個(gè)模塊組成,每個(gè)模塊相互聯(lián)系又相互獨(dú)立。這個(gè)學(xué)生成績(jī)管理系統(tǒng)存在著很多不足之處,由于自己本身編程能力的問題,這個(gè)系統(tǒng)可以實(shí)現(xiàn)的功能非常有限。只能實(shí)現(xiàn)學(xué)生管理系統(tǒng)最基本的功能,可以進(jìn)行簡(jiǎn)單的輸入、輸出學(xué)生資料,查詢和修改學(xué)生信息,能直接從文件中讀入數(shù)據(jù),能對(duì)系統(tǒng)所作的修改、操作進(jìn)行保存等。而且在每個(gè)模塊也有不足的地方,比如在輸入學(xué)生資料時(shí),對(duì)每個(gè)信息項(xiàng)沒有嚴(yán)格的規(guī)定,可以輸入任何的字符。同時(shí)有些模塊還不能實(shí)
36、現(xiàn)本應(yīng)該有的功能,這有待以后努力,爭(zhēng)能夠?qū)崿F(xiàn)該有的功能。</p><p> 在21世紀(jì)的科技時(shí)代,科學(xué)技術(shù)突飛猛進(jìn),計(jì)算機(jī)已經(jīng)不僅是在科技上應(yīng)用,而且在生活中也是同樣得到了廣泛在應(yīng)用。如今,不管是小學(xué)、初中、高中、甚至是很多大學(xué)生的學(xué)生成績(jī)管理基本上是靠人工進(jìn)行管理,但隨著時(shí)間的變化,學(xué)校規(guī)模的擴(kuò)大,有關(guān)學(xué)生成績(jī)管理工作和所涉及到的數(shù)據(jù)量越來越大越來越多,大多數(shù)學(xué)校不得不靠增加人力、物力、財(cái)力來進(jìn)行學(xué)生成績(jī)管理
37、。但是人工管理成績(jī)檔案具有效率低、查找麻煩、可靠性不高、保密性低等因素。因此開發(fā)出一個(gè)不僅僅是適用于大中專院校以及其它高校通用的學(xué)生成績(jī)管理系統(tǒng)是必要的。 開發(fā)一個(gè)學(xué)生成績(jī)管理系統(tǒng),采用計(jì)算機(jī)對(duì)學(xué)生成績(jī)進(jìn)行管理,進(jìn)一步提高了辦學(xué)效益和現(xiàn)代化水平。為廣大教師和學(xué)生提高工作效率,實(shí)現(xiàn)學(xué)生成績(jī)信息管理工作流程的系統(tǒng)化、規(guī)范化和自動(dòng)化?,F(xiàn)在我國的大中專院校的學(xué)生成績(jī)檔案管理水平普遍都不是很高,有的還停留在全用紙介質(zhì)基礎(chǔ)上,這種管理方式已
38、不能適應(yīng)時(shí)代的發(fā)展,社會(huì)的需求,因?yàn)樗速M(fèi)了大量的人力物力,也存在著許多不足的因素。在今天信息時(shí)代這種傳統(tǒng)的管理方法必然會(huì)被計(jì)算機(jī)為基礎(chǔ)的信息管理系統(tǒng)所代替。一個(gè)高效的學(xué)生成績(jī)管理系統(tǒng)可以存儲(chǔ)歷屆的學(xué)生成績(jī)檔案,不需要大量</p><p><b> 8、程序源代碼</b></p><p> #include<iostream></p>&
39、lt;p> #include<stdio.h></p><p> #include<ctype.h></p><p> #include<stdlib.h></p><p> #include<string.h></p><p> #include<iostream>
40、</p><p> #include<iomanip></p><p> using namespace std;</p><p> typedef class</p><p><b> {</b></p><p><b> public:</b><
41、;/p><p> char num[10];</p><p> char cla[10];</p><p> char name[20];</p><p> char byyl[10];</p><p> char jsjzc[20];</p><p> char sjk[10];<
42、;/p><p> char jsjyy[20];</p><p> char jsdl[20];</p><p><b> }Student;</b></p><p> Student stu[80];</p><p> int menu()</p><p><
43、b> {</b></p><p><b> char c;</b></p><p> for(;c<'0'||c>'8';)</p><p><b> {</b></p><p> system("cls")
44、;</p><p> cout<<" 歡迎使用本學(xué)生成績(jī)管理系統(tǒng)??!"<<endl;</p><p> cout<<"編程人員:劉迪兆";</p><p> cout<<endl; </p><p>
45、; cout<<"****************************** 學(xué)生成績(jī)管理系統(tǒng) ****************************** "<<endl;</p><p> cout<<setw(32)<<" "<<"1.輸入學(xué)生資料"<<endl;&l
46、t;/p><p> cout<<setw(32)<<" "<<"2.輸出學(xué)生資料"<<endl;</p><p> cout<<setw(32)<<" "<<"3.按學(xué)生姓名進(jìn)行排列"<<endl;</p>
47、;<p> cout<<setw(32)<<" "<<"4.添加學(xué)生資料"<<endl;</p><p> cout<<setw(32)<<" "<<"5.按姓名查找,刪除該學(xué)生資料"<<endl;</p>
48、<p> cout<<setw(32)<<" "<<"6.查找并顯示學(xué)生資料"<<endl;</p><p> cout<<setw(32)<<" "<<"7.按姓名查找,修改該學(xué)生資料"<<endl;</p>
49、<p> cout<<setw(32)<<" "<<"8.從文件中讀入數(shù)據(jù)"<<endl;</p><p> cout<<setw(32)<<" "<<"0.儲(chǔ)存學(xué)生資料并退出系統(tǒng)"<<endl;</p><
50、;p> cout<<setfill('=')<<setw(48)<<"="<<endl;</p><p> cout<<setw(15)<<" ";</p><p> cout<<"請(qǐng)選擇(0-8):";</p&g
51、t;<p> c=getchar();</p><p><b> }</b></p><p> return(c-'0');</p><p><b> }</b></p><p> int Input(Student stud[],int n) //
52、輸入數(shù)據(jù)。</p><p><b> {</b></p><p><b> int i=0;</b></p><p> char sign,x[10];</p><p> for(;sign != 'n' && sign != 'N';)<
53、;/p><p><b> {</b></p><p> cout<<setw(15)<<" "<<"班級(jí):";</p><p> cin>>stud[n+i].cla;</p><p> cout<<setw(15)&
54、lt;<" "<<"學(xué)號(hào):";</p><p> cin>>stud[n+i].num;</p><p> cout<<setw(15)<<" "<<"姓名:";</p><p> cin>>stud[n
55、+i].name;</p><p> cout<<setw(15)<<" "<<"數(shù)據(jù)結(jié)構(gòu):";</p><p> cin>>stud[n+i].byyl;</p><p> cout<<setw(15)<<" "<<
56、"離散數(shù)學(xué):";</p><p> cin>>stud[n+i].jsjzc;</p><p> cout<<setw(15)<<" "<<"大學(xué)物理:";</p><p> cin>>stud[n+i].sjk;</p>&l
57、t;p> cout<<setw(15)<<" "<<"大學(xué)英語:";</p><p> cin>>stud[n+i].jsjyy;</p><p> cout<<setw(15)<<" "<<"模擬電路:";<
58、/p><p> cin>>stud[n+i].jsdl;</p><p><b> gets(x);</b></p><p> cout<<setw(10)<<" ";</p><p> cout<<"還有要輸入的信息嗎?(y/n)&quo
59、t;;</p><p> cin>>&sign;</p><p><b> i++;</b></p><p><b> }</b></p><p> return(n+i); </p><p><b> }</b></
60、p><p> void Display(Student stud[], int n) //輸出數(shù)據(jù)。</p><p><b> {</b></p><p><b> int i;</b></p><p> cout<<setw(15)<<" "
61、<<setfill('-')<<setw(65)<<"-"<<endl;</p><p> cout<<setw(15)<<" "<<"班級(jí) 學(xué)號(hào) 姓名 數(shù)據(jù)結(jié)構(gòu) 離散數(shù)學(xué) 大學(xué)物理 大學(xué)英語 模擬電路"<<endl;</p>
62、<p> cout<<setw(15)<<" ";</p><p> cout<<setfill('-')<<setw(65)<<"-"<<endl;</p><p> for(i=1;i<n+1;i++)</p><p&
63、gt;<b> {</b></p><p> printf("\t\t%-9s%-9s%-9s%-9s%-9s%-9s%-9s\n",stud[i-1].cla,stud[i-1].num,stud[i-1].name,stud[i-1].byyl,stud[i-1].jsjzc,stud[i-1].sjk,stud[i-1].jsjyy);</p>&
64、lt;p> if(i>1 && i%10==0)</p><p><b> {</b></p><p> cout<<setw(15)<<" "<<setfill('-')<<setw(35)<<"-"<<e
65、ndl;</p><p> cout<<setw(15)<<" ";</p><p> system("pause");</p><p> cout<<setw(15)<<" "<<setfill('-')<<se
66、tw(35)<<"-"<<endl;</p><p><b> }</b></p><p><b> }</b></p><p> cout<<setw(15)<<" ";</p><p> system
67、("pause");</p><p><b> }</b></p><p> void Sort(Student stud[],int n) //按名字排序。</p><p><b> {</b></p><p><b> int i,j;<
68、/b></p><p> char t[20];</p><p> for(i=0;i<n-1;i++)</p><p> for(j=0;j<n-1-i;j++)</p><p> if(strcmp(stud[j].num,stud[j+1].num)>0)</p><p><
69、b> {</b></p><p> strcpy(t,stud[j+1].cla);</p><p> strcpy(stud[j+1].cla,stud[j].cla);</p><p> strcpy(stud[j].cla,t);</p><p> strcpy(t,stud[j+1].num); </
70、p><p> strcpy(stud[j+1].num,stud[j].num); </p><p> strcpy(stud[j].num,t); </p><p> strcpy(t,stud[j+1].name); </p><p> strcpy(stud[j+1].name,stud[j].name); </p>
71、<p> strcpy(stud[j].name,t); </p><p> strcpy(t,stud[j+1].byyl); </p><p> strcpy(stud[j+1].name,stud[j].byyl); </p><p> strcpy(stud[j].byyl,t); </p><p> strcpy
72、(t,stud[j+1].jsjzc); </p><p> strcpy(stud[j+1].name,stud[j].jsjzc); </p><p> strcpy(stud[j].jsjzc,t); </p><p> strcpy(t,stud[j+1].sjk); </p><p> strcpy(stud[j+1].na
73、me,stud[j].sjk); </p><p> strcpy(stud[j].sjk,t); </p><p> strcpy(t,stud[j+1].jsjyy); </p><p> strcpy(stud[j+1].name,stud[j].jsjyy); </p><p> strcpy(stud[j].jsjyy,t)
74、; </p><p> strcpy(t,stud[j+1].jsdl); </p><p> strcpy(stud[j+1].name,stud[j].jsdl); </p><p> strcpy(stud[j].jsdl,t); </p><p><b> }</b></p><p&g
75、t; cout<<setw(15)<<" "<<"排序成功!"<<endl;</p><p><b> }</b></p><p> int Insert(Student stud[],int n) //插入一條學(xué)生信息。</p><p>
76、;<b> {</b></p><p> char x[10];</p><p> cout<<setw(15)<<" "<<"班級(jí):";</p><p> cin>>stud[n].cla;</p><p> cout&l
77、t;<setw(15)<<" "<<"學(xué)號(hào):";</p><p> cin>>stud[n].num;</p><p> cout<<setw(15)<<" "<<"姓名:";</p><p> cin&
78、gt;>stud[n].name;</p><p> cout<<setw(15)<<" "<<"數(shù)據(jù)結(jié)構(gòu):";</p><p> cin>>stud[n].byyl;</p><p> cout<<setw(15)<<" "
79、;<<"離散數(shù)學(xué):";</p><p> cin>>stud[n].jsjzc;</p><p> cout<<setw(15)<<" "<<"大學(xué)物理:";</p><p> cin>>stud[n].sjk;</p>
80、;<p> cout<<setw(15)<<" "<<"大學(xué)英語:";</p><p> cin>>stud[n].jsjyy;</p><p> cout<<setw(15)<<" "<<"模擬電路:";&
81、lt;/p><p> cin>>stud[n].jsdl;</p><p><b> gets(x);</b></p><p><b> n++;</b></p><p> cout<<setw(15)<<" "<<"
82、插入成功!"<<endl;</p><p> return(n);</p><p><b> }</b></p><p> int Delete(Student stud[],int n) //按名字查找信息,刪除信息。</p><p><b> {</b&g
83、t;</p><p> char s[20];</p><p> int i=0,j;</p><p><b> cin>>s;</b></p><p> while(strcmp(stud[i].name,s)!=0&&i<n) i++; /*查找判斷*/ </p>
84、<p><b> if(i==n) </b></p><p><b> {</b></p><p> printf("\t\t\t沒有發(fā)現(xiàn)該學(xué)生資料!\n"); /*返回失敗信息*/ </p><p> return(n); </p><p><b&g
85、t; } </b></p><p> for(j=i;j<n-1;j++) /*刪除操作*/ </p><p><b> { </b></p><p> strcpy(stud[j].num,stud[j+1].num); </p><p> strcpy(stud[j].name,stud[
86、j+1].name); </p><p> strcpy(stud[j].cla,stud[j+1].cla);</p><p> strcpy(stud[j].byyl,stud[j+1].byyl);</p><p> strcpy(stud[j].jsjzc,stud[j+1].jsjzc);</p><p> strcpy(s
87、tud[j].sjk,stud[j+1].sjk); </p><p> strcpy(stud[j].jsjyy,stud[j+1].jsjyy);</p><p> strcpy(stud[j].jsdl,stud[j+1].jsdl);</p><p><b> } </b></p><p> cout&l
88、t;<setw(15)<<" "<<"當(dāng)前信息已刪除成功!"<<endl; /*返回成功信息*/ </p><p> return(n-1); </p><p><b> }</b></p><p> void Query(Student stud[],in
89、t n) //按名字查找信息</p><p><b> {</b></p><p> char s[20];</p><p><b> int i=0;</b></p><p> cout<<setw(15)<<" "<<&q
90、uot;輸入他(她)的姓名:";</p><p><b> cin>>s;</b></p><p> while(strcmp(stud[i].name,s)!=0&&i<n) </p><p> i++; /*查找判斷*/ </p><p><b> if(
91、i==n) </b></p><p><b> {</b></p><p> printf("\t\t\t沒有發(fā)現(xiàn)該學(xué)生資料!\n"); /*輸入失敗信息*/ </p><p><b> return; </b></p><p><b> } <
92、;/b></p><p> cout<<setw(15)<<" "<<"學(xué)號(hào):"<<stud[i].num<<endl;</p><p> cout<<setw(15)<<" "<<"數(shù)據(jù)結(jié)構(gòu):"<&
93、lt;stud[i].byyl<<endl;</p><p> cout<<setw(15)<<" "<<"離散數(shù)學(xué):"<<stud[i].jsjzc<<endl;</p><p> cout<<setw(15)<<" "<&
94、lt;"大學(xué)物理:"<<stud[i].sjk<<endl;</p><p> cout<<setw(15)<<" "<<"大學(xué)英語:"<<stud[i].jsjyy<<endl;</p><p> cout<<setw(15)&l
95、t;<" "<<"模擬電路:"<<stud[i].jsdl<<endl;</p><p><b> }</b></p><p> int Xiugai(Student stud[],int n) //修改信息。</p><p><b>
96、 {</b></p><p> n=Delete(stud,n);</p><p> cout<<setw(15)<<" "<<"輸入你要修改的學(xué)生資料"<<endl;</p><p> n=Insert(stud,n);</p><p&g
97、t; cout<<setw(15)<<" "<<"修改完成"<<endl;</p><p> return(n);</p><p><b> }</b></p><p> int AddfromText(Student stud[], int n)
98、 //從文件中讀入數(shù)據(jù)。</p><p><b> {</b></p><p> int i=0,num;</p><p><b> FILE *fp;</b></p><p> char filename[20];</p><p> cout<<
99、;setw(15)<<" "<<"輸入文件名:";</p><p> cin>>filename;</p><p> if((fp=fopen(filename,"rb"))==NULL)</p><p><b> {</b></p>
100、;<p> cout<<setw(15)<<" "<<"無法打開文件"<<endl;</p><p> cout<<setw(15)<<" ";</p><p> system("pause");</p>
101、<p> return(n);</p><p><b> }</b></p><p> fscanf(fp,"%d",&num);</p><p> for(;i<num;)</p><p><b> {</b></p><p
102、> fscanf(fp,"%s%s%s%s%s%s%s",stud[n+i].cla,stud[n+i].num,stud[n+i].name,stud[n+i].byyl,stud[n+i].jsjzc,stud[n+i].sjk,stud[n+i].jsjyy,stud[n+i].jsdl); </p><p><b> i++;</b></p>
103、<p><b> }</b></p><p><b> n+=num;</b></p><p> fclose(fp);</p><p> cout<<setw(15)<<" "<<"讀入成功!"<<endl;&l
104、t;/p><p> cout<<setw(15)<<" ";</p><p> system("pause");</p><p> return(n);</p><p><b> }</b></p><p> void Writ
105、etoText(Student stud[],int n) //將所有記錄寫入文件。</p><p><b> {</b></p><p><b> int i=0;</b></p><p><b> FILE *fp;</b></p><p> char
106、 filename[20];</p><p> cout<<setw(15)<<" "<<"將資料輸入文件"<<endl;</p><p> cout<<setw(15)<<" "<<"輸入文件名:";</p>
107、<p> cin>>filename;</p><p> if((fp=fopen(filename,"w"))==NULL)</p><p><b> {</b></p><p> cout<<setw(15)<<" "<<"
108、無法打開文件"<<endl;</p><p> system("pause");</p><p><b> return;</b></p><p><b> }</b></p><p> fprintf(fp,"%d\n",n);
109、 </p><p> for(;i<n;)</p><p><b> {</b></p><p> fprintf(fp,"%-6s%-5s%-5s%-5s%-5s%-5s%-5s\n",stud[i].cla,stud[i].num,stud[i].name,stud[i].byyl,stud[i].jsjz
110、c,stud[i].sjk,stud[i].jsjyy); </p><p><b> i++;</b></p><p><b> }</b></p><p> fclose(fp);</p><p> cout<<setw(15)<<" "<
111、;<"輸入成功!"<<endl;</p><p><b> int b;</b></p><p> cout<<setw(15)<<" "<<"請(qǐng)確定是否退出系統(tǒng):"<<endl;</p><p> cout<
112、;<setw(15)<<" "<<"0.退出系統(tǒng)"<<endl;</p><p> cout<<setw(15)<<" "<<"1.返回"<<endl;</p><p><b> cin>>b;&
113、lt;/b></p><p><b> if(b==0)</b></p><p><b> {</b></p><p> cout<<setw(15)<<" "<<"謝謝使用!"<<endl;</p><
114、p> cout<<setw(15)<<" ";</p><p> system("pause");</p><p><b> exit(0);</b></p><p><b> }</b></p><p><b>
115、; }</b></p><p> void main() //主函數(shù)調(diào)用。</p><p><b> {</b></p><p><b> int n=0;</b></p><p><b> for(;;)</b></p>&
116、lt;p><b> {</b></p><p> switch(menu())</p><p><b> {</b></p><p><b> case 1:</b></p><p> cout<<setw(15)<<" &qu
117、ot;<<"輸入學(xué)生資料"<<endl;</p><p> n=Input(stu,n);</p><p><b> break;</b></p><p><b> case 2:</b></p><p> cout<<setw(15)
118、<<" "<<"輸出所有學(xué)生資料"<<endl;</p><p> Display(stu,n); </p><p><b> break;</b></p><p><b> case 3:</b></p><p>
119、 cout<<setw(15)<<" "<<"按姓名排序"<<endl;</p><p> Sort(stu,n);</p><p> cout<<setw(15)<<" ";</p><p> system("paus
120、e");</p><p><b> break;</b></p><p><b> case 4:</b></p><p> cout<<setw(15)<<" "<<"插入學(xué)生資料"<<endl;</p>
121、<p> n=Insert(stu,n);</p><p> cout<<setw(15)<<" ";</p><p> system("pause");</p><p><b> break;</b></p><p><b>
122、 case 5:</b></p><p> cout<<setw(15)<<" "<<"刪除學(xué)生資料"<<endl;</p><p> cout<<setw(15)<<" "<<"輸入他(她)的姓名:";<
123、;/p><p> n=Delete(stu,n);</p><p> cout<<setw(15)<<" ";</p><p> system("pause");</p><p><b> break;</b></p><p>&
124、lt;b> case 6:</b></p><p> cout<<setw(15)<<" "<<"查找學(xué)生"<<endl;</p><p> Query(stu,n);</p><p> cout<<setw(15)<<"
125、; ";</p><p> system("pause"); </p><p><b> break;</b></p><p><b> case 7:</b></p><p> cout<<setw(15)<<" "
126、<<"修改學(xué)生資料"<<endl;</p><p> cout<<setw(15)<<" "<<"輸入你要修改的學(xué)生的姓名:";</p><p> n=Xiugai(stu,n);</p><p> system("pause&qu
127、ot;);</p><p><b> break;</b></p><p><b> case 8:</b></p><p> cout<<setw(15)<<" "<<"從文件中讀入數(shù)據(jù)"<<endl;</p>&
128、lt;p> n=AddfromText(stu,n);</p><p><b> break;</b></p><p><b> case 0:</b></p><p> cout<<setw(15)<<" "<<"將所有資料寫入文件"
129、;<<endl;</p><p> WritetoText(stu,n);</p><p> cout<<setw(15)<<" ";</p><p> system("pause");</p><p><b> break;</b>&l
130、t;/p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> 9、使用手冊(cè)</b></p><p> (1)用戶進(jìn)入系統(tǒng)后,就會(huì)看到學(xué)生管理系統(tǒng)的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- c++課程設(shè)計(jì)----學(xué)生成績(jī)管理系統(tǒng)
- 學(xué)生成績(jī)管理系統(tǒng)c++課程設(shè)計(jì)
- c++課程設(shè)計(jì)-學(xué)生成績(jī)管理系統(tǒng)
- c++課程設(shè)計(jì)---學(xué)生成績(jī)管理系統(tǒng)
- c++課程設(shè)計(jì)---學(xué)生成績(jī)管理系統(tǒng)
- c++課程設(shè)計(jì)——學(xué)生成績(jī)管理系統(tǒng)
- c++課程設(shè)計(jì)--學(xué)生成績(jī)管理系統(tǒng)
- c++學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)
- c++課程設(shè)計(jì)--學(xué)生成績(jī)管理系統(tǒng)
- c++課程設(shè)計(jì)--學(xué)生成績(jī)管理
- c++課程設(shè)計(jì)--- 學(xué)生成績(jī)管理系統(tǒng)設(shè)計(jì)
- c++課程設(shè)計(jì)--學(xué)生成績(jī)管理
- c++學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- c++學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- c++學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- c++課程設(shè)計(jì)報(bào)告--學(xué)生成績(jī)管理系統(tǒng)
- c&c++課程設(shè)計(jì)-學(xué)生成績(jī)管理系統(tǒng)
- c++課程設(shè)計(jì)--學(xué)生成績(jī)管理系統(tǒng)設(shè)計(jì)與管理
- c++程序課程設(shè)計(jì)報(bào)告—學(xué)生成績(jī)管理系統(tǒng)
- c++程序設(shè)計(jì)課程設(shè)計(jì)---學(xué)生成績(jī)管理系統(tǒng)
評(píng)論
0/150
提交評(píng)論