第一篇:c語言實(shí)驗(yàn)報(bào)告三 學(xué)生成績管理系統(tǒng)
1.實(shí)驗(yàn)內(nèi)容
實(shí)現(xiàn)一個(gè)學(xué)生成績處理程序,先輸入多名學(xué)生的學(xué)號和成績,然后進(jìn)入菜單,可以選擇打印,添加,修改,刪除或查詢成績(學(xué)號查詢和成績段查詢)。
2.實(shí)驗(yàn)步驟 2.1 程序1 2.1.1 程序功能
這是一個(gè)學(xué)生成績處理程序,通過用戶輸入多名學(xué)生的學(xué)號和成績,然后進(jìn)入菜單,可以選擇打印,添加,修改,刪除或查詢成績(學(xué)號查詢和成績段查詢)。2.1.2 設(shè)計(jì)思路
將一個(gè)大程序分塊化處理,各個(gè)部分先用普通方法實(shí)現(xiàn),在能運(yùn)行的條件下改用插入排序和折半查找實(shí)現(xiàn)。先實(shí)現(xiàn)輸入成績和菜單,再一項(xiàng)一項(xiàng)實(shí)現(xiàn)菜單中的功能。
2.1.3 流程圖或其他描述(不要求可以不寫)
2.1.4 程序代碼(要有注釋)
//實(shí)現(xiàn)一個(gè)學(xué)生成績處理程序,可以選擇打印、添加、修改、刪除或查詢成績(學(xué)號和成績段查詢)
#include
typedef struct student { long num;int score;}STU;
STU stu[N];int n=0;int KEY=0;int k;
void Input();void Output();void Add();void Direct();void Delete();void Search();void Sch();void Save();void Read();
void main(){
switch(chos){ case 1: Input();break;system(“cls”);printf(“n”);printf(“學(xué)生成績管理系統(tǒng)nn”);printf(“1.錄入n2.顯示n3.添加n4.修改n”);printf(“5.刪除n6.查找n7.查詢n8.退出n”);printf(“n請選擇: ”);scanf(“%d”, &chos);int chos;case 2:
} Output();break;case 3: Add();break;case 4: KEY = 1;Search();break;case 5: Delete();break;case 6: Search();break;case 7: Sch();break;case 8: exit(0);break;default:
} printf(“錯(cuò)誤!請按要求輸入!”);Sleep(2000);main();void Input(){
} int i=-1;system(“cls”);printf(“當(dāng)輸入學(xué)號為負(fù)時(shí)返回!n”);do{
i++;printf(“n”);printf(“請輸入第%2d個(gè)學(xué)生的學(xué)號: ”, i+1);scanf(“%ld”, &stu[i].num);if(stu[i].num < 0)break;printf(“請輸入第%2d個(gè)學(xué)生的成績: ”, i+1);scanf(“%d”, &stu[i].score);n++;}while(i
} Read();printf(“nn任意鍵返回!”);getchar();getchar();main();void Add(){
for(i=0;i } if(stu[N-1].num < stu[i].num){ for(j=n;j>i;j--){ } stu[i].num = stu[N-1].num;stu[i].score = stu[N-1].score;break;stu[j].num = stu[j-1].num;stu[j].score = stu[j-1].score;}else{ } stu[n].num = stu[N-1].num;stu[n].score = stu[N-1].score;break;}n++;printf(“修改后的”);Save();void Direct(){ } void Delete(){ system(“cls”);printf(“請輸入要?jiǎng)h除信息的學(xué)生學(xué)號: ”);scanf(“%ld”, &del);getchar();printf(“確認(rèn)刪除?(Y/N)”);int i, del;char key;printf(“請輸入修改后的成績: ”);scanf(“%d”, &stu[k].score);printf(“修改后的成績?yōu)?n”);printf(“t%8ldt%dn”, stu[k].num, stu[k].score);printf(“nn”);printf(“修改后的”);Save(); } scanf(“%c”, &key);if(key=='y' || key=='Y'){ } printf(“修改后的”);Save();for(i=0;i } if(del == stu[i].num){ } stu[i] = stu[i+1];n-= 1;void Search(){ int i;char key = 'y'; } long search;system(“cls”);if(KEY==1)printf(“n請輸入要修改成績學(xué)生的學(xué)號: ”);else printf(“n請輸入要查詢成績學(xué)生的學(xué)號: ”);scanf(“%ld”, &search);for(i=0;i } if(KEY == 1)Direct();KEY = 0;if(search == stu[i].num){ } printf(“學(xué)生信息為:n”);printf(“t%ldt%dn”, stu[i].num, stu[i].score);k = i;void Sch(){ } void Save(){ printf(“任意鍵返回!”);getchar();getchar();main();for(i=0;i } if(stu[i].score>=a && stu[i].score<=b)printf(“t%ldt%dn”, stu[i].num, stu[i].score);system(“cls”);printf(“請輸入您要查詢的成績段(A B): ”);scanf(“%d %d”, &a, &b);printf(“符合條件的學(xué)生有:n”);int i, a ,b; } FILE *fp;if((fp=fopen(“score.bin”, “wb”))== NULL){ } fwrite(stu, sizeof(STU), n, fp);fclose(fp);printf(“Failed to save the data!n”);exit(0);printf(“學(xué)生成績已儲(chǔ)存在”score.bin“中!n”);printf(“nn任意鍵返回!”);getchar();getchar();main();void Read(){ FILE *fp;int i, total; } printf(“學(xué)生信息:n”);if((fp=fopen(“score.bin”, “rb”))== NULL){ } printf(“Failed to read the data!n”);exit(0);for(i=0;!feof(fp);i++){ } fclose(fp);fread(&stu[i], sizeof(STU), 1, fp);total = i-1;for(i=0;i 3.實(shí)驗(yàn)體會(huì) 3.1 調(diào)試中出現(xiàn)的問題及解決過程 在程序中運(yùn)用數(shù)組時(shí)還是不夠熟練,調(diào)試時(shí)總出現(xiàn)指代不明或無法顯示所要內(nèi)容的情況,在認(rèn)真看老師課上例子后找出錯(cuò)誤所在,修改后運(yùn)行成功。 3.2 心得體會(huì) 3.3 實(shí)驗(yàn)改進(jìn)建議 在查詢某個(gè)學(xué)生成績,可實(shí)現(xiàn)查詢第n-m名學(xué)生成績,查詢分?jǐn)?shù)在n-m之間的學(xué)生成績,查詢平均成績;學(xué)生成績修改(增加、刪除、修改)等。 中南大學(xué) 二○一三~二○一四學(xué)年第二學(xué)期 信息科學(xué)與工程學(xué)院 C++課程設(shè)計(jì)報(bào)告 課程名稱: C++課程設(shè)計(jì)班級: 通信工程1304班學(xué)號:0905130417姓名:毛騰指導(dǎo)教師: 二○一四年七月 目錄 一. 需求分析 二.三. 四.五.六. 程序結(jié)構(gòu) 算法分析運(yùn)行結(jié)果 學(xué)之心得 程序源碼 一. 需求分析 (一)小型學(xué)生成績管理系統(tǒng) 1、需要處理的基礎(chǔ)數(shù)據(jù) ? 學(xué)生基本信息:如班級、學(xué)號、姓名、性別、年齡、宿舍號碼、電話號 碼等。 ? 學(xué)生選修課程的基本信息:課程編號、課程名稱、考試成績、平時(shí)成績、綜合成績、學(xué)分、重修否等。 2、系統(tǒng)的基本功能 ? 數(shù)據(jù)的錄入:如錄入學(xué)生的基本信息,以及該學(xué)生選修課程的基本信息; ? 數(shù)據(jù)的修改:如修改指定學(xué)號、或者指定姓名的學(xué)生信息,或者修改其 選修課程信息; ? 數(shù)據(jù)的插入:插入某個(gè)學(xué)生信息; ? 數(shù)據(jù)的查詢:如按學(xué)號查詢、按姓名查詢等; ? 數(shù)據(jù)的刪除:如刪除指定學(xué)號、或者指定姓名的學(xué)生及其選修課程信息; ?平均成績的計(jì)算:計(jì)算每個(gè)學(xué)生各門功課的平均成績,并按平均成績從 高到低的次序輸出學(xué)生信息; ? 列出不及格學(xué)生清單(學(xué)號、姓名、不及格的課程和成績)。? 考慮用文件把數(shù)據(jù)保存起來(可選)。 二.程序結(jié)構(gòu) (1)程序框圖 1、課程設(shè)計(jì)的目的、任務(wù) 《匯編語言》課程設(shè)計(jì)對于鞏固匯編語言理論知識(shí),加強(qiáng)學(xué)生的實(shí)際動(dòng)手能力和提高學(xué)生綜合素質(zhì)十分必要。課程設(shè)計(jì)的目的主要是通過程序設(shè)計(jì)方法和技能的基本訓(xùn)練,鞏固在課堂上學(xué)到的有關(guān)程序設(shè)計(jì)的基本知識(shí)和基本方法,通過實(shí)際動(dòng)手能力的培養(yǎng),進(jìn)一步熟悉匯編語言的結(jié)構(gòu)和使用方法,達(dá)到能獨(dú)立閱讀、編制和調(diào)試一定規(guī)模的匯編語言程序的水平。 2、軟件需求分析和設(shè)計(jì) 2.1學(xué)生成績管理系統(tǒng)是對學(xué)生成績的管理,其中包括以下幾個(gè)模塊:(1).插入一個(gè)數(shù)據(jù)(插入學(xué)生學(xué)號以及語數(shù)外三個(gè)成績)。(2)修改一個(gè)數(shù)據(jù)。(3)刪除學(xué)生成績數(shù)據(jù)。(4)查找學(xué)生成績。(5)查看學(xué)生成績的排名(6)查看學(xué)生成績分布(7)按esc鍵退出系統(tǒng) 2.2學(xué)生成績管理系統(tǒng)應(yīng)該包含以下信息:學(xué)號,語文成績,英語成績,數(shù)學(xué)成績。因此,系統(tǒng)應(yīng)該提供以下功能:(1)輸出顯示菜單。(2)輸入學(xué)生的成績(3)修改學(xué)生成績(4)刪除學(xué)生成績(5)查詢學(xué)生成績(6)顯示學(xué)生成績排名(7)顯示成績分布統(tǒng)計(jì)(8)按esc鍵退出系統(tǒng) 2.3依據(jù)程序的功能需求,該系統(tǒng)的功能結(jié)構(gòu)圖如下 系統(tǒng)功能結(jié)構(gòu)圖 2.4 程序流程圖: 主程序流程圖 查找學(xué)生成績 插入學(xué)生學(xué)號及成績 修改學(xué)生的成績 顯示各個(gè)學(xué)科各分?jǐn)?shù)段的人數(shù) 3、程序?qū)崿F(xiàn)說明 3.1學(xué)生管理系統(tǒng)中各子程序如下: (1).輸入全部學(xué)生學(xué)號以及語文,英語,數(shù)學(xué)三科的成績。子程序名:insert 子程序描述:該子程序?yàn)檩斎胱殖绦颉O到y(tǒng)在開始的時(shí)候是沒有數(shù)據(jù)的,通過該子程序可以初始化系統(tǒng),將學(xué)生的學(xué)號及成績輸入系統(tǒng)。 代碼: insert proc near;定義進(jìn)程子程序:插入學(xué)生,學(xué)號及 成績 call input;調(diào)用input add n,1 ret insert endp (2).修改輸入的成績。子程序名:modify 子程序描述:通過子程序修改學(xué)生的成績 代碼: modify proc near;定義進(jìn)程子程序:修改學(xué)生學(xué)號,成績 md1:output mess1;輸出mess1 shuru;調(diào)用宏shuru:二位數(shù)據(jù)輸入 mov bl,n mov bh,0 mov al,dl mov si,0 md: cmp al,xh[si];先查找輸入的學(xué)生是否存在 je qq1_1;查到的話,就跳轉(zhuǎn)到qq1_1輸入修改的值,也就是重新輸入。;結(jié)果相等則跳轉(zhuǎn)到qq1_1 add si,1 cmp si,bx jbe md;小于等于則跳轉(zhuǎn)到md output mess;輸出mess jmp md1;不相等繼續(xù)輸入學(xué)號 qq1_1:;轉(zhuǎn)入修改的值重新輸入。mov di,si output mess2 output mess4 mov si,0 mov cx,3 qq3_1:shuruu;cmp dx,78h; jbe qq2_1;output ts3;jmp qq1_1;qq2_1:mov buf[si],dl output bg;add si,1 loop qq3_1 mov al,buf[0];mov chi[di],al mov al,buf[1] 分別輸入語文,英語,數(shù)學(xué)成績,并將其放 在緩沖區(qū)buf中 比較輸入的成績是否大于120,如果大于120的 話,那么重 新輸入成績 小于等于則轉(zhuǎn)移到qq2_1 輸出ts3 跳轉(zhuǎn)到qq1_1 輸出空格 將存入buf中的成績,分別賦值給存放對應(yīng)科 目的成績的數(shù)組 mov eng[di],al mov al,buf[2] mov mat[di],al ret modify endp (3).刪除學(xué)生的成績。子程序名:delete 子程序描述:通過子程序刪除學(xué)生的成績 代碼: de proc near;刪除某個(gè)學(xué)生的記錄 sc1:output mess1 shuru;調(diào)用宏shuru,接受輸入的學(xué)號 mov bl,n mov bh,0 mov al,dl mov si,0 sc: cmp al,xh[si];查詢輸入學(xué)號的學(xué)生信息是否存在,不存在的話,重新輸入學(xué)號 je sc2;相等則轉(zhuǎn)移到sc2 add si,1 cmp si,bx jbe sc;小于等于則轉(zhuǎn)移到sc output mess;輸出mess jmp sc1 sc2: sub bx,si cmp bx,0 je sc3;相等則轉(zhuǎn)移到sc3 mov cx,bx sc4:mov dl,chi[si+1] mov chi[si],dl mov dl,eng[si+1] mov eng[si],dl mov dl,mat[si+1] mov mat[si],dl mov dl,xh[si+1] mov xh[si],dl add si,1 loop sc4;loop循環(huán)指令,執(zhí)行操作(cx)<--(cx)-1.若 cx!=0,跳轉(zhuǎn)到標(biāo)號sc處循環(huán)執(zhí)行;cx=0,則推出 循環(huán),執(zhí)行l(wèi)oop的下一條指令 sub n,1 sc3: ret de endp (3).查詢學(xué)生的成績。子程序名:find 子程序描述:通過子程序查詢學(xué)生的成績 代碼: find proc near;定義進(jìn)程子程序:查找學(xué)生成績 call sum;求學(xué)生的總成績 call ping;求學(xué)生的平均成績 bj1:output mess1;輸出mess1 shuru;二位數(shù)數(shù)據(jù)輸入 mov bl,n mov bh,0 mov al,dl mov si,0 bj: cmp al,xh[si];將輸入的學(xué)號與輸入的學(xué)號相比,je i;存在的話,將此學(xué)生的成績輸出。je表示結(jié)果相 等則轉(zhuǎn)移。add si,1 cmp si,bx jbe bj;output mess jmp bj1 i: output strr2 shuzi xh[si];shuzi output bg;mov al,chi[si] cbw;shuzii ax;shuzii output bg;mov al,eng[si] cbw;shuzii ax;shuzii output bg mov al,mat[si] cbw shuzii ax output bg; mov al,pj[si] cbw 小于等于則轉(zhuǎn)移到bj 為二位數(shù)據(jù)輸出 輸出空格 將字節(jié)變?yōu)樽?/p> 為三位數(shù)據(jù)輸出。輸出空格 將字節(jié)變?yōu)樽?/p> 為三位數(shù)據(jù)輸出 輸出空格的字符串,用于與標(biāo)題欄對齊 shuzii ax output bg mov ax,si mov bl,2 mul bl mov bx,ax shuzii zc[bx];shuzii為三位數(shù)據(jù)輸出 output bg;輸出空格的字符串,用于與標(biāo)題欄對齊 shuzi mc[si];shuzi為二位數(shù)據(jù)輸出 ret find endp (4).顯示學(xué)生的成績排名。子程序名:show 子程序描述:通過子程序顯示學(xué)生的成績排名 代碼: show proc near;定義進(jìn)程子程序:顯示結(jié)果排名 call sum;調(diào)用宏sum call ping;調(diào)用宏ping call rank;調(diào)用宏rank call shuchu;調(diào)用宏shuchu ret show endp 3.2程序運(yùn)行抓圖: 主菜單 修改學(xué)生成績 刪除學(xué)生成績 顯示各個(gè)學(xué)科各分?jǐn)?shù)段的人數(shù) 4、程序總結(jié) 通過兩個(gè)星期的學(xué)習(xí),努力,終于完成了報(bào)告。系統(tǒng)可以很好的運(yùn)行。這兩個(gè)多星期的時(shí)間,幾乎每天不是在敲代碼,就是在看代碼,查書,上網(wǎng)。系統(tǒng)中用到了很多最近才學(xué)習(xí)的知識(shí),比如宏,子程序。這些都使得代碼的運(yùn)行效率提高了,代碼行數(shù)減少了。系統(tǒng)還用到了bios的清屏功能。這些功能如果不是做課程設(shè)計(jì),我想我很難會(huì)接觸到這些知識(shí)。 由于自己對知識(shí)掌握的不是很牢固,其中也會(huì)碰到一些困難。每當(dāng)遇到問題的時(shí)候,我會(huì)先上網(wǎng)去查找,看看有沒有人提過這方面的問題。互聯(lián)網(wǎng)是強(qiáng)大的,大部分的問題通過網(wǎng)絡(luò)都可以解決。部分找不到的問題,我就去請教班里學(xué)得好的同學(xué)。他們對知識(shí)的掌握遠(yuǎn)超過我。這樣下來,很多問題都迎刃而解了。 課程設(shè)計(jì)是一個(gè)很好的掌握書本上知識(shí)的過程。平時(shí)上課之后,自己都不會(huì)想著去敲一些代碼聯(lián)系聯(lián)系。通過做課程設(shè)計(jì),將理論與實(shí)踐結(jié)合了起來,對知識(shí)的理解更加深入了。 一、實(shí)驗(yàn)?zāi)康模?/p> 1、掌握PHP基本語法及應(yīng)用。 2、掌握SESSION和COOKIE的使用。 3、掌握使用PHP和頁面進(jìn)行交互。 4、掌握PHP圖像處理應(yīng)用。 5、掌握MySQL數(shù)據(jù)庫的使用及使用PHP操作MySQL數(shù)據(jù)庫。 6、了解系統(tǒng)開發(fā)的其他工具及語言。 7、掌握系統(tǒng)開發(fā)的基本流程。 二、實(shí)驗(yàn)設(shè)備及環(huán)境: 硬件:多媒體計(jì)算機(jī) 軟件:Windows系列操作系統(tǒng)、PHP系列運(yùn)行及編譯環(huán)境、MySQL數(shù)據(jù)庫、Zend Studio 三、實(shí)驗(yàn)內(nèi)容及要求: 1、需求分析 學(xué)生成績管理系統(tǒng)主要使用者是教師和學(xué)生使用,因此,對于本系統(tǒng)的分析可以針對這二者進(jìn)行分別分析;本系統(tǒng)旨在對PHP進(jìn)行練習(xí),做出一個(gè)簡易的學(xué)生成績管理系統(tǒng)。主要功能如下: 學(xué)生:登錄系統(tǒng),進(jìn)入系統(tǒng),查詢自己的成績; 教師:登錄系統(tǒng),進(jìn)入系統(tǒng),查詢學(xué)生信息,查詢?nèi)繉W(xué)生成績,錄入學(xué)生成績,管理課表; 通過上面的需求分析可以看到,教師的操作相對較多,但是學(xué)生的使用人數(shù)要遠(yuǎn)大于教師的人數(shù),因此在性能上應(yīng)該對學(xué)生的部分增加壓力支持,這樣才能夠滿足很多學(xué)生同時(shí)進(jìn)行成績查詢的需要。 具體實(shí)現(xiàn)的功能結(jié)構(gòu)圖如下: 學(xué)生成績管理系統(tǒng)學(xué)生教師登錄進(jìn)入系統(tǒng)查詢自己的成績登錄進(jìn)入系統(tǒng)查詢學(xué)生信息查詢?nèi)繉W(xué)生成績錄入學(xué)生成績課程管理 圖1.1 功能結(jié)構(gòu)圖 2、系統(tǒng)概要設(shè)計(jì) 根據(jù)上文的需求分析,下面進(jìn)行系統(tǒng)的基本概要設(shè)計(jì): 首先系統(tǒng)相對做的比較簡易,同時(shí),為了數(shù)據(jù)傳輸便利,php文件和靜態(tài)頁面html文件放在項(xiàng)目文件目錄下,然后圖片資源安排在單獨(dú)的文件夾中; Php做網(wǎng)頁設(shè)計(jì)來說,他的表現(xiàn)能力相對較差,因此表現(xiàn)還是要通過html進(jìn)行展示,所以項(xiàng)目由PHP文件和html文件組成。 基本設(shè)計(jì)如下: 基本頁面:靜態(tài)頁面,登錄主頁; 學(xué)生:動(dòng)態(tài)頁面,顯示個(gè)人成績 教師:靜態(tài)頁面,登錄主頁,課程插入,成績輸入,學(xué)生信息錄入,學(xué)生信息查詢;動(dòng)態(tài)頁面,成績修改,學(xué)生信息修改,學(xué)生成績查詢,課程錄入處理,成績錄入處理,課程管理等; 基本項(xiàng)目文件結(jié)構(gòu)圖如下: 圖2.1項(xiàng)目文件結(jié)構(gòu)圖 3、數(shù)據(jù)庫設(shè)計(jì) 依據(jù)上文的設(shè)計(jì),對數(shù)據(jù)庫進(jìn)行設(shè)計(jì),建立了5個(gè)基本表,將學(xué)生信息從學(xué)生表中分離出來,可以提升程序執(zhí)行的速度(在數(shù)據(jù)量較大的時(shí)候),具體如下: 教師:用戶名,密碼 課程:課程號,課程名稱,學(xué)分 學(xué)生:用戶名,密碼 成績:學(xué)號,課號,成績 學(xué)生信息:學(xué)號,姓名,年齡,性別,系部 E-R圖如下: 教師NN學(xué)生11學(xué)生信息N學(xué)生成績學(xué)習(xí)N課程 圖3.1 學(xué)生成績E-R圖 4、編碼(貼圖并分析主要界面的實(shí)現(xiàn)過程,重要代碼不能超過一頁) 系統(tǒng)主要通過PHP從數(shù)據(jù)庫中檢索出來數(shù)據(jù),然后用于界面展示和操作,其中,檢索查詢左右學(xué)生信息的PHP頁面主要代碼如下: $query = “select s.sid,s.sname,g.cid,c.cname,g.sgrade from sinfo s,grade g,course c where s.sid=g.sid and c.cid = g.cid”;$result = $db->query($query);$num_result = $result->num_rows;?> …… { $row = $result->fetch_assoc(); ?> free();$db->close();?> 5、測試 經(jīng)過對系統(tǒng)的基本功能進(jìn)行測試,系統(tǒng)基本實(shí)現(xiàn)了需求分析中要實(shí)現(xiàn)的功能,運(yùn)行效果基本滿足要求;下面是系統(tǒng)運(yùn)行截圖: 圖5.1 學(xué)生成績查詢 圖5.2 學(xué)生信息查詢 四、心得體會(huì) 在此次的學(xué)生成績管理系統(tǒng)程序設(shè)計(jì)的過程中,我使用Zend Studio進(jìn)行了一次PHP系統(tǒng)的開發(fā),由于時(shí)間以及其它的一些原因,沒辦法把系統(tǒng)進(jìn)行比較深入的開發(fā),實(shí)在是慚愧,這次設(shè)計(jì)讓我加深了對PHP開發(fā)的理解以及思考,同時(shí)認(rèn)識(shí)到了一些問題。 我充分認(rèn)識(shí)到了做計(jì)劃的重要性,只要實(shí)現(xiàn)把整體方案規(guī)劃好,才能保證以后設(shè)計(jì)的順利進(jìn)行,才能應(yīng)對出現(xiàn)的突發(fā)事件,達(dá)到系統(tǒng)設(shè)計(jì)的目標(biāo)。由于水平有限,錯(cuò)誤在所難免,設(shè)計(jì)過程中有許多不敬如人意的地方。我想,這也是在以后的學(xué)習(xí)和工作中激勵(lì)我不斷學(xué)習(xí),不斷前進(jìn)的動(dòng)力。我會(huì)在今后的工作中不斷地完善它,充實(shí)它,使之能夠更方便、更準(zhǔn)確、更快捷地在工作中應(yīng)用到系統(tǒng)開發(fā)技術(shù),提高工作效率。以上是我在本次管理信息系統(tǒng)程序設(shè)計(jì)中的一點(diǎn)體會(huì),由于自己水平有限,難免又許多錯(cuò)誤,請老師予以指正,我將繼續(xù)努力! 111111111學(xué)院 畢 業(yè) 論 文 題 目 學(xué)生成績管理系統(tǒng) 姓 名 1 1 1 所在系別 計(jì) 算 機(jī) 系 專業(yè)班級 計(jì)算機(jī)應(yīng)用技術(shù)計(jì)算機(jī)111班 學(xué) 號 1111111111 指導(dǎo)教師 1 1 1 日 期 2012 年 4 月 15 日 臨汾職業(yè)技術(shù)學(xué)院 09屆計(jì)算機(jī)應(yīng)用技術(shù)專業(yè)畢業(yè)論文 目 錄 摘 要 ???????????????????????????????????????1 臨汾職業(yè)技術(shù)學(xué)院 09屆計(jì)算機(jī)應(yīng)用技術(shù)專業(yè)畢業(yè)論文 學(xué)生成績管理系統(tǒng) 計(jì)算機(jī)111班 1111 指導(dǎo)老師 111 摘 要:學(xué)生成績管理系統(tǒng)是為了實(shí)現(xiàn)學(xué)校對學(xué)生成績管理的系統(tǒng)化、規(guī)范化和自動(dòng)化,從而提高學(xué)校管理效率而設(shè)計(jì)的。它完全取代了原來一直用人工管理的工作方式,避免了由于管理人員的工作疏忽以及管理質(zhì)量問題所造成的各種錯(cuò)誤,為及時(shí)、準(zhǔn)確、高效的完成學(xué)生成績管理提供了強(qiáng)有力的工具和管理手段。學(xué)生成績管理系統(tǒng)是一個(gè)中小型數(shù)據(jù)庫管理系統(tǒng),它界面美觀、操作簡單、安全性高,基本滿足了學(xué)生成績管理的要求。 本系統(tǒng)是在以ACCESS2003作為后臺(tái)數(shù)據(jù)庫來開發(fā)的。學(xué)生成績管理系統(tǒng)在運(yùn)行階段,效果好,數(shù)據(jù)準(zhǔn)確性高,提高了工作效率,同時(shí)也實(shí)現(xiàn)了學(xué)生成績管理計(jì)算機(jī)化。關(guān)鍵字: 成績 管理系統(tǒng) 數(shù)據(jù)庫 Abstract:The system of “The Managment of Student's Mark” has been designed mainly for acheiving such goal of letting the students' marks to be well-managed and modelized automaticly in order to higher the school's managing speed.it has already replaced the original artificial method completely thus the avoiding of wrongs that could be caused by carelessness and the lack of managing skill.due to the more accurate results within a shorter time, the system is obviously providing a stronger managing mean.“The Managment of Student's Mark” is a middle-sized system of data Management, which is both simple-controlling and safe.this technique is the nowadays best system towards the management of student's marks since it is now being mostly satisfied.The system's opening relies on ACCESS2003 as a backup of the data management.this technology not only shortened the managing time but also, it hightlights the high-quality by providing more accurate datas.on top of it, it has also put the computerized “The Managment of Student's Mark” into practice.Key word: Mark Administrative System The Database 臨汾職業(yè)技術(shù)學(xué)院 09屆計(jì)算機(jī)應(yīng)用技術(shù)專業(yè)畢業(yè)論文 學(xué)校對系統(tǒng)的開發(fā)大力支持。因此經(jīng)濟(jì)上是可行的。 本系統(tǒng)可以馬上開始實(shí)施,并盡可能做到提前完成。從人力資源優(yōu)化角度來說,可以充分利用學(xué)校已有人力資源。從開發(fā)成本角度來說,將支出成本降到最底。所以在三個(gè)可選擇的方案中推薦此方案為最佳方案。 臨汾職業(yè)技術(shù)學(xué)院 09屆計(jì)算機(jī)應(yīng)用技術(shù)專業(yè)畢業(yè)論文 2.4 系統(tǒng)功能模塊設(shè)計(jì) 該系統(tǒng)的目標(biāo)是提高學(xué)生成績管理的效率,通過本系統(tǒng)可以對學(xué)生個(gè)人信息、課程和任課教師信息、選課信息進(jìn)行管理和維護(hù)。該系統(tǒng)分為教師權(quán)限和學(xué)生權(quán)限,主要功能包括: 1.用戶管理 2.基于數(shù)據(jù)管理 3.學(xué)生對個(gè)人數(shù)據(jù)的查詢及管理 具體模塊功能如下圖2-1,圖2-2: 圖2-1 臨汾職業(yè)技術(shù)學(xué)院 09屆計(jì)算機(jī)應(yīng)用技術(shù)專業(yè)畢業(yè)論文 圖2-2 臨汾職業(yè)技術(shù)學(xué)院 09屆計(jì)算機(jī)應(yīng)用技術(shù)專業(yè)畢業(yè)論文 3:課程表中的課程號與學(xué)生成績表中的課程號對應(yīng),課程表中的課程號依附于學(xué)生成績表中的課程號。 4:課程號于老師是一對一的關(guān)系,課程名對成績是一對一的關(guān)系。 學(xué)號于課程號同樣是一對多的關(guān)系,課程號對成績是一對多的關(guān)系,一個(gè)學(xué)號和一個(gè)課程號對于成績是一一對應(yīng)的關(guān)系。E-R圖如下圖3-1 圖3-1 3.3 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì) 學(xué)生成績信息系統(tǒng)中的關(guān)系模式如下: 學(xué)生基本信息(學(xué)號,姓名 ,性別),主鍵是學(xué)號。學(xué)生成績表(學(xué)號,課程號,成績),主鍵是學(xué)號+課程號。課程表(課程號,課程名,教師姓名)。主鍵是課程號。 臨汾職業(yè)技術(shù)學(xué)院 09屆計(jì)算機(jī)應(yīng)用技術(shù)專業(yè)畢業(yè)論文 臨汾職業(yè)技術(shù)學(xué)院 09屆計(jì)算機(jī)應(yīng)用技術(shù)專業(yè)畢業(yè)論文 圖4-3 圖4-4 4.2 成績信息模塊的設(shè)計(jì) 這一模塊的主要功能是用于實(shí)現(xiàn)對學(xué)生各科成績的錄入,修改與查詢。學(xué)生成績錄入,修改界面圖4-5: 臨汾職業(yè)技術(shù)學(xué)院 09屆計(jì)算機(jī)應(yīng)用技術(shù)專業(yè)畢業(yè)論文 圖4-5 學(xué)生成績查詢界面圖4-6: 臨汾職業(yè)技術(shù)學(xué)院 09屆計(jì)算機(jī)應(yīng)用技術(shù)專業(yè)畢業(yè)論文 圖4-6 4.3 添加信息模塊的設(shè)計(jì) 這一模塊的主要功能是對教師,學(xué)生信息的錄入,修改與查詢。圖4-7,圖4-8,圖4-9: 圖4-7 臨汾職業(yè)技術(shù)學(xué)院 09屆計(jì)算機(jī)應(yīng)用技術(shù)專業(yè)畢業(yè)論文 圖4-8 圖4-9: 臨汾職業(yè)技術(shù)學(xué)院 09屆計(jì)算機(jī)應(yīng)用技術(shù)專業(yè)畢業(yè)論文 4.4 查詢統(tǒng)計(jì)模塊的設(shè)計(jì) 這一模塊的主要功能是對學(xué)生選課及教師授課信息的查詢。圖4-10,圖4-11,圖4-12: 圖4-10: 臨汾職業(yè)技術(shù)學(xué)院 09屆計(jì)算機(jī)應(yīng)用技術(shù)專業(yè)畢業(yè)論文 圖4-11 圖4-12 4.5 開發(fā)中的難點(diǎn)和解決技巧 1.一個(gè)全面的Access應(yīng)用至少會(huì)涉及到以下三種基本Access 對象類型:(1)表用于存儲(chǔ)你或其他人向數(shù)據(jù)庫中添加的數(shù)據(jù)。 (2)窗體用于顯示和輸入數(shù)據(jù),控制其他窗體的打開和關(guān)閉以及打印報(bào)表。 臨汾職業(yè)技術(shù)學(xué)院 09屆計(jì)算機(jī)應(yīng)用技術(shù)專業(yè)畢業(yè)論文 (3)報(bào)表打印表中的細(xì)節(jié)信息、總結(jié)信息或者將兩者都進(jìn)行打印。2.Access模塊:包含VBA子過程和函數(shù)(公共,任何窗體或報(bào)表均可訪問)要想成為一個(gè)完善的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS),一個(gè)應(yīng)用必須具備以下四個(gè)基本功能,其中每個(gè)功能都有其自己的表現(xiàn)形式(或者視圖):(1)數(shù)據(jù)組織(表的創(chuàng)建和操作) (2)表鏈接和數(shù)據(jù)提取(查詢,臨時(shí)表等)(3)數(shù)據(jù)輸入和編輯(窗體實(shí)現(xiàn))(4)數(shù)據(jù)表示(報(bào)表) 3.數(shù)據(jù)庫實(shí)用工具(一些需要在不打開數(shù)據(jù)庫的情況下執(zhí)行) (1)壓縮和修復(fù)(最好壓縮和修復(fù)為新數(shù)據(jù)庫,防止數(shù)據(jù)庫不小心損壞不能恢復(fù))(2)添加切換面板窗體(沒有將創(chuàng)建新) (3)創(chuàng)建.mde文件(編譯過的VBA代碼,源文件不可用,用戶將不能再修改其中的設(shè)計(jì)對象)4.設(shè)計(jì)表需要注意的事項(xiàng) (1)字段名稱:不能重復(fù),最長64字符,可中間包含(空格,“。”沒“!”和“[]” (2)數(shù)據(jù)類型,說明,主鍵,字段大小,格式(不影響值本身,只是顯示方式),Precision(Decimal類型特有,指定總共用多少數(shù)位表示一個(gè)數(shù)值,默認(rèn)18位),Scale(Decimal特有,決定小數(shù)位數(shù)),小數(shù)位數(shù),輸入掩碼,標(biāo)題,默認(rèn)值,有效性規(guī)則,有效性文本,必填字段,允許0長度,索引,新值(自動(dòng)編號類型特有)5.字段類型需要注意的事項(xiàng) (1)文本:默認(rèn),最大255個(gè)字符(指定長度后,如果輸入數(shù)據(jù)超出,將自動(dòng)截去多余)(2)備注:最大65535個(gè)字符(不能作為關(guān)鍵字段)(3)數(shù)字型:根據(jù)字段大小屬性設(shè)置一個(gè)合適的類型 (4)自動(dòng)編號:(長整型),產(chǎn)生方法取決于新值屬性(最大20億左右) (5)Yes/No:邏輯(布爾)字段(True:-1,False:0),可被索引,但不能作為關(guān)鍵字段(6)貨幣:currency,固定格式(小數(shù)4位) 6.設(shè)置“主鍵”:唯一性,可創(chuàng)建多字段的主鍵和相應(yīng)的索引 臨汾職業(yè)技術(shù)學(xué)院 09屆計(jì)算機(jī)應(yīng)用技術(shù)專業(yè)畢業(yè)論文 求,能夠完成學(xué)生信息的存儲(chǔ)和成績的查詢以及各類相關(guān)報(bào)表的打印。并提供部分系統(tǒng)測試功能,使用戶方便進(jìn)行數(shù)據(jù)備份和恢復(fù)、數(shù)據(jù)刪除。對于數(shù)據(jù)的一致性的問題也通過程序進(jìn)行了有效的解決。 但是由于畢業(yè)設(shè)計(jì)時(shí)間較短和本人水平所限,所以該系統(tǒng)還有許多不盡如人意的地方,希望使用者能給予指正,這些都有待進(jìn)一步改善。 致謝 在此更要感謝我的導(dǎo)師和專業(yè)老師,是你們的細(xì)心指導(dǎo)和關(guān)懷,使我能夠順利的完成畢業(yè)論文。在我的學(xué)業(yè)和論文的研究工作中無不傾注著老師們辛勤的汗水和心血。老師的嚴(yán)謹(jǐn)治學(xué)態(tài)度、淵博的知識(shí)、無私的奉獻(xiàn)精神使我深受啟迪。從尊敬的導(dǎo)師身上,我不僅學(xué)到了扎實(shí)、寬廣的專業(yè)知識(shí),也學(xué)到了做人的道理。在此我要向我的導(dǎo)師致以最衷心的感謝和深深的敬意。 參考文獻(xiàn) [1]白以恩.計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ)及應(yīng)用.哈爾濱:工業(yè)大學(xué)出版社,2000 [2]包錦陽.大專生畢業(yè)論文(設(shè)計(jì))寫作指導(dǎo).浙江大學(xué)出版社,2004 [3] 李俊德.ACCESS2003入門與實(shí)例演練.中國青年出版社,2005 [4]張澤虹.數(shù)據(jù)庫原理及應(yīng)用:Access2003.電子工業(yè)出版社,2005 [5]彭湘凱,曾光輝.數(shù)據(jù)庫原理與應(yīng)用.機(jī)械工業(yè)出版社,2007 [6]樓土明.信息系統(tǒng)應(yīng)用與開發(fā).浙江攝影出版社,2009 [7]張作華.管理制度——人事與組織機(jī)構(gòu)管理制度.伊犁人民出版社,2000 [8]毛國君.高級數(shù)據(jù)庫原理與技術(shù).人民郵電出版社,2004 [9]上海市教育委員會(huì).信息系統(tǒng)與數(shù)據(jù)庫技術(shù)學(xué)習(xí)指導(dǎo)及習(xí)題解析.機(jī)械工業(yè)出版社,2009 [10]何寧,黃文斌,熊建強(qiáng).數(shù)據(jù)庫技術(shù)應(yīng)用教程.機(jī)械工業(yè)出版社,2007 [11]吳京慧,劉愛紅,廖國瓊.數(shù)據(jù)庫系統(tǒng)原理與設(shè)計(jì)實(shí)驗(yàn)教程.清華大學(xué)出版社,2009 [12]劉曉強(qiáng).信息系統(tǒng)與數(shù)據(jù)庫技術(shù).機(jī)械工業(yè)出版社,2008 [13]丁寶康,陳堅(jiān).數(shù)據(jù)庫系統(tǒng)工程師考試全程指導(dǎo).清華大學(xué)出版社,2006 [14]張平.數(shù)據(jù)庫應(yīng)用基礎(chǔ)Access2003.人民郵電出版社,2007 臨汾職業(yè)技術(shù)學(xué)院 09屆計(jì)算機(jī)應(yīng)用技術(shù)專業(yè)畢業(yè)論文 [15]魏茂林.數(shù)據(jù)庫應(yīng)用技術(shù).電子工業(yè)出版社,2009 [16]黃河,樂磊.微軟解疑專家(5)——Access數(shù)據(jù)庫.北京大學(xué)出版社,2001 [17]神龍工作室.新編Access2003數(shù)據(jù)庫管理入門與提高.人民郵電出版社,2007 [18]啟明工作室.ACCESS 數(shù)據(jù)庫應(yīng)用實(shí)例完全解析.人民郵電出版社,2007 [19]高英,張曉冬.ACCESS數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)與實(shí)例.人民郵電出版社,2008 [20]王宇虹.專家門診--ACCESS開發(fā)答疑200問1CD.人民郵電出版社,2009 文檔為doc格式 學(xué)生實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)課名稱: C++程序設(shè)計(jì)
實(shí)驗(yàn)項(xiàng)目名稱:綜合大作業(yè)——學(xué)生成績管理系統(tǒng) 專業(yè)名稱:
班
學(xué)級:號:
學(xué)生姓名:
同組成員:
教師姓名:日題目:學(xué)生成績管理系統(tǒng)一、 實(shí)驗(yàn)?zāi)康模?(1...... //*學(xué)生成績管理系統(tǒng)*//
#include
#define N 3
struct student
{
int no;
char name[20];
float english;
float computer;
float math;
float average;
};
void getclass(s...... 數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告-----學(xué)生管理系統(tǒng)一、需求分析根據(jù)老師的要求,我主要把精力集中在學(xué)生選課的功能實(shí)現(xiàn)上,角色分為管理員與學(xué)生 實(shí)現(xiàn)功能包括如下兩部分:A.學(xué)生端實(shí)現(xiàn)功能:1.系...... 課程設(shè)計(jì)題目:簡單的學(xué)生成績管理的程序要求:
一、由鍵盤輸入原始數(shù)據(jù)。原始數(shù)據(jù)內(nèi)容如下:
學(xué)號姓名C程序設(shè)計(jì)高等數(shù)學(xué)英語線性代數(shù)
1王..80808080
2張..90909090
注:要求至少有...... C語言課程設(shè)計(jì)報(bào)告——?jiǎng)@安 C語言課程設(shè)計(jì) 姓名:劉顯安 學(xué)號:09041131 班級:090411 專業(yè):計(jì)算機(jī)科學(xué)與技術(shù) 學(xué)院:信息工程學(xué)院 設(shè)計(jì)題目:學(xué)生通訊錄管理系統(tǒng) 指導(dǎo)教師:宋文琳 提...... SQL實(shí)習(xí)《學(xué)生成績管理系統(tǒng)》——ASP.NET/SQL Server班級:姓名:學(xué)號:【實(shí)驗(yàn)名稱】:基于.net的學(xué)生成績管理系統(tǒng)【實(shí)驗(yàn)?zāi)康摹浚菏煜せ?net設(shè)計(jì)系統(tǒng)的步驟和方法【實(shí)驗(yàn)步驟】:1、新...... C++程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告 院系:電子與控制工程學(xué)院 交通信息與控制工程系 學(xué)號:2011320101 姓名:XXX 2012年11月20 日 學(xué)生信息管理系統(tǒng) 一、 問題描述和需求分析; 編寫一個(gè)學(xué)生信...... Option Explicit Option Base 1 Dim st() As String Dim grade() As chengji, str1$, str2$, prog() As kecheng Private Sub chengji_Click() ' 輸出序號、成績及分?jǐn)?shù) Cls......第二篇:學(xué)生成績管理系統(tǒng)實(shí)驗(yàn)報(bào)告
第三篇:語言課程設(shè)計(jì)-學(xué)生成績管理系統(tǒng)
第四篇:PHP學(xué)生成績管理系統(tǒng)綜合實(shí)驗(yàn)報(bào)告(模版)
第五篇:學(xué)生成績管理系統(tǒng)畢業(yè)論文C語言
聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。 c++大作業(yè) 學(xué)生成績管理系統(tǒng) 學(xué)生實(shí)驗(yàn)報(bào)告 樣本[最終版]
學(xué)生成績管理系統(tǒng)
學(xué)生管理系統(tǒng)實(shí)驗(yàn)報(bào)告
C語言課程設(shè)計(jì)任務(wù)書(學(xué)生成績管理系統(tǒng))
學(xué)生通訊錄管理系統(tǒng)(C語言課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告)
SQL基于.net的學(xué)生成績管理系統(tǒng)實(shí)習(xí)實(shí)驗(yàn)報(bào)告
長安大學(xué)C++設(shè)計(jì) 學(xué)生成績管理系統(tǒng)實(shí)驗(yàn)報(bào)告
簡易學(xué)生成績管理系統(tǒng)