版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 學(xué)生成績管理系統(tǒng)(順序表)—查找、插入</p><p><b> 摘 要</b></p><p> C是一種通用的程序設(shè)計(jì)語言,C語言在很多方面繼承和發(fā)展了以往許多高級(jí)程序設(shè)計(jì)語言的成功經(jīng)驗(yàn)和特色,具有書寫格式自由、數(shù)據(jù)類型豐富、語句功能強(qiáng)大、執(zhí)行速度快和存儲(chǔ)控制能力強(qiáng)等優(yōu)點(diǎn)。</p><p> 學(xué)生信息管理系統(tǒng)設(shè)
2、計(jì)是關(guān)于對(duì)學(xué)生各種信息管理來設(shè)計(jì)的一個(gè)系統(tǒng)。整個(gè)系統(tǒng)從符合操作簡便、界面友好、靈活、實(shí)用、安全的要求出發(fā),完成學(xué)生信息管理的全過程,包括創(chuàng)建學(xué)生信息、查找學(xué)生信息、修改學(xué)生信息、插入學(xué)生信息、刪除學(xué)生信息、按平均分或者總分排序、統(tǒng)計(jì)學(xué)生信息等工作。</p><p> 本課程主要介紹了本課題的開發(fā)背景,所要完成的功能和開發(fā)的過程。重點(diǎn)說明了系統(tǒng)的設(shè)計(jì)思路、總體設(shè)計(jì)、各個(gè)功能模塊的設(shè)計(jì)與實(shí)現(xiàn)方法。</p>
3、;<p> 關(guān)鍵詞:學(xué)生管理系統(tǒng),C語言,數(shù)據(jù)結(jié)構(gòu),Wintc</p><p><b> 目錄</b></p><p> 1課題背景介紹1</p><p> 1.1 課題背景1</p><p><b> 1.2 目的1</b></p><p>
4、<b> 2需求分析2</b></p><p> 2.1 數(shù)據(jù)需求分析2</p><p> 2.2 功能需求分析2</p><p> 3系統(tǒng)總體設(shè)計(jì)3</p><p> 3.1 系統(tǒng)模塊劃分3</p><p> 3.2 系統(tǒng)模塊結(jié)構(gòu)圖3</p><p
5、> 4系統(tǒng)詳細(xì)設(shè)計(jì)4</p><p> 4.1創(chuàng)建并輸出學(xué)生信息庫的信息4</p><p> 4.2查找學(xué)生信息5</p><p> 4.3插入學(xué)生信息7</p><p><b> 5系統(tǒng)測(cè)試8</b></p><p><b> 總 結(jié)9</b&
6、gt;</p><p><b> 參考文獻(xiàn)10</b></p><p><b> 課題背景介紹</b></p><p><b> 1.1 課題背景</b></p><p> 隨著網(wǎng)絡(luò)技術(shù)的迅速發(fā)展,各種行業(yè)紛紛應(yīng)用網(wǎng)絡(luò)技術(shù)操作和管理。當(dāng)然學(xué)校是一個(gè)很大的管理系統(tǒng),隨著
7、學(xué)生的大量增加,其管理難度也越來越大,如何對(duì)學(xué)生的個(gè)人信息進(jìn)行更好的管理,這就是我們研究這個(gè)課題的目的。</p><p> 在計(jì)算機(jī)迅速發(fā)展的今天,將計(jì)算機(jī)這一信息處理器應(yīng)用于學(xué)生的個(gè)人信息管理已是勢(shì)必所然,而且這也將學(xué)生信息管理帶來前所未有的改變。采用計(jì)算機(jī)對(duì)學(xué)生的信息管理是信息科學(xué)化和現(xiàn)代化的重要標(biāo)志,它也給各大高校帶來了明顯的社會(huì)效益。主要體現(xiàn)在:極大地提高了管理工作人員的工作效率,大大地減少了以往的資料
8、室所存在的各種弊端,同時(shí)也加強(qiáng)和規(guī)范學(xué)習(xí)對(duì)于學(xué)生信息的管理。</p><p> 為了能夠更好的來實(shí)現(xiàn)對(duì)學(xué)生信息的管理,通過對(duì)學(xué)生信息管理日常工作的詳細(xì)調(diào)查,搜集了大量的資料,從系統(tǒng)結(jié)構(gòu)的組織,功能的實(shí)現(xiàn),技術(shù)的要求以及可行性等多方面進(jìn)行考慮,認(rèn)為本課題是一個(gè)適應(yīng)現(xiàn)今學(xué)校學(xué)生個(gè)人信息管理需求的計(jì)算機(jī)信息管理系統(tǒng),具有一定的實(shí)際開發(fā)價(jià)值和使用價(jià)值。</p><p><b> 1.
9、2 目的</b></p><p> 本課題運(yùn)用C語言進(jìn)行開發(fā),C語言能夠簡單的進(jìn)行編譯一些程序,來實(shí)現(xiàn)對(duì)一些問題的解決。它雖然比較簡單的處理一些問題,但卻有更高的效率。它能夠被大多數(shù)用戶所接受,因?yàn)樗軌虺尸F(xiàn)出清晰的界面,是人們能夠很好的理解。能在一些方面給人們更好的服務(wù),成為人們的好幫手。</p><p> 經(jīng)過這一個(gè)學(xué)期對(duì)《數(shù)據(jù)結(jié)構(gòu)》的學(xué)習(xí),我們都學(xué)到了不少東西,可能有
10、些學(xué)的還不夠理想,但無論如何這些知識(shí)都為我們的下一步學(xué)習(xí)打下了堅(jiān)實(shí)的基礎(chǔ)。做這么一個(gè)課程設(shè)計(jì),一方面是為了檢查我們一個(gè)學(xué)期以來的學(xué)習(xí)成果,另一方面也是為了讓我們進(jìn)一步的掌握和運(yùn)用它,同時(shí)也讓我們認(rèn)清自己的不足之處和薄弱環(huán)節(jié),加以彌補(bǔ)和加強(qiáng)。</p><p><b> 需求分析</b></p><p> 隨著學(xué)校規(guī)模的發(fā)展擴(kuò)大,學(xué)校要向著大型化,規(guī)?;l(fā)展,而對(duì)于學(xué)
11、生信息管理系統(tǒng)有關(guān)的信息隨之增加。在這種情況下單靠人工來處理學(xué)生的信息不但顯得大不從心,而且極容易出錯(cuò)。因此,需要開發(fā)學(xué)生管理系統(tǒng),該系統(tǒng)可以實(shí)現(xiàn)由計(jì)算機(jī)代替人工執(zhí)行一系列復(fù)雜而繁瑣的操作,使得學(xué)校管理人員可以輕松快捷的完成學(xué)生信息管理的任務(wù)。</p><p> 2.1 數(shù)據(jù)需求分析</p><p> 本系統(tǒng)的主要數(shù)據(jù)是學(xué)生信息,學(xué)生信息包括:學(xué)生學(xué)號(hào),姓名,性別,語文成績,數(shù)學(xué)成績,
12、英語成績,平均成績,總成績等。</p><p> 2.2 功能需求分析</p><p> 本系統(tǒng)主要實(shí)現(xiàn)對(duì)學(xué)生成績信息進(jìn)行管理,需要實(shí)現(xiàn)以下幾個(gè)方面的管理功能:</p><p> ?。?)創(chuàng)建學(xué)生信息:錄入學(xué)生的信息。</p><p> ?。?)查找學(xué)生信息:按學(xué)號(hào)、姓名查找。</p><p> ?。?)刪除學(xué)生信
13、息;按學(xué)號(hào)、姓名刪除。</p><p> ?。?)更新學(xué)生信息:找到要修改的學(xué)號(hào),修改相應(yīng)信息。</p><p> ?。?)排序?qū)W生信息:按某科目或者總分排序。</p><p> ?。?)統(tǒng)計(jì)學(xué)生信息:統(tǒng)計(jì)及格和優(yōu)秀人數(shù)。</p><p> ?。?)插入學(xué)生信息:插入一個(gè)新的學(xué)生。</p><p><b>
14、 系統(tǒng)總體設(shè)計(jì)</b></p><p> 3.1 系統(tǒng)模塊劃分</p><p> 本系統(tǒng)主要是對(duì)學(xué)生信息的管理,包括了有關(guān)學(xué)生信息的創(chuàng)建、查詢、刪除、更新、排序、統(tǒng)計(jì)、插入等功能。整個(gè)系統(tǒng)分為以下幾個(gè)模塊。</p><p> 1、歡迎界面模塊 本模塊提供歡迎界面的信息輸出模式。</p><p><b> 2、創(chuàng)
15、建模塊</b></p><p> 本模塊用于創(chuàng)建學(xué)生的信息,包括學(xué)生的學(xué)號(hào)、姓名、性別、語文成績、數(shù)學(xué)成績、英語成績、平均成績、總成績。</p><p> 3、查詢模塊 本模塊用于查詢學(xué)生的信息,按學(xué)號(hào)或姓名查詢等。</p><p> 4、刪除模塊 本模塊用于刪除學(xué)生的信息,按學(xué)號(hào)或姓名刪除等。</p><p> 5、
16、更新本模塊 用于根據(jù)輸入要查詢的學(xué)號(hào)來修改其相應(yīng)的信息。</p><p> 6、排序模塊 本模塊將學(xué)生成績按平均分或者總分排序。</p><p> 7、統(tǒng)計(jì)模塊 本模塊用于統(tǒng)計(jì)各科目及格和優(yōu)秀的人數(shù)。</p><p> 3.2 系統(tǒng)模塊結(jié)構(gòu)圖</p><p> 根據(jù)系統(tǒng)功能設(shè)計(jì),對(duì)應(yīng)的系統(tǒng)模塊結(jié)構(gòu)圖如圖1所示:</p>
17、<p> 圖1 系統(tǒng)模塊結(jié)構(gòu)圖</p><p><b> 系統(tǒng)詳細(xì)設(shè)計(jì)</b></p><p> 通過對(duì)該系統(tǒng)設(shè)計(jì)的了解與討論,同時(shí)也為了廣大使用者的方便與快捷。我們最后設(shè)計(jì)了這樣的一個(gè)界面。首先要讓使用者明白怎樣使用此系統(tǒng)。這就需要通過界面來給他們一個(gè)清晰而明白的空間。而我們?cè)O(shè)計(jì)的這個(gè)界面恰好符合了這一要求。通過調(diào)用界面函數(shù)來使使用者能夠很方便的
18、進(jìn)行查詢、插入等操作。</p><p> 4.1創(chuàng)建并輸出學(xué)生信息庫的信息</p><p> 學(xué)生信息管理系統(tǒng)的主界面提供進(jìn)入系統(tǒng)其他功能模塊的方法,使用戶能方便地調(diào)用查詢、插入。</p><p> typedef struct stu</p><p> { int xuehao;</p><p> cha
19、r name[N];</p><p> char sex[N];</p><p> int eng,math,ds;</p><p> char jianjie[NU];</p><p><b> }stu;</b></p><p> typedef struct student<
20、;/p><p> {stu data[M];</p><p><b> int len;</b></p><p><b> }student;</b></p><p><b> 創(chuàng)建信息庫:</b></p><p> student created
21、atabase( )</p><p> { student L;</p><p><b> int i;</b></p><p> printf("請(qǐng)輸入要?jiǎng)?chuàng)建的學(xué)生總數(shù)\n");</p><p> scanf("%d",&L.len);</p>
22、<p> for(i=1;i<=L.len;i++)</p><p> { printf("第 %d 個(gè)學(xué)生的基本信息\n",i);</p><p> printf("請(qǐng)輸入學(xué)號(hào)\n");</p><p> scanf("%d",&L.data[i-1].xuehao);&l
23、t;/p><p> printf("請(qǐng)輸入姓名\n");</p><p> scanf("%s",L.data[i-1].name);</p><p> printf("請(qǐng)輸入性別\n");</p><p> scanf("%s",L.data[i-1].se
24、x);</p><p> printf("請(qǐng)輸入英語成績\n");</p><p> scanf("%d",&L.data[i-1].eng);</p><p> printf("請(qǐng)輸入數(shù)學(xué)成績\n");</p><p> scanf("%d",&
25、amp;L.data[i-1].math);</p><p> printf("請(qǐng)輸入數(shù)據(jù)結(jié)構(gòu)成績\n");</p><p> scanf("%d",&L.data[i-1].ds);</p><p> printf("請(qǐng)輸入注釋\n");</p><p> scan
26、f("%s",L.data[i-1].jianjie);</p><p><b> }</b></p><p><b> return L;</b></p><p><b> }</b></p><p><b> 學(xué)生信息輸</b&g
27、t;</p><p> void out(student L)</p><p><b> {int i;</b></p><p> printf(" 學(xué)號(hào) 姓名 性別 英語 數(shù)學(xué) 數(shù)據(jù)結(jié)構(gòu) 注釋 \n");</p><p> for(i=1;i<=L.len
28、;i++)</p><p> {printf(" %d\t ",L.data[i-1].xuehao);</p><p> printf("%s\t ",L.data[i-1].name);</p><p> printf("%s\t",L.data[i-1].sex);</p><
29、;p> printf("%d\t",L.data[i-1].eng);</p><p> printf("%d\t",L.data[i-1].math);</p><p> printf("%d\t ",L.data[i-1].ds);</p><p> printf("%s \n&
30、quot;,L.data[i-1].jianjie);</p><p><b> }</b></p><p><b> }</b></p><p><b> 4.2查找學(xué)生信息</b></p><p> 按姓名查找或按學(xué)號(hào)查找,在初始化線性表后,在界面上進(jìn)入查詢模塊,選
31、擇你要進(jìn)行的操作:</p><p><b> 按照姓名查找學(xué)生</b></p><p> void search_name(student L)</p><p><b> {</b></p><p><b> int j=1;</b></p><p
32、> char n[N];</p><p> printf("輸入要查詢的姓名:\n");</p><p> scanf("%s",n);</p><p> while(strcmp(L.data[j-1].name,n)&&j<=L.len)</p><p><
33、b> j++;</b></p><p> if(strcmp(L.data[j-1].name,n)==0)</p><p><b> {</b></p><p> printf("%d ",L.data[j-1].xuehao);</p><p> print
34、f("%s ",L.data[j-1].name);</p><p> printf("%s ",L.data[j-1].sex);</p><p> printf("%d ",L.data[j-1].eng);</p><p> printf("%d
35、 ",L.data[j-1].math);</p><p> printf("%d ",L.data[j-1].ds);</p><p> printf("%s \n",L.data[j-1].jianjie);</p><p><b> }</b></p&
36、gt;<p><b> else</b></p><p> printf("沒有此學(xué)生!");</p><p><b> }</b></p><p><b> 按照學(xué)號(hào)查找學(xué)生</b></p><p> void search_no(
37、student L)</p><p><b> {</b></p><p><b> int j=1;</b></p><p><b> int n;</b></p><p> printf("輸入要查詢的學(xué)號(hào):\n");</p>&l
38、t;p> scanf("%d",&n);</p><p> while(L.data[j-1].xuehao!=n&&j<=L.len)</p><p><b> j++;</b></p><p> if(L.data[j-1].xuehao==n)</p><
39、p><b> {</b></p><p> printf("%d ",L.data[j-1].xuehao);</p><p> printf("%s ",L.data[j-1].name);</p><p> printf("%s ",
40、L.data[j-1].sex);</p><p> printf("%d ",L.data[j-1].eng);</p><p> printf("%d ",L.data[j-1].math);</p><p> printf("%d ",L.data[j-1].ds
41、);</p><p> printf("%s \n",L.data[j-1].jianjie);</p><p><b> }</b></p><p><b> else</b></p><p> printf("沒有此學(xué)生!");<
42、/p><p><b> }</b></p><p> void search(student L)</p><p><b> {</b></p><p><b> int c;</b></p><p> printf("\n1:查詢學(xué)號(hào)
43、 ");</p><p> printf("2:查詢姓名 ");</p><p> printf("3:退出\n");</p><p> printf("\n選擇:");</p><p> scanf("\n%d",&c);&l
44、t;/p><p><b> switch(c)</b></p><p><b> {</b></p><p> case 1:search_no(L);break;</p><p> case 2:search_name(L);break;</p><p> case
45、3:break;</p><p> default:printf("輸入有錯(cuò)!\n");</p><p><b> }}</b></p><p><b> 4.3插入學(xué)生信息</b></p><p> 根據(jù)分析,應(yīng)該先查找要插入的學(xué)生的學(xué)號(hào)是否已經(jīng)存在,存在的情況下,要賦
46、予一個(gè)新的學(xué)號(hào),直到不出現(xiàn)重復(fù)為止,然后將要插入的學(xué)生信息插入到順序表的最后,這種插入操作比較簡單。</p><p> 插入一個(gè)新學(xué)生的信息</p><p> student insert(student L)</p><p> { int n,x;</p><p> printf("請(qǐng)輸入該學(xué)生的學(xué)號(hào):\n");
47、</p><p> scanf("%d",&n);</p><p> x=isnu(L,n);</p><p><b> if(x>0)</b></p><p> { L.data[x].xuehao=n;</p><p> printf("請(qǐng)
48、輸入學(xué)生的基本信息\n");</p><p> printf("請(qǐng)輸入姓名\n");</p><p> scanf("%s",L.data[x].name);</p><p> printf("請(qǐng)輸入性別\n");</p><p> scanf("%s&q
49、uot;,L.data[x].sex);</p><p> printf("請(qǐng)輸入英語成績\n");</p><p> scanf("%d",&L.data[x].eng);</p><p> printf("請(qǐng)輸入數(shù)學(xué)成績\n");</p><p> scanf(&
50、quot;%d",&L.data[x].math);</p><p> printf("請(qǐng)輸入數(shù)據(jù)結(jié)構(gòu)成績\n");</p><p> scanf("%d",&L.data[x].ds);</p><p> printf("請(qǐng)輸入注釋\n");</p><
51、p> scanf("%s",L.data[x].jianjie);</p><p><b> L.len++;}</b></p><p><b> else</b></p><p> printf("請(qǐng)重新輸入該學(xué)生的學(xué)號(hào):\n");</p><p&
52、gt;<b> return L;</b></p><p><b> }</b></p><p><b> 系統(tǒng)測(cè)試</b></p><p><b> 下面是測(cè)試結(jié)果:</b></p><p> 創(chuàng)建信息庫bing shuc </p>
53、<p><b> 2.</b></p><p><b> \</b></p><p><b> 總 結(jié)</b></p><p> 本設(shè)計(jì)實(shí)現(xiàn)的功能:成績信息錄入、成績信息的管理等。并達(dá)到操作過程中的直觀、方便、實(shí)用、安全等要求。系統(tǒng)采用模塊化程序設(shè)計(jì)的方法,既便于系統(tǒng)功能的組合
54、和修改,又便于未參與系統(tǒng)開發(fā)的技術(shù)維護(hù)人員補(bǔ)充和維護(hù)。</p><p> 本系統(tǒng)經(jīng)過測(cè)試,證明其運(yùn)行是穩(wěn)定、可靠的。但在系統(tǒng)設(shè)計(jì)中也也遇到很多的問題,并且本系統(tǒng)的功能還需要不斷的完善和改進(jìn),在以后空閑時(shí)間里逐一進(jìn)行完善,使系統(tǒng)功能更加完善,使本軟件能夠更好的為大中型企業(yè)服務(wù),創(chuàng)造更大的社會(huì)價(jià)值。</p><p><b> 參考文獻(xiàn)</b></p>&
55、lt;p> [1] 譚浩強(qiáng).C程序設(shè)計(jì)[M].北京:清華大學(xué)出版社. 2005.</p><p> [2] 嚴(yán)蔚敏. 數(shù)據(jù)結(jié)構(gòu)(C語言版) [M]. 北京:清華大學(xué)出版社. 2008.</p><p> [3] 陳雁.數(shù)據(jù)結(jié)構(gòu) [M].北京:高等教育出版社,2004. </p><p> [4] 張磊.C程序設(shè)計(jì)教程.北京:中國鐵道出版社.200
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 學(xué)生成績管理系統(tǒng)課程設(shè)計(jì)
- 課程設(shè)計(jì)——學(xué)生成績管理系統(tǒng)
- 課程設(shè)計(jì)---學(xué)生成績管理系統(tǒng)
- 學(xué)生成績管理系統(tǒng)課程設(shè)計(jì)
- 學(xué)生成績管理系統(tǒng)課程設(shè)計(jì)
- 學(xué)生成績管理系統(tǒng)課程設(shè)計(jì)
- 學(xué)生成績管理系統(tǒng)課程設(shè)計(jì)
- 學(xué)生成績管理系統(tǒng) 課程設(shè)計(jì)
- 課程設(shè)計(jì)--學(xué)生成績管理系統(tǒng)
- 學(xué)生成績管理系統(tǒng)課程設(shè)計(jì)
- 課程設(shè)計(jì)-- 學(xué)生成績管理系統(tǒng)
- 學(xué)生成績管理系統(tǒng)課程設(shè)計(jì)
- 學(xué)生成績管理系統(tǒng)課程設(shè)計(jì)9
- 學(xué)生成績管理系統(tǒng)課程設(shè)計(jì)10
- vfp課程設(shè)計(jì)--- 學(xué)生成績管理系統(tǒng)
- java課程設(shè)計(jì)--學(xué)生成績管理系統(tǒng)
- vfp課程設(shè)計(jì)--學(xué)生成績管理系統(tǒng)
- 學(xué)生成績管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- vb課程設(shè)計(jì)---學(xué)生成績管理系統(tǒng)
- vb課程設(shè)計(jì)----學(xué)生成績管理系統(tǒng)
評(píng)論
0/150
提交評(píng)論