




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 面向?qū)ο蟪绦蛟O(shè)計(jì)實(shí)踐課程實(shí)習(xí)學(xué)生姓名曾慶勛所在專業(yè)計(jì)算機(jī)科學(xué)與技術(shù)所在班級(jí)1132任課老師陳有英實(shí)習(xí)時(shí)間2014年 6月 1 日目錄 TOC o 1-3 h z u HYPERLINK l _Toc388960316 內(nèi)容摘要 PAGEREF _Toc388960316 h 3 HYPERLINK l _Toc388960317 系統(tǒng)需求分析 PAGEREF _Toc388960317 h 3 HYPERLINK l _Toc388960318 目的與意義 PAGEREF _Toc388960318 h 3 HYPERLINK l _Toc388960319 系統(tǒng)分析 PAGEREF _To
2、c388960319 h 4 HYPERLINK l _Toc388960320 總體設(shè)計(jì) PAGEREF _Toc388960320 h 4 HYPERLINK l _Toc388960321 功能分析 PAGEREF _Toc388960321 h 4 HYPERLINK l _Toc388960322 系統(tǒng)功能模塊圖 PAGEREF _Toc388960322 h 5 HYPERLINK l _Toc388960323 詳細(xì)設(shè)計(jì) PAGEREF _Toc388960323 h 6 HYPERLINK l _Toc388960324 類層次圖 PAGEREF _Toc388960324 h
3、 6 HYPERLINK l _Toc388960325 各功能模塊實(shí)現(xiàn) PAGEREF _Toc388960325 h 6 HYPERLINK l _Toc388960326 系統(tǒng)實(shí)現(xiàn) PAGEREF _Toc388960326 h 17 HYPERLINK l _Toc388960327 實(shí)習(xí)總結(jié)與體會(huì) PAGEREF _Toc388960327 h 21 HYPERLINK l _Toc388960328 參考文獻(xiàn) PAGEREF _Toc388960328 h 22 HYPERLINK l _Toc388960329 附錄 PAGEREF _Toc388960329 h 22內(nèi)容摘要學(xué)
4、生成績管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),其開發(fā)主要包括后臺(tái)數(shù)據(jù)庫的建立和維護(hù)以及前端應(yīng)用程序的開發(fā)兩個(gè)方面。對(duì)于前者要求建立起數(shù)據(jù)一致性和完整性強(qiáng)、數(shù)據(jù)安全性好的庫。而對(duì)于后者則要求應(yīng)用程序功能完備,易使用等特點(diǎn)。本系統(tǒng)主要完成對(duì)學(xué)生成績的管理,主要包括添加、修改、刪除,查詢等方面。系統(tǒng)可以完成對(duì)各類信息的瀏覽、查詢、添加、刪除、修改等功能。 系統(tǒng)的核心是添加、修改和刪除三者之間的聯(lián)系,每一個(gè)表的修改都將聯(lián)動(dòng)的影響其它的表,當(dāng)完成添加或刪除操作時(shí)系統(tǒng)會(huì)自動(dòng)地完成學(xué)生成績的修改。查詢功能也是系統(tǒng)的核心之一,在系統(tǒng)中主要根據(jù)學(xué)生姓名和學(xué)號(hào)進(jìn)行查詢,其目的都是為了方便用戶使用。系統(tǒng)采用當(dāng)前優(yōu)秀
5、的開發(fā)工具VC 6.0,是微軟推出的一款C+編譯器,將“高級(jí)語言”翻譯為“機(jī)器語言(低級(jí)語言)”的程序。Visual C+是一個(gè)功能強(qiáng)大的可視化軟件開發(fā)工具。報(bào)告主要介紹了本課題的開發(fā)背景,所要完成的功能和開發(fā)的過程。重點(diǎn)的說明了系統(tǒng)設(shè)計(jì)的重點(diǎn)、設(shè)計(jì)思想、難點(diǎn)技術(shù)和解決方案。關(guān)鍵詞:MIS;VC 6.0;學(xué)生成績管理系統(tǒng)系統(tǒng)需求分析目的與意義進(jìn)一步學(xué)習(xí)和鞏固本課程所講解的主要內(nèi)容,加深對(duì)面向?qū)ο蟪绦蛟O(shè)計(jì)思想的理解。掌握C+程序設(shè)計(jì)方法以及上機(jī)調(diào)試技巧,為今后學(xué)習(xí)其他專業(yè)課程打好基礎(chǔ)。提高和加強(qiáng)計(jì)算機(jī)應(yīng)用及軟件開發(fā)能力,培養(yǎng)學(xué)生獨(dú)立分析問題、解決問題、查閱資料以及自學(xué)能力,以適應(yīng)計(jì)算機(jī)產(chǎn)業(yè)日新月
6、異的發(fā)展形勢(shì)。C+是實(shí)踐性很強(qiáng)的課程。課程設(shè)計(jì)是加強(qiáng)學(xué)生實(shí)踐能力的一個(gè)強(qiáng)有力手段。課程設(shè)計(jì)要求學(xué)生在完成程序設(shè)計(jì)的同時(shí)能夠?qū)懗霰容^規(guī)范的設(shè)計(jì)報(bào)告。嚴(yán)格實(shí)施課程設(shè)計(jì)這一環(huán)節(jié),對(duì)于學(xué)生基本程序設(shè)計(jì)素養(yǎng)的培養(yǎng)和軟件工作者工作作風(fēng)的訓(xùn)練,將起到顯著的促進(jìn)作用。系統(tǒng)分析1、用C+語言及開發(fā)工具VC 6.0實(shí)現(xiàn)系統(tǒng)。2、對(duì)學(xué)生信息(包括班級(jí)、學(xué)號(hào)、姓名、高等數(shù)學(xué)、c+語言、大學(xué)英語、計(jì)算機(jī)網(wǎng)絡(luò)、總分等)進(jìn)行管理包括學(xué)生成績的信息輸入、輸出、查詢、刪除、排序、統(tǒng)計(jì)、退出。3、學(xué)生信息包括內(nèi)容較多,為了簡化討論,要求設(shè)計(jì)的管理系統(tǒng)能夠完成以下功能:(1)能夠從屏幕上讀取一個(gè)學(xué)生的信息并將信息存入到數(shù)據(jù)文件中。
7、(2)能夠?qū)⒅付ǖ男畔奈募袆h除。(3)能夠按編號(hào)、姓名對(duì)學(xué)生的信息進(jìn)行檢索并將檢索結(jié)果顯示在屏幕上。(4)可以統(tǒng)計(jì)全部學(xué)生的總成績,及其在班上的排名。(5)能夠統(tǒng)計(jì)各科的平均成績及及格率。(6)要求有錯(cuò)誤提示功能,例如性別只能輸入男女,輸入錯(cuò)誤提示重新輸入。(7)如果檢索不到相應(yīng)的信息應(yīng)提示用戶??傮w設(shè)計(jì)功能分析 “學(xué)生成績管理系統(tǒng)”包括以下幾個(gè)模塊:輸入學(xué)生資料,增加學(xué)生資料,按學(xué)號(hào)、姓名查找學(xué)生資料,按學(xué)號(hào)查找刪除該學(xué)生資料,按學(xué)號(hào)查找修改該學(xué)生資料,按總分排序,顯示全部學(xué)生成績,統(tǒng)計(jì)各科的平均成績及及格率及退出系統(tǒng)。本系統(tǒng)根據(jù)學(xué)生成績管理的需要,而建立一個(gè)“學(xué)生成績管理系統(tǒng)”,以方便
8、對(duì)成績的各項(xiàng)管理操作。本系統(tǒng)能對(duì)成績進(jìn)行輸入和輸出;能按成績對(duì)學(xué)生進(jìn)行排序,并顯示學(xué)生資料、成績等,不過得以系統(tǒng)輸入學(xué)生資料、成績?yōu)榍疤幔荒芴砑訉W(xué)生成績資料;能根據(jù)學(xué)生的姓名來查詢?cè)搶W(xué)生的成績資料,并能修改或刪除學(xué)生信息;能夠從文件中讀取學(xué)生信息,并且添加到系統(tǒng)中;能把對(duì)系統(tǒng)所進(jìn)行的操作進(jìn)行保存,以及時(shí)更新系統(tǒng)中的數(shù)據(jù)。系統(tǒng)功能模塊圖主菜單輸入學(xué)生資料模塊增加學(xué)生資料模塊按學(xué)號(hào)查詢學(xué)生資料模塊按姓名查詢學(xué)生資料模塊修改學(xué)生資料模塊刪除學(xué)生資料模塊按總分排序?qū)W生模塊顯示全部學(xué)生資料模塊統(tǒng)計(jì)各科的平均成績及及格率模塊詳細(xì)設(shè)計(jì)類層次圖總分Sum網(wǎng)絡(luò)成績英語成績高數(shù)成績體育成績C+成績姓名Name學(xué)號(hào)
9、Num班級(jí)Class排名Order學(xué)生類Stu各功能模塊實(shí)現(xiàn)輸入學(xué)生成績功能模塊的核心算法:void Input(Stu stud) /輸入學(xué)生成績 system(cls); /*運(yùn)行前清屏*/ int i=0; int flag; char sign; coutendl 請(qǐng)輸入學(xué)生成績 =endl;while(sign!=n&sign!=N) /*判斷*/ coutstudi.class_0; loop: coutstudi.num; int c=0;while(ci) c+; if(studi.num=studi-c.num) cout 你輸入的學(xué)號(hào)已經(jīng)存在!請(qǐng)重新輸入。endl; got
10、o loop; ; do flag=0; coutstudi.c_program; if(studi.c_program100 |studi.c_program1) cout對(duì)不起,請(qǐng)輸入1-100之間的數(shù)字!n; else flag=1;while(flag=0); do flag=0; ; if(100 |1) cout對(duì)不起,請(qǐng)輸入1-100之間的數(shù)字!n; else flag=1;while(flag=0); do flag=0; coutstudi.english; if(studi.english100 |studi.english1) cout對(duì)不起,
11、請(qǐng)輸入1-100之間的數(shù)字!n; else flag=1;while(flag=0); do flag=0; coutstudi.math;if(studi.math100 |studi.math1) cout對(duì)不起,請(qǐng)輸入1-100之間的數(shù)字!n; else flag=1;while(flag=0); do flag=0; coutstudi.sport; if(studi.sport100 |studi.sport1) cout對(duì)不起,請(qǐng)輸入1-100之間的數(shù)字!n; else flag=1;while(flag=0); studi.sum=studi.c_program+studi.en
12、glish+studi.math+studi.sport; cout總分為:studi.sumendl; cout提示:是否繼續(xù)寫入學(xué)生成績?(Y/N); cinsign; /*輸入判斷*/ i+; Write(stud,i);按學(xué)號(hào)查找學(xué)生成績功能模塊的核心算法:void Lookup1(Stu stud) /按學(xué)號(hào)查找學(xué)生成績 system(cls); /*運(yùn)行前清屏*/int n=Read(stud);int s; int i=0;coutendl 查找學(xué)生成績 =endl;cout請(qǐng)輸入需要查找學(xué)生的學(xué)號(hào):s; while(studi.num-s)!=0&in) i+; /*查找判斷*
13、/ if(i=n) cout提示:對(duì)不起,無法找到該學(xué)生的信息!endl; /*輸入失敗信息*/ elsecoutendl; cout班級(jí):studi.class_0endl; /*輸出該學(xué)生信息*/ cout學(xué)號(hào):studi.numendl; cout姓名:endl; coutC+程序設(shè)計(jì):studi.c_programendl; cout計(jì)算機(jī)網(wǎng)絡(luò):endl; cout大學(xué)英語:studi.englishendl; cout高等數(shù)學(xué):studi.mathendl; cout大學(xué)體育:studi.sportendl; cout總分:studi.sumendl;按姓名查找學(xué)
14、生成績功能模塊的核心算法:void Lookup2(Stu stud)/按姓名查找學(xué)生成績system(cls); /*運(yùn)行前清屏*/int n=Read(stud);char s20; int i=0;coutendl 查找學(xué)生成績 =endl;cout請(qǐng)輸入需要查找學(xué)生的姓名:s; int flag=0;for(int j=0;jn;j+)if(strcmp(s,()=0) flag=1;coutendl; cout班級(jí):studj.class_0endl; /*輸出該學(xué)生信息*/ cout學(xué)號(hào):studj.numendl; cout姓名:endl;
15、 coutC+程序設(shè)計(jì):studj.c_programendl; cout計(jì)算機(jī)網(wǎng)絡(luò):endl; cout大學(xué)英語:studj.englishendl; cout高等數(shù)學(xué):studj.mathendl; cout大學(xué)體育:studj.sportendl; cout總分:studj.sumendl;if(flag=0)cout對(duì)不起您要查詢的學(xué)生不存在,請(qǐng)查證后再輸入!endl;修改學(xué)生成績功能模塊的核心算法:void Change(Stu stud) /修改學(xué)生成績 system(cls); /*運(yùn)行前清屏*/int n=Read(stud);int s; int i=0;coutendl 修
16、改學(xué)生成績 =endl;cout請(qǐng)輸入需要修改成績學(xué)生的學(xué)號(hào):s; while(studi.num-s)!=0&in) i+; /*查找判斷*/ if(i=n) cout提示:對(duì)不起,無該學(xué)生的成績endl; /*輸入失敗信息*/ elsecout該學(xué)生的信息endl; /*格式頭*/ cout班級(jí)t學(xué)號(hào)t姓名tc+t 網(wǎng)絡(luò)t英語t數(shù)學(xué)t體育t平均分endl;coutendl; coutstudi.class_0tstudi.c_tstudi.englishtstudi.mathtstudi.sporttstudi.sumendl;cout請(qǐng)重新輸入該
17、學(xué)生的信息endl;cout班級(jí):studi.class_0; cout學(xué)號(hào):studi.num; cout姓名:; coutC+程序設(shè)計(jì)成績:studi.c_program; cout計(jì)算機(jī)網(wǎng)絡(luò)成績:; cout大學(xué)英語成績:studi.english; cout高等數(shù)學(xué)成績:studi.math; cout大學(xué)體育成績:studi.sport; studi.sum=studi.c_program+studi.english+studi.math+studi.sport; cout平均分為:studi.sumendl;char c;cout是否保存數(shù)據(jù)?(y/n)c;if
18、(c!=n&c!=N)Write(stud,n);刪除學(xué)生成績功能模塊的核心算法:void Delete(Stu stud) /按學(xué)號(hào)查找,刪除學(xué)生信息 system(cls); /*運(yùn)行前清屏*/ int n=Read(stud);int s; int i=0,j;coutendl 刪除學(xué)生成績 =endl;cout請(qǐng)輸入需要?jiǎng)h除學(xué)生的學(xué)號(hào):s; while(studi.num-s)!=0&in) i+; /*查找判斷*/ if(i=n) cout提示:對(duì)不起,無法找到該學(xué)生endl; /*返回失敗信息*/ elsefor(j=i;jn-1;j+) /*刪除操作*/ strcpy(studj
19、.class_0,studj+1.class_0); studj.num=studj+1.num; strcpy(,studj+1.name); studj.c_program=studj+1.c_program; =studj+; studj.english=studj+1.english; studj.math=studj+1.math; studj.sport=studj+1.sport; studj.sum=studj+1.sum;cout提示:已成功刪除!endl; /*返回成功信息*/ Write(stud,n-1);按總分排序功能模塊的核心算法:void Pa
20、ixu(Stu stud)system(cls); /*運(yùn)行前清屏*/ int i,j,k; float s; char t20;coutendl 降序排序成績 =endl;int n=Read(stud);for(i=0;in-1;i+) /*冒泡法排序*/ for(j=0;jn-1-i;j+) if(studj.sumstudj+1.sum) strcpy(t,studj+1.class_0); strcpy(studj+1.class_0,studj.class_0); strcpy(studj.class_0,t); k=studj+1.num; studj+1.num=studj.n
21、um; studj.num=k; strcpy(t,studj+1.name); strcpy(studj+1.name,); strcpy(,t); s=studj+1.c_program; studj+1.c_program=studj.c_program; studj.c_program=s; s=studj+; studj+=; =s; s=studj+1.english; studj+1.english=studj.english; studj.english=s; s=studj+1.math; studj+1.math=studj.math
22、; studj.math=s; s=studj+1.sport; studj+1.sport=studj.sport; studj.sport=s; s=studj+1.sum; studj+1.sum=studj.sum; studj.sum=s; coutendl; /*格式頭*/ cout班級(jí)t 學(xué)號(hào)t姓名tC+t網(wǎng)絡(luò)t英語t數(shù)學(xué)t體育t總分t名次endl; coutendl; for(i=0;in;i+) /*循環(huán)輸入*/ studi.order=i+1;coutstudi.class_0tstudi.c_t studi.english t s
23、tudi.mathtstudi.sportt studi.sumtstudi.orderendl; Write(stud,n);顯示全部學(xué)生成績的核心算法:void OutputAll(Stu stud) /顯示全部學(xué)生成績 system(cls); /*運(yùn)行前清屏*/int n=Read(stud);coutendl 顯示全部學(xué)生成績 =endl;if(!stud)cout沒有記錄; elsecoutendl; /*格式頭*/ cout班級(jí)t 學(xué)號(hào)t姓名tC+t網(wǎng)絡(luò)t英語t數(shù)學(xué)t體育t總分endl; coutendl; for(int i=0;in;i+) /*循環(huán)輸入*/ coutstud
24、i.class_0tstudi.c_t studi.english t studi.mathtstudi.sportt studi.sumendl; coutendl; void Tongji(Stu stud) system(cls); /*運(yùn)行前清屏*/int n=Read(stud);統(tǒng)計(jì)各科的平均成績及及格率的核心算法:float suma,sumb,sumc,sumd,sume;float pj1,pj2,pj3,pj4,pj5;float jg1,jg2,jg3,jg4,jg5;for(int i=0;in;i+)suma+=studi.c
25、_program;sumb+=;sumc+=studi.english;sumd+=studi.math;sume+=studi.sport;pj1=suma/n;pj2=sumb/n;pj3=sumc/n;pj4=sumd/n;pj5=sume/n;int m,h,k,p,q;m=0;n=0;k=0;p=0;q=0; for(int j=0;j=60)m+; if(=60)h+; if( studj.english=60)k+; if( studj.math=60) p+; if( studj.sport) q+; jg1=(m/n)*100;jg2=(h/n)*100;jg3=(k/n)*
26、100;jg4=(p/n)*100;jg5=(q/n)*100;coutendl; /*格式頭*/ coutttC+tt網(wǎng)絡(luò)tt英語tt數(shù)學(xué)tt體育endl; coutendl; cout平均分setprecision(0)pj1tsetprecision(0)pj2tsetprecision(0)pj3tsetprecision(0)pj4tsetprecision(0)pj5endl;coutendl; cout及格率setprecision(0)jg1%tsetprecision(0)jg2%tsetprecision(0)jg3%tsetprecision(0)jg4%tsetprec
27、ision(0)jg5%endl;coutendl; 系統(tǒng)實(shí)現(xiàn)運(yùn)行的初始界面如下圖所示,顯示系統(tǒng)主界面選擇功能(1)系統(tǒng)則進(jìn)入輸入學(xué)生成績的功能塊,如下圖所示選擇功能(2)系統(tǒng)則進(jìn)入插入學(xué)生成績的功能塊,如下圖所示選擇功能(3)系統(tǒng)則進(jìn)入按學(xué)號(hào)查找學(xué)生成績的功能塊,如下圖所示選擇功能(4)系統(tǒng)則進(jìn)入按姓名查找學(xué)生成績的功能塊,如下圖所示選擇功能(5)系統(tǒng)則進(jìn)入修改學(xué)生資料的功能塊,如下圖所示選擇功能(6)系統(tǒng)則進(jìn)入刪除學(xué)生資料的功能塊,如下圖所示選擇功能(7)系統(tǒng)則進(jìn)入按總分排序的功能塊,如下圖所示選擇功能(8)系統(tǒng)則進(jìn)入顯示全部學(xué)生成績的功能塊,如下圖所示選擇功能(9)系統(tǒng)則進(jìn)入統(tǒng)計(jì)各科的平均成績及及格率的功能塊,如下圖所示選擇功能(0)系統(tǒng)則進(jìn)入統(tǒng)計(jì)各科的平均成績及及格率的功能塊,如下圖所示實(shí)習(xí)總結(jié)與體會(huì)此次c+課程設(shè)計(jì),在指導(dǎo)教師的精心教導(dǎo)下,我們學(xué)會(huì)了如何用C+編寫一個(gè)簡單的應(yīng)用程序。首先要對(duì)程序的設(shè)計(jì)要求有一個(gè)比較明確的認(rèn)識(shí),然后系
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 南通智能裝備制造基地建設(shè)合作合同
- 報(bào)警器安裝施工合同
- 個(gè)人居間合同
- 借款合同抵押與擔(dān)保
- 民間借貸抵押合同年
- 冬季水果供應(yīng)鏈管理服務(wù)合同
- 森林資源培育與利用合作合同
- 沈陽科技學(xué)院《推銷理論與實(shí)務(wù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣州城市理工學(xué)院《科研實(shí)訓(xùn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 雙手向后拋實(shí)心球的練習(xí) 教學(xué)設(shè)計(jì)-2023-2024學(xué)年高一上學(xué)期體育與健康人教版必修第一冊(cè)
- 寧夏回族自治區(qū)地圖矢量動(dòng)態(tài)PPT模板(圖文)
- 教育測(cè)量與評(píng)價(jià)第三版PPT完整全套教學(xué)課件
- 中小學(xué)教師教育法律法規(guī)培訓(xùn)PPT頁
- 醫(yī)療器械可用性工程文檔
- 非遺文化介紹推廣課件
- 火電機(jī)組整套啟動(dòng)前安全技術(shù)交底卡
- 菲斯特轉(zhuǎn)子秤的
- 藥學(xué)專業(yè)教學(xué)資源庫建設(shè)申報(bào)書
- 解讀《泰州市市區(qū)城市排水管理辦法》
- 人教版五年級(jí)下冊(cè)口算題大全(全冊(cè)齊全)
- 林則徐課件完整版
評(píng)論
0/150
提交評(píng)論