學生學籍管理系統(tǒng)C課程設計報告-正文_第1頁
學生學籍管理系統(tǒng)C課程設計報告-正文_第2頁
學生學籍管理系統(tǒng)C課程設計報告-正文_第3頁
學生學籍管理系統(tǒng)C課程設計報告-正文_第4頁
學生學籍管理系統(tǒng)C課程設計報告-正文_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、經濟學院(國際經濟與貿易)專業(yè)MIS課程設計(2011 2012學年) 設計名稱: 學籍管理系統(tǒng) 班 級:國貿21003班 - 姓 名:廉鵬、寧二龍、俞鴻輝、曾光明 - 指導教師:信管教研室 - 成 績: - 序 號: 二0一二年5月31日目 錄1 前言22 需求分析22.1 課程設計目的22.2 課程設計任務22.3 設計環(huán)境32.4 開發(fā)語言32.5 系統(tǒng)可行性分析33 分析和設計43.1 功能分析43.2 系統(tǒng)流程圖43.3 主要模塊的流程圖54 E-R圖.7.5.數據字典96 具體代碼實現107 課程設計體會17參考文獻171 前言現代科學飛速發(fā)展,世界也不斷的變化,人類的生活隨著科技

2、的發(fā)展也發(fā)生著驚天動地的變化。作為新時代的大學生,我們應該努力學習科學文化知識,以適應社會的發(fā)展要求。以現代化的科學知識為祖國做貢獻。計算機C語言課程設計是一門實踐性很強的課程,因此,我們可以從這里出發(fā),將實踐教學與理論教學達到密切結合。根據實際題目,要求我小組編寫一個程序來,用數據文件存放學生的學籍,可對學生學籍進行注冊,登錄,修改,刪除,查找,統(tǒng)計,學籍變化等操作。通過一個結構體數組來存放輸入的每一位同學的信息(包括學號,姓名,性別,年齡,籍貫,系別,專業(yè),班級),然后將其信息存入文件中。輸入一個學號查詢該同學的信息,并顯示在屏幕上。2 需求分析本系統(tǒng)為了實現學校在校學生、離校學生各項信息

3、資源的查詢、統(tǒng)計、添加、刪除、維護與管理,方便用戶的管理與需求。學籍管理系統(tǒng)的系統(tǒng)分析的重點是對學籍管理信息系統(tǒng)的業(yè)務流程進行描述,通過采用流程圖中的部分圖形來對學生信息質量的管理活動進行規(guī)范化說明。2.1 課程設計目的用數據文件存放學生的學籍,可對學生學籍進行注冊,登錄,修改,刪除,查找,統(tǒng)計,學籍變化等操作。2.2 課程設計任務(1)   系統(tǒng)以菜單方式工作。(2)   登記學生的學號,姓名,性別,年齡,籍貫,系別,專業(yè),班級;修改已知學號的學生信息;(3)   刪除已知學號的學生信息;(4)   查找已知學號

4、的學生信息;(5) 顯示同一系學生信息和統(tǒng)計人數;(6)   顯示所有學生信息和統(tǒng)計人數人數;2.3 設計環(huán)境(1)WINDOWS 2000/2003/XP/7/Vista系統(tǒng)(2)Visual C+或TC集成開發(fā)環(huán)境2.4 開發(fā)語言C+語言2.5系統(tǒng)的可行性分析 2.5.1 管理上的可行性 把教師事務、信息延伸到Internet,建立了評分系統(tǒng),對于老師來講,是信息統(tǒng)一化,管理透明化,學生成績公開化的一個良好的系統(tǒng),因此,對于學校教務領導來說不會對此有很大的抵觸情緒,班主任及輔導員也能夠相應的支持。2.5.2 技術上的可行性a、數據涉及的計算比較簡單,適合采用數據庫;b、

5、學校的微機在存儲和運轉方面能夠滿足數據庫的需求;c、該系統(tǒng)功能網上有很多文獻,可以參考程序功能,幫助實現系統(tǒng)。2.5.3 經濟上的可行性學生的成績繁多增加了老師的負擔,造成了管理人的信息費、大量的紙質費用,還用了大量的時間來核對,受一定的時間與物理空間的局限及學生數量,成本較高。而本系統(tǒng)可以幫助老師正確認識評分系統(tǒng)技術在學校中的重要地位,以少量的時間和資金建立評分系統(tǒng)。3 分析和設計31功能分析將學生學管理系統(tǒng)分為:用戶管理、學生信息管理、學生成績管理和學生學籍檔案管理四個功能模塊,。各個管理模塊現用表的方式加以說明如下:學生學籍管理信息系統(tǒng)管理員學生成績表學生信息表學生學籍管理信息表信息的查

6、、增、刪、改學生檔案表-1、學生信息管理模塊主要對學生信息(學號、姓名、性別、班級、家庭住址)進行管理,本模塊又分為三個子模塊。學生信息錄入學生信息查詢學生信息修改刪除2、學生成績管理模塊主要是對學生成績進行管理,四個子模塊。學生成績錄入學生成績查詢學生成績修改/刪除學生成績統(tǒng)計3、學生學籍檔案管理模塊主要對學校在校生的檔案進行管理。學生、獎懲情況的查詢學生報名注冊登記表錄入在校生檔案的查詢4、用戶管理主要對用戶權限設置進行管理。用戶名:密碼設置(管理人員和普通用戶)3.2 系統(tǒng)流程圖學生學籍管理信息系統(tǒng)數據流程圖S01檔案單成績單P03P02P01D3D2D1信息單學生學籍信息管理員學生信息

7、錄入成績信息錄入檔案信息錄入信息數據表成績數據表檔案數據表數據庫S01檔案單成績單P03P02P01D3D2D1信息單學生學籍信息管理員學生信息錄入成績信息錄入檔案信息錄入信息數據表成績數據表檔案數據表數據庫F05F04F03F02F01按班級按學號按姓名P01D1S01信息錄入學生信息管理員學生信息查詢信息數據表F06學生學籍管理員通過學生信息單,學生成績單,學生檔案單分別錄入,生成信息數據表,成績數據表,檔案數據表從而成立一個總的數據庫3.3 主要模塊的流程圖1、學生信息管理數據流圖學籍信息管理員通過信息單錄入學生的信息,建立信息數據表。用戶可根據,學號,姓名,班級來查詢自己所需的信息,方

8、便而簡單。2、學生成績管理數據流圖學籍成績管理人員通過成績單錄入學生的成績,建立成績數據表。則用戶可根據,學號,姓名,班級查看自己所需的信息。F07F05DP1P2按姓名按班級按學號F04F03F02F06成績統(tǒng)計成績單F01S01學籍成績管理員成績錄入成績查詢成績數據表3、檔案管理數據流圖學籍檔案管理員通過檔案單錄入學生的檔案,建立檔案數據表。用戶可根據,學號,姓名,班級查詢學生的基本檔案F07F06DP2P1按姓名按班級F05F04F03按學號F02檔案單F01S01學生檔案管理人員檔案信息錄入檔案查詢檔案數據表4、系統(tǒng)管理據流圖系統(tǒng)管理員根據用戶需要設置用戶及權限,建立系統(tǒng)數據表。使整個

9、系統(tǒng)的維護更具有安全性,保密性F07F05DP1P2驗證密碼用戶名號F04F03F02F06驗證登陸F01S01系統(tǒng)管理員建立報表學籍系統(tǒng)系統(tǒng)數據庫4.E-R圖系統(tǒng)邏輯設計的主要工作就是將ER圖轉換成一張張的二維表,以及各表的屬性。E-R圖是系統(tǒng)的概念設計,對系統(tǒng)前期分析相當重要,它可以正確直觀的反映出一個業(yè)務系統(tǒng)過程。本系統(tǒng)的E-R圖如下:班級姓名11N1N111NN用戶名密碼登錄管理員/普通用戶學生學籍從屬學生信息聯系電話學號專業(yè)家庭住址出生年月從屬學生成績專業(yè)學號課程名稱姓名班級從屬學生檔案專業(yè)姓名學號班級政治面貌獎懲是否留級包含注冊表專業(yè)班級姓名學號出生年月家庭住址聯系電話 學生學籍管

10、理信息系統(tǒng)E-R圖5.數據字典l 數據項學生表(XS) 名稱數據類型大小約束Xh(主鍵)char10not nullXmchar10not nullXb char10nullCssjchar 10nullZychar10nullZxfchar10nullBzchar10 nullKchchar10 Not null課程表(XS_KC)名稱數據類型大小約束Xh(主鍵)char10Not nullXchchar100nullCjchar10null性別表(XBM)名稱數據類型大小約束XbChar10Not nullXbmChar10Not nulll 數據約束(1)實體完整性約束:基本關系的所有主

11、鍵的屬性都不能取空值且主鍵作為唯一性標識。需要滿足該約束的主鍵:學生表(XS).學號(xh)、課程表(KCB).課程編號(kch).(2)參照完整性約束:外鍵的值只能取空值或等于關聯主鍵的值。需要滿足該約束的外鍵:學生表(XS).學號與課程表(KCB)課程號外鍵關聯.(3)用戶定義完整性約束:針對某一具體關系數據庫的約束條件,反映某一具體應用所涉及的數據必須滿足的語義要求。需要滿足該約束的屬性:學生表(XS).學號,課程表(KCB).課程編號,.都不能為空,學生表(XS).性別只能為男或女。l 數據流圖學生課程錄入查詢學生信息課程成績l 數據存儲信息XS表:Xh(主鍵)、Xb、Xb、Cssj、

12、Zy、Zxf、Bz、Kch(外鍵)。KC表:Kch(主鍵)、kCM、Cj。XBM表:Xb、Xbm。6 具體代碼實現#include <stdio.h>#include <string.h>#include <conio.h>#include <malloc.h>#include <stdlib.h>#define N 100struct student char XUEHAO20; char XINGMING10; char XINGBIE4; char NIANLING10; char JIGUAN10; char ZHUANYE1

13、0; char BANJI6; char XIBIE20;student;void CAIDAN();void ZHUCE();void XIUGAI();void SHANCHU();void del_XUEHAO(FILE *fp);void del_XINGMING(FILE *fp);void CHAZHAO();void sch_XUEHAO(FILE *fp);void sch_XINGMING(FILE *fp);void TONGJI();void XIANSHI();void TIANJIA();void save( struct student student);main(

14、) char choose,yes_no; do CAIDAN(); printf("n 請輸入序號: (18) "); choose=getch(); system("cls"); switch(choose) case'1': printf(" %c",choose);ZHUCE();break; case'2': printf(" %c",choose);XIUGAI();break; case'3': printf(" %c",choose

15、);SHANCHU();break; case'4': printf(" %c",choose);TIANJIA();break; case'5': printf(" %c",choose);CHAZHAO();break; case'6': printf(" %c",choose);TONGJI();break; case'7': printf(" %c",choose);XIANSHI();break; case'8': break

16、; default:printf("n %c 序號不對!n",choose); if(choose='8')break; printf("n 要繼續(xù)選擇嗎 ? (Y/N) n"); do yes_no=getch(); printf(" %c",yes_no);while(yes_no!='Y'&&yes_no!='y'&&yes_no!='N'&&yes_no!='n'); while(yes_no=

17、9;Y'|yes_no='y');void CAIDAN() system("cls"); printf(" * n "); printf(" * 請選擇相應的功能 * n "); printf(" * 1-注冊 * n "); printf(" * 2-修改學生信息 * n "); printf(" * 3-刪除學生信息 * n "); printf(" * 4-添加學生信息 * n "); printf(" * 5-查

18、找學生信息 * n "); printf(" * 6-統(tǒng)計學生信息 * n "); printf(" * 7-顯示學生信息 * n "); printf(" * 8-退出系統(tǒng) * n "); printf(" * n ");/*定義學生信息注冊的函數*/void ZHUCE() int i=1; struct student temp; FILE *fp; fp=fopen("F:/123.txt","w"); if(fp=NULL) printf("n

19、打開文件失敗! n");return; printf("n 請輸入第1個學生信息:n"); printf(" 學號(用#結束輸入): "); do gets(temp.XUEHAO); while(strcmp(temp.XUEHAO," ")=0); printf(" 姓名(用#結束輸入): ");gets(temp.XINGMING); printf(" 性別(用#結束輸入): ");gets(temp.XINGBIE); printf(" 年齡(用#結束輸入): &qu

20、ot;);gets(temp.NIANLING); printf(" 籍貫(用#結束輸入): ");gets(temp.JIGUAN); printf(" 專業(yè)(用#結束輸入): ");gets(temp.ZHUANYE); printf(" 班級(用#結束輸入): ");gets(temp.BANJI); printf(" 系別(用#結束輸入): ");gets(temp.XIBIE); while(temp.XUEHAO0!='#'&&temp.XINGMING0!='#

21、'&&temp.XINGBIE0!='#'&&temp.NIANLING0!='#'&&temp.JIGUAN0!='#'&&temp.ZHUANYE0!='#'&&temp.BANJI0!='#'&&temp.XIBIE0!='#'&&temp.XIBIE) fprintf(fp,"%5s%10s%10s%10s%10s%10s%10s%10sn",temp.

22、XUEHAO,temp.XINGMING,temp.XINGBIE,temp.NIANLING,temp.JIGUAN,temp.ZHUANYE,temp.BANJI,temp.XIBIE,temp); i+; printf("n 請輸入第 %d 個學生信息:n ",i); printf(" 學號(用#結束輸入): "); do gets(temp.XUEHAO); while(strcmp(temp.XUEHAO," ")=0); printf(" 姓名(用#結束輸入): ");gets(temp.XINGMIN

23、G); printf(" 性別(用#結束輸入): ");gets(temp.XINGBIE); printf(" 年齡(用#結束輸入): ");gets(temp.NIANLING); printf(" 籍貫(用#結束輸入): ");gets(temp.JIGUAN); printf(" 專業(yè)(用#結束輸入): ");gets(temp.ZHUANYE); printf(" 班級(用#結束輸入): ");gets(temp.BANJI); printf(" 系別(用#結束輸入): &q

24、uot;);gets(temp.XIBIE); student=temp; save(&temp);fclose(fp);/*定義保存函數*/void save( struct student student) FILE *fp=NULL; fp=fopen("F:/123.txt","ab+"); fwrite(student,sizeof(struct student),1,fp); fclose(fp);/*定義查找學生信息的函數*/void CHAZHAO() char c; FILE *fp; fp=fopen("F:/123

25、.txt","r"); if(fp=NULL) printf("n 打開文件失敗! n");return; printf("n 按學號查找( 1 ),還是按姓名查找( 2 )? "); c=getch(); putch(c); if(c='1') sch_XUEHAO(fp); else if(c='2') sch_XINGMING(fp); else printf("n 非法字符!n"); fclose(fp);/*定義按學號查找學生信息的函數*/void sch_XUE

26、HAO(FILE *fp) int flag=0,n=0; char tempXUEHAO20; struct student temp; printf("n 請輸入要查找學生信息的學號: "); gets(tempXUEHAO); while(feof(fp)=0) fscanf(fp,"%5s%10s%10s%10s%10s%10s%10s%10sn",&temp.XUEHAO,&temp.XINGMING,&temp.XINGBIE,&temp.NIANLING,&temp.JIGUAN,&temp.ZHUANYE,&temp.BANJI,&am

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論