版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> MIS課程設(shè)計</b></p><p> ?。?011 —2012學年)</p><p> 設(shè)計名稱: 學籍管理系統(tǒng)</p><p> ─────────────</p><p> 班 級:國貿(mào)21003班</p><p> ----------------&
2、lt;/p><p><b> 姓 名: </b></p><p> -------------------------------</p><p> 指導教師:信管教研室</p><p> -----------------</p><p><b> 成 績:</b>&
3、lt;/p><p> ----------------</p><p><b> 序 號:</b></p><p> 二0一二年5月31日</p><p><b> 目 錄</b></p><p><b> 1 前言2</b></p>
4、<p><b> 2 需求分析2</b></p><p> 2.1 課程設(shè)計目的2</p><p> 2.2 課程設(shè)計任務(wù)2</p><p> 2.3 設(shè)計環(huán)境3</p><p> 2.4 開發(fā)語言3</p><p> 2.5 系統(tǒng)可行性分析3</p&g
5、t;<p><b> 3 分析和設(shè)計4</b></p><p> 3.1 功能分析4</p><p> 3.2 系統(tǒng)流程圖4</p><p> 3.3 主要模塊的流程圖5</p><p> 4 E-R圖…………………...………………………………………………….7.</p>
6、<p> 5.數(shù)據(jù)字典……………………………………………………………………9</p><p> 6 具體代碼實現(xiàn)10</p><p> 7 課程設(shè)計體會17</p><p><b> 參考文獻17</b></p><p><b> 1 前言</b></p>&
7、lt;p> 現(xiàn)代科學飛速發(fā)展,世界也不斷的變化,人類的生活隨著科技的發(fā)展也發(fā)生著驚天動地的變化。作為新時代的大學生,我們應(yīng)該努力學習科學文化知識,以適應(yīng)社會的發(fā)展要求。以現(xiàn)代化的科學知識為祖國做貢獻。計算機C語言課程設(shè)計是一門實踐性很強的課程,因此,我們可以從這里出發(fā),將實踐教學與理論教學達到密切結(jié)合。。</p><p> 根據(jù)實際題目,要求我小組編寫一個程序來,用數(shù)據(jù)文件存放學生的學籍,可對學生學籍進
8、行注冊,登錄,修改,刪除,查找,統(tǒng)計,學籍變化等操作。</p><p> 通過一個結(jié)構(gòu)體數(shù)組來存放輸入的每一位同學的信息(包括學號,姓名,性別,年齡,籍貫,系別,專業(yè),班級),然后將其信息存入文件中。輸入一個學號查詢該同學的信息,并顯示在屏幕上。</p><p><b> 2 需求分析</b></p><p> 本系統(tǒng)為了實現(xiàn)學校在校學生
9、、離校學生各項信息資源的查詢、統(tǒng)計、添加、刪除、維護與管理,方便用戶的管理與需求。學籍管理系統(tǒng)的系統(tǒng)分析的重點是對學籍管理信息系統(tǒng)的業(yè)務(wù)流程進行描述,通過采用流程圖中的部分圖形來對學生信息質(zhì)量的管理活動進行規(guī)范化說明。</p><p> 2.1 課程設(shè)計目的</p><p> 用數(shù)據(jù)文件存放學生的學籍,可對學生學籍進行注冊,登錄,修改,刪除,查找,統(tǒng)計,學籍變化等操作。</p&g
10、t;<p> 2.2 課程設(shè)計任務(wù)</p><p> (1) 系統(tǒng)以菜單方式工作。</p><p> ?。?) 登記學生的學號,姓名,性別,年齡,籍貫,系別,專業(yè),班級;修改已知學號的學生信息;</p><p> ?。?) 刪除已知學號的學生信息;</p><
11、;p> ?。?) 查找已知學號的學生信息;</p><p> ?。?) 顯示同一系學生信息和統(tǒng)計人數(shù);</p><p> (6) 顯示所有學生信息和統(tǒng)計人數(shù)人數(shù);</p><p><b> 2.3 設(shè)計環(huán)境</b></p><p> ?。?)WINDOWS 200
12、0/2003/XP/7/Vista系統(tǒng)</p><p> ?。?)Visual C++或TC集成開發(fā)環(huán)境</p><p><b> 2.4 開發(fā)語言</b></p><p><b> C++語言</b></p><p> 2.5系統(tǒng)的可行性分析 </p><p> 2
13、.5.1 管理上的可行性</p><p> 把教師事務(wù)、信息延伸到Internet,建立了評分系統(tǒng),對于老師來講,是信息統(tǒng)一化,管理透明化,學生成績公開化的一個良好的系統(tǒng),因此,對于學校教務(wù)領(lǐng)導來說不會對此有很大的抵觸情緒,班主任及輔導員也能夠相應(yīng)的支持。</p><p> 2.5.2 技術(shù)上的可行性</p><p> a、數(shù)據(jù)涉及的計算比較簡單,適合采用數(shù)據(jù)
14、庫;</p><p> b、學校的微機在存儲和運轉(zhuǎn)方面能夠滿足數(shù)據(jù)庫的需求;</p><p> c、該系統(tǒng)功能網(wǎng)上有很多文獻,可以參考程序功能,幫助實現(xiàn)系統(tǒng)。</p><p> 2.5.3 經(jīng)濟上的可行性</p><p> 學生的成績繁多增加了老師的負擔,造成了管理人的信息費、大量的紙質(zhì)費用,還用了大量的時間來核對,受一定的時間與物理
15、空間的局限及學生數(shù)量,成本較高。而本系統(tǒng)可以幫助老師正確認識評分系統(tǒng)技術(shù)在學校中的重要地位,以少量的時間和資金建立評分系統(tǒng)。</p><p><b> 3 分析和設(shè)計</b></p><p><b> 3.1功能分析</b></p><p> 將學生學管理系統(tǒng)分為:用戶管理、學生信息管理、學生成績管理和學生學籍檔案管
16、理四個功能模塊,。各個管理模塊現(xiàn)用表的方式加以說明如下:</p><p><b> -</b></p><p> 1、學生信息管理模塊主要對學生信息</p><p> ?。▽W號、姓名、性別、班級、家庭住址)進行管理,本模塊又分為三個子模塊。</p><p><b> 學生信息錄入</b>&l
17、t;/p><p><b> 學生信息查詢</b></p><p><b> 學生信息修改刪除</b></p><p> 2、學生成績管理模塊主要是對學生成績進行管理,四個子模塊。</p><p><b> 學生成績錄入</b></p><p><
18、;b> 學生成績查詢</b></p><p><b> 學生成績修改/刪除</b></p><p><b> 學生成績統(tǒng)計</b></p><p> 3、學生學籍檔案管理模塊主要對學校在校生的檔案進行管理。</p><p> 學生、獎懲情況的查詢</p>&
19、lt;p> 學生報名注冊登記表錄入</p><p><b> 在校生檔案的查詢</b></p><p> 4、用戶管理主要對用戶權(quán)限設(shè)置進行管理。</p><p> 用戶名:密碼設(shè)置(管理人員和普通用戶)</p><p><b> 3.2 系統(tǒng)流程圖</b></p>&
20、lt;p> 學生學籍管理信息系統(tǒng)數(shù)據(jù)流程圖</p><p> 學生學籍管理員通過學生信息單,學生成績單,學生檔案單分別錄入,生成信息數(shù)據(jù)表,成績數(shù)據(jù)表,檔案數(shù)據(jù)表從而成立一個總的數(shù)據(jù)庫</p><p> 3.3 主要模塊的流程圖</p><p> 1、學生信息管理數(shù)據(jù)流圖</p><p> 學籍信息管理員通過信息單錄入學生的信
21、息,建立信息數(shù)據(jù)表。用戶可根據(jù),學號,姓名,班級來查詢自己所需的信息,方便而簡單。</p><p> 2、學生成績管理數(shù)據(jù)流圖</p><p> 學籍成績管理人員通過成績單錄入學生的成績,建立成績數(shù)據(jù)表。則用戶可根據(jù),學號,姓名,班級查看自己所需的信息。</p><p> 3、檔案管理數(shù)據(jù)流圖</p><p> 學籍檔案管理員通過檔案
22、單錄入學生的檔案,建立檔案數(shù)據(jù)表。用戶可根據(jù),學號,姓名,班級查詢學生的基本檔案</p><p><b> 4、系統(tǒng)管理據(jù)流圖</b></p><p> 系統(tǒng)管理員根據(jù)用戶需要設(shè)置用戶及權(quán)限,建立系統(tǒng)數(shù)據(jù)表。使整個系統(tǒng)的維護</p><p> 更具有安全性,保密性</p><p><b> 4.E-R圖
23、</b></p><p> 系統(tǒng)邏輯設(shè)計的主要工作就是將E—R圖轉(zhuǎn)換成一張張的二維表,以及各表的屬性。E-R圖是系統(tǒng)的概念設(shè)計,對系統(tǒng)前期分析相當重要,它可以正確直觀的反映出一個業(yè)務(wù)系統(tǒng)過程。本系統(tǒng)的E-R圖如下:</p><p> 學生學籍管理信息系統(tǒng)E-R圖</p><p><b> 5.數(shù)據(jù)字典</b></p>
24、;<p><b> 數(shù)據(jù)項</b></p><p><b> 學生表(XS) </b></p><p> 課程表(XS_KC)</p><p><b> 性別表(XBM)</b></p><p><b> 數(shù)據(jù)約束</b><
25、/p><p> ?。?)實體完整性約束:基本關(guān)系的所有主鍵的屬性都不能取空值且主鍵作為唯一性標識。需要滿足該約束的主鍵:學生表(XS).學號(xh)、課程表(KCB).課程編號(kch).</p><p> (2)參照完整性約束:外鍵的值只能取空值或等于關(guān)聯(lián)主鍵的值。需要滿足該約束的外鍵:學生表(XS).學號與課程表(KCB)</p><p><b> 課
26、程號外鍵關(guān)聯(lián).</b></p><p> ?。?)用戶定義完整性約束:針對某一具體關(guān)系數(shù)據(jù)庫的約束條件,反映某一具體應(yīng)用所涉及的數(shù)據(jù)必須滿足的語義要求。需要滿足該約束的屬性:學生表(XS).學號,課程表(KCB).課程編號,.都不能為空,學生表(XS).性別只能為男或女。</p><p><b> 數(shù)據(jù)流圖</b></p><p>
27、;<b> 數(shù)據(jù)存儲信息</b></p><p> XS表:Xh(主鍵)、Xb、Xb、Cssj、Zy、Zxf、Bz、Kch(外鍵)。</p><p> KC表:Kch(主鍵)、kCM、Cj。</p><p> XBM表:Xb、Xbm。</p><p><b> 6 具體代碼實現(xiàn)</b>&l
28、t;/p><p> #include <stdio.h></p><p> #include <string.h></p><p> #include <conio.h></p><p> #include <malloc.h></p><p> #include
29、<stdlib.h></p><p> #define N 100</p><p> struct student </p><p> {char XUEHAO[20];</p><p> char XINGMING[10];</p><p> char XINGBIE[4];</p&g
30、t;<p> char NIANLING[10];</p><p> char JIGUAN[10];</p><p> char ZHUANYE[10];</p><p> char BANJI[6];</p><p> char XIBIE[20];</p><p><b> }
31、student;</b></p><p> void CAIDAN();</p><p> void ZHUCE();</p><p> void XIUGAI();</p><p> void SHANCHU();</p><p> void del_XUEHAO(FILE *fp);</
32、p><p> void del_XINGMING(FILE *fp);</p><p> void CHAZHAO();</p><p> void sch_XUEHAO(FILE *fp);</p><p> void sch_XINGMING(FILE *fp);</p><p> void TONGJI()
33、;</p><p> void XIANSHI();</p><p> void TIANJIA();</p><p> void save( struct student student[]);</p><p><b> main()</b></p><p> { char cho
34、ose,yes_no;</p><p><b> do</b></p><p> { CAIDAN();</p><p> printf("\n 請輸入序號: (1~8) ");</p><p> choose=getch();</p><p> sy
35、stem("cls");</p><p> switch(choose)</p><p><b> { </b></p><p> case'1': printf(" %c",choose);ZHUCE();break;</p><p> case'
36、2': printf(" %c",choose);XIUGAI();break;</p><p> case'3': printf(" %c",choose);SHANCHU();break;</p><p> case'4': printf(" %c",choose);TIANJIA(
37、);break;</p><p> case'5': printf(" %c",choose);CHAZHAO();break;</p><p> case'6': printf(" %c",choose);TONGJI();break;</p><p> case'7':
38、 printf(" %c",choose);XIANSHI();break;</p><p> case'8': break;</p><p> default:printf("\n %c 序號不對!\n",choose);</p><p><b> }</b></p>
39、;<p> if(choose=='8')break;</p><p> printf("\n 要繼續(xù)選擇嗎 ? (Y/N) \n");</p><p><b> do</b></p><p> { yes_no=getch(); printf(" %c",ye
40、s_no);}</p><p> while(yes_no!='Y'&&yes_no!='y'&&yes_no!='N'&&yes_no!='n');</p><p> }while(yes_no=='Y'||yes_no=='y');<
41、/p><p><b> }</b></p><p> void CAIDAN()</p><p><b> { </b></p><p> system("cls");</p><p> printf(" *****
42、*********************************** \n ");</p><p> printf(" * ——請選擇相應(yīng)的功能—— * \n ");</p><p> printf(" * 1-----注冊
43、 * \n ");</p><p> printf(" * 2-----修改學生信息 * \n ");</p><p> printf(" * 3-----刪除學生信息 * \n ");</p>
44、<p> printf(" * 4-----添加學生信息 * \n ");</p><p> printf(" * 5-----查找學生信息 * \n ");</p><p> printf("
45、 * 6-----統(tǒng)計學生信息 * \n ");</p><p> printf(" * 7-----顯示學生信息 * \n ");</p><p> printf(" * 8-----退出
46、系統(tǒng) * \n ");</p><p> printf(" **************************************** \n ");</p><p><b> }</b></p><p> /*定義學生信息注冊的函數(shù)*/</p&g
47、t;<p> void ZHUCE()</p><p> { int i=1;</p><p> struct student temp;</p><p><b> FILE *fp;</b></p><p> fp=fopen("F://123.txt","w&qu
48、ot;);</p><p> if(fp==NULL){ printf("\n 打開文件失敗! \n");return; }</p><p> printf("\n 請輸入第1個學生信息:\n");</p><p> printf(" 學號(用#結(jié)束輸入): ");<
49、/p><p><b> do</b></p><p> { gets(temp.XUEHAO);}</p><p> while(strcmp(temp.XUEHAO," ")==0);</p><p> printf(" 姓名(用#結(jié)束輸入): ");gets(t
50、emp.XINGMING);</p><p> printf(" 性別(用#結(jié)束輸入): ");gets(temp.XINGBIE);</p><p> printf(" 年齡(用#結(jié)束輸入): ");gets(temp.NIANLING);</p><p> printf("
51、籍貫(用#結(jié)束輸入): ");gets(temp.JIGUAN);</p><p> printf(" 專業(yè)(用#結(jié)束輸入): ");gets(temp.ZHUANYE);</p><p> printf(" 班級(用#結(jié)束輸入): ");gets(temp.BANJI);</p><p&
52、gt; printf(" 系別(用#結(jié)束輸入): ");gets(temp.XIBIE);</p><p> while(temp.XUEHAO[0]!='#'&&temp.XINGMING[0]!='#'&&temp.XINGBIE[0]!='#'&&temp.NIANLING[0
53、]!='#'&&temp.JIGUAN[0]!='#'&&temp.ZHUANYE[0]!='#'&&temp.BANJI[0]!='#'&&temp.XIBIE[0]!='#'&&temp.XIBIE)</p><p> { fprintf(fp,&q
54、uot;%5s%10s%10s%10s%10s%10s%10s%10s\n",temp.XUEHAO,temp.XINGMING,temp.XINGBIE,temp.NIANLING,temp.JIGUAN,temp.ZHUANYE,temp.BANJI,temp.XIBIE,temp);</p><p><b> i++;</b></p><p> p
55、rintf("\n 請輸入第 %d 個學生信息:\n ",i);</p><p> printf(" 學號(用#結(jié)束輸入): ");</p><p><b> do</b></p><p> { gets(temp.XUEHAO);}</p><p> w
56、hile(strcmp(temp.XUEHAO," ")==0);</p><p> printf(" 姓名(用#結(jié)束輸入): ");gets(temp.XINGMING);</p><p> printf(" 性別(用#結(jié)束輸入): ");gets(temp.XINGBIE);</p>
57、<p> printf(" 年齡(用#結(jié)束輸入): ");gets(temp.NIANLING);</p><p> printf(" 籍貫(用#結(jié)束輸入): ");gets(temp.JIGUAN);</p><p> printf(" 專業(yè)(用#結(jié)束輸入): ");gets(
58、temp.ZHUANYE);</p><p> printf(" 班級(用#結(jié)束輸入): ");gets(temp.BANJI);</p><p> printf(" 系別(用#結(jié)束輸入): ");gets(temp.XIBIE);</p><p><b> }</b><
59、;/p><p> student=temp;</p><p> save(&temp);</p><p> fclose(fp);</p><p><b> }</b></p><p> /*定義保存函數(shù)*/</p><p> void save( stru
60、ct student student[])</p><p><b> {</b></p><p> FILE *fp=NULL;</p><p> fp=fopen("F://123.txt","ab+");</p><p> fwrite(student,sizeof(s
61、truct student),1,fp);</p><p> fclose(fp);</p><p><b> }</b></p><p> /*定義查找學生信息的函數(shù)*/</p><p> void CHAZHAO()</p><p><b> { char c;</b
62、></p><p><b> FILE *fp;</b></p><p> fp=fopen("F://123.txt","r");</p><p> if(fp==NULL)</p><p> { printf("\n 打開文件失敗! \n"
63、;);return; }</p><p> printf("\n 按學號查找( 1 ),還是按姓名查找( 2 )? ");</p><p> c=getch();</p><p><b> putch(c);</b></p><p> if(c=='1') sch
64、_XUEHAO(fp);</p><p> else if(c=='2') sch_XINGMING(fp);</p><p> else printf("\n 非法字符!\n");</p><p> fclose(fp);</p><p><b> }</b><
65、/p><p> /*定義按學號查找學生信息的函數(shù)*/</p><p> void sch_XUEHAO(FILE *fp)</p><p> { int flag=0,n=0;</p><p> char tempXUEHAO[20];</p><p> struct student temp;</p&
66、gt;<p> printf("\n 請輸入要查找學生信息的學號: ");</p><p> gets(tempXUEHAO);</p><p> while(feof(fp)==0)</p><p> { fscanf(fp,"%5s%10s%10s%10s%10s%10s%10s%10s\n",
67、&temp.XUEHAO,&temp.XINGMING,&temp.XINGBIE,&temp.NIANLING,&temp.JIGUAN,&temp.ZHUANYE,&temp.BANJI,&temp.XIBIE);</p><p> if(strcmp(tempXUEHAO,temp.XUEHAO)==0)</p><p&g
68、t; { if(flag==0)</p><p> printf(" 學號 姓名 姓別 年齡 籍貫 專業(yè) 班級 系別\n");</p><p> printf("%5s%10s%10s%10s%10s%10s%10s%10s\n",temp.XUEHAO,temp.X
69、INGMING,temp.XINGBIE,temp.NIANLING,temp.JIGUAN,temp.ZHUANYE,temp.BANJI,temp.XIBIE);</p><p><b> flag=1;</b></p><p><b> }</b></p><p><b> n++;</b>
70、;</p><p><b> }</b></p><p> if(n==0) printf("\n 文件中無此信息!\n");</p><p> else if(flag==0) printf("\n 文件中無此人!\n");</p><p><
71、;b> }</b></p><p> /*定義按姓名查找學生信息的函數(shù)*/</p><p> void sch_XINGMING(FILE *fp)</p><p> { int flag=0,n=0;</p><p> char tempXINGMING[10];</p><p>
72、 struct student temp;</p><p> printf("\n 請輸入要查找學生信息的姓名: ");</p><p> gets(tempXINGMING);</p><p> while(feof(fp)==0)</p><p><b> 7課程設(shè)計體會</b>&l
73、t;/p><p> 通過這次的C語言課程設(shè)計,我獲益匪淺。首先最深的是課本知識學的再好,也需要實際的檢驗。我從這次的課程中我認識到了自己的許多不足,滿以為自己學的很好,可是到實際運用時,才發(fā)現(xiàn)自己這也不行,那里不足。讓我深刻認識到自己所學知識必須運用于實際,讓實際來檢驗自己的水平。同時這次課程設(shè)計也給了我們一個真正展示自我的機會,我通過自己的努力和老師、朋友的幫助順利完成了這次課程設(shè)計</p><
74、;p><b> 參考文獻</b></p><p> [1] 張福祥. C語言程序設(shè)計[M]. 沈陽:遼寧大學出版社,2010.1</p><p> [2] 張福祥,王萌.C語言程序設(shè)計習題解答與實驗實訓[M].沈陽:遼寧大學出版社,2010.1</p><p> [3] 牛莉,劉遠軍等.計算機等級考試輔導教程[M].北京:中國鐵道
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- c語言課程設(shè)計報告--學生學籍管理系統(tǒng)
- c++課程設(shè)計報告(學生學籍管理系統(tǒng))
- c++課程設(shè)計報告(學生學籍管理系統(tǒng))
- c++課程設(shè)計報告(學生學籍管理系統(tǒng)) (2)
- c++課程設(shè)計---學生學籍管理系統(tǒng)
- 學生學籍管理系統(tǒng)課程設(shè)計報告
- 學生學籍管理系統(tǒng)課程設(shè)計報告
- c++課程設(shè)計報告-- 學籍管理系統(tǒng)
- c++課程設(shè)計學生學籍成績管理系統(tǒng)
- c++語言課程設(shè)計報告書--學生學籍管理系統(tǒng)
- 學生學籍管理系統(tǒng)課程設(shè)計
- c語言課程設(shè)計-學籍管理系統(tǒng)
- 《c++程序設(shè)計》課程設(shè)計--學生學籍管理系統(tǒng)
- c語言課程設(shè)計-學籍管理系統(tǒng)
- 學籍管理系統(tǒng)課程設(shè)計報告
- 學籍管理系統(tǒng)課程設(shè)計報告
- 課程設(shè)計報告--學籍管理系統(tǒng)
- 學籍管理系統(tǒng)課程設(shè)計報告
- c++課程設(shè)計——學籍管理系統(tǒng)實驗報告
- 學籍管理系統(tǒng)課程設(shè)計報告
評論
0/150
提交評論