下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、學(xué)籍管理系統(tǒng)一、系統(tǒng)簡(jiǎn)介設(shè)計(jì)一個(gè)基于結(jié)構(gòu)體數(shù)組的學(xué)生學(xué)籍管理系統(tǒng),能實(shí)現(xiàn)對(duì)學(xué)生學(xué)籍信息進(jìn)行錄入, 修改,刪除,查詢(xún)和輸生等基本操作二、需求分析學(xué)籍管理系統(tǒng)應(yīng)該實(shí)現(xiàn)以下功能:1、能錄入學(xué)生的基本信息,包括學(xué)號(hào),姓名,專(zhuān)業(yè),年級(jí),性別和由生日期信息,保存到結(jié)構(gòu)體數(shù)組中。2、能根據(jù)輸入的學(xué)號(hào)查詢(xún)學(xué)生,進(jìn)行信息的修改。3、能根據(jù)輸入的學(xué)號(hào)從結(jié)構(gòu)體數(shù)組中刪除學(xué)生的記錄。4、實(shí)現(xiàn)查詢(xún)功能,能根據(jù)輸入的學(xué)號(hào)或年級(jí)在屏幕上顯示 相應(yīng)的學(xué)生信息。5、能在屏幕上以列表的方式輸由所有學(xué)生的信息三、概要設(shè)計(jì)1、系統(tǒng)功能根據(jù)項(xiàng)目的開(kāi)發(fā)要求,本系統(tǒng)劃分成六個(gè)主要功能模塊:錄 入學(xué)生信息模塊、修改學(xué)生信息模塊、刪除學(xué)生信息
2、模塊、 查詢(xún)學(xué)生信息模塊、輸由模塊和推由模塊。系統(tǒng)功能機(jī)構(gòu)圖如下:2、重要數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)學(xué)生學(xué)籍的記錄項(xiàng)用結(jié)構(gòu)體Stu message表示,包括6個(gè)屬性,stuno,name、 spec、 grade、 sex、 birthday 分另U代表學(xué)生的學(xué) 號(hào)、專(zhuān)業(yè)、年級(jí)、性別和由生日期,其中 birthday類(lèi)型為自 定義的結(jié)構(gòu)體類(lèi)型 Date.Struct stumessage Char stuno11:學(xué)號(hào)Char name9:姓名Char spec2:專(zhuān)業(yè)Char grade:年級(jí)Char sex:/性別Stuct date birthday:由生日期;日期類(lèi)型date包括三個(gè)屬性,分別
3、代表年、月、日。Struct dateint year :年Int month:月Int day:日;3、函數(shù)設(shè)計(jì) 學(xué)籍管理系統(tǒng)程序采用了結(jié)構(gòu)化程序設(shè)計(jì)的思想,由 1個(gè).h頭文件和3個(gè)C源文件組成。程序中除了主函數(shù)外,共設(shè)計(jì) 了以下14個(gè)函數(shù),分別包含在3個(gè).c源文件中。以下是這些 函數(shù)原型及功能設(shè)計(jì)。(1) void sysinfo(void)函數(shù)功能:在屏幕上輸入系統(tǒng)及版權(quán)信息并等待用戶響應(yīng)。(2) Void menuofmain(struct stumessage stu);函數(shù)功能:在屏幕上顯示主菜單,接收用戶選擇并響應(yīng)用戶 相應(yīng)操作。(3) Void append(struct st
4、umessage stu);函數(shù)功能:錄入一條學(xué)生記錄數(shù)組的末尾。(4) void modify (struct stumessage stu)函數(shù)功能:通過(guò)輸入學(xué)號(hào)查詢(xún)學(xué)生相關(guān)信息,如果存在在屏幕上輸由相應(yīng)學(xué)生記錄并通過(guò)重新輸入學(xué)生信息的方法修改該學(xué)生的記錄,否則輸由沒(méi)有找到相關(guān)記錄。;(5) void Delet(struct stu Message stu)函數(shù)功能:通過(guò)輸入學(xué)號(hào)查詢(xún)學(xué)生的相應(yīng)記錄信息,如果 存在在屏幕上輸由相應(yīng)學(xué)生記錄,用戶確認(rèn)刪除后用 DelList()否則輸由沒(méi)有找到相關(guān)記錄。(6) Void menuOfsear(struct stumessage stu);函數(shù)
5、功能:在屏幕上顯示查詢(xún)了主菜單,接受用戶選擇并響應(yīng)用戶操作。(7) void listall(struct stumessage stu);函數(shù)功能:在屏幕上以列表的方式輸由學(xué)生所有信息。調(diào)用 printhead ()輸由表頭,在調(diào)用 listone ()函數(shù)注意輸由個(gè) 條記錄。(8) void quit (void);函數(shù)功能:退由菜單系統(tǒng),并調(diào)用exit(0)系統(tǒng)函數(shù)結(jié)束程序運(yùn)行。(9) void stear num(struct stumessage stu);函數(shù)功能:通過(guò)輸入學(xué)號(hào)調(diào)用numofsear ()函數(shù)查詢(xún)學(xué)生的相應(yīng)的記錄信息,如果存在調(diào)用printhead ()函數(shù)和lis
6、tone()函數(shù)在屏幕上輸由相應(yīng)學(xué)生記錄,否則輸由沒(méi)有找到相關(guān)記錄。(10) voidsteargrade(stuct stumessage stu);函數(shù)功能:通過(guò)輸入年級(jí)查詢(xún)學(xué)生的相關(guān)記錄信息,如果存 在在屏幕以列表方式輸由相應(yīng)學(xué)生記錄,并輸由統(tǒng)計(jì)滿足條 件的學(xué)生個(gè)數(shù),否則輸由沒(méi)有找到相關(guān)記錄。(11) int numofsear(struct stumessage stu.char stunumber);函數(shù)功能:根據(jù)接收到的學(xué)生學(xué)號(hào),在相應(yīng)記錄數(shù)組中進(jìn)行 查詢(xún),如果存在相應(yīng)記錄,返加相應(yīng)的數(shù)組下標(biāo),否則返回-1.(12) void printhead (void )函數(shù)功能:在屏幕上顯
7、示輸由列表的表頭。(13) void list one (struct stumessage list);函數(shù)功能:在屏幕上以行的形式顯示輸由一個(gè)學(xué)生的相關(guān)信(14) int dellist(struct stumessage stu, int i):函數(shù)功能:如果數(shù)組中存在下標(biāo)為i的記錄,刪除該記錄并返回1,否則返回0.組員1Main():systeminfo();menuofmain();quit();組員2Printhead();listone();listall(0;apend();組員3Modify();delte();dellist(0;menuofstear();seranum(
8、);s eargrade();numofsear();4、小組成員分工四、詳細(xì)設(shè)計(jì)1、系統(tǒng)主函數(shù)main ()設(shè)計(jì)開(kāi)始輸出系統(tǒng)及版權(quán)信息Sysinfo()顯示用戶主菜單并響應(yīng)用戶操作MenuofmOii(農(nóng)業(yè)大學(xué)2、主菜單模塊函數(shù) menuofmain()設(shè)計(jì)Append()設(shè)計(jì)3、錄入學(xué)生信息功能模塊4、修改學(xué)生信息功能模塊函數(shù)modify()設(shè)計(jì)5、刪除學(xué)生信息功能模塊函數(shù)delete()設(shè)計(jì),6.查詢(xún)菜單模塊函數(shù)7、按學(xué)號(hào)查詢(xún)功能模塊函數(shù)searnum()設(shè)計(jì)N輸出第i條記錄8、按年級(jí)查詢(xún)功能模塊函數(shù)steargrade()設(shè)計(jì)9、輸由學(xué)生信息功能模塊函數(shù)ListALL ()設(shè)計(jì);按任意
9、鍵繼續(xù)Getch()五.調(diào)試分析本系統(tǒng)在VC6下編譯調(diào)試通過(guò),可順利運(yùn)行,各項(xiàng)功能達(dá)到 設(shè)計(jì)要求。本系統(tǒng)程序由一個(gè).h頭文件和三個(gè).C源文件構(gòu)成。系統(tǒng)調(diào)試 主要在vc6下進(jìn)行,采用分模塊的方法進(jìn)行編譯,即完成一 個(gè)函數(shù)功能模塊就編譯一個(gè)功能模塊,最后再進(jìn)行整體編譯 并產(chǎn)生可執(zhí)行文件 student.exe。在調(diào)試過(guò)程中,主要碰到了以下問(wèn)題:1 .在清屏函數(shù)在 Tc中使用的clrsc()函數(shù),但在vc6中沒(méi)有該 函數(shù)也沒(méi)有相應(yīng)的函數(shù)。 查資料,發(fā)現(xiàn)在vc中可使用system()函數(shù)調(diào)用系統(tǒng)實(shí)現(xiàn)。2 .在使用c語(yǔ)言系統(tǒng)函數(shù)進(jìn)行數(shù)據(jù)輸入的時(shí)候,發(fā)現(xiàn)使用 getchar (0和gets (0函數(shù)輸入字
10、符和字符串的時(shí)候,系統(tǒng)經(jīng) 常跳過(guò)相應(yīng)的輸入語(yǔ)句,無(wú)法輸入數(shù)據(jù)。查資料,是 c系統(tǒng) 的輸入處理,緩存問(wèn)題,解決方法是在進(jìn)行字符和字符串輸 入的時(shí)候,先使用 fflush (stdin)函數(shù)清除緩存,既可正常輸入字符和字符串六、用戶手冊(cè)本系統(tǒng)是 Win32控制臺(tái)程序,可在 window和dos環(huán)境下運(yùn) 行,執(zhí)行文件名稱(chēng):student.exe。運(yùn)行程序后,首先顯示系統(tǒng)消息和版權(quán)信息,用戶按任意鍵 后進(jìn)行主要功能菜單,在主功能菜單中輸入相應(yīng)的數(shù)字可執(zhí) 行相應(yīng)的程序功能,包括錄入學(xué)生信息、修改學(xué)生信息,刪 除學(xué)生信息和輸入所有學(xué)生信息,輸入4可進(jìn)行查詢(xún)子菜單, 可進(jìn)行按學(xué)號(hào)查詢(xún)和按年級(jí)查詢(xún)學(xué)生信息。在
11、主功能菜單案6可結(jié)束本系統(tǒng)的運(yùn)行并自動(dòng)關(guān)閉運(yùn)行窗口。七、附錄源程序文件名清單:Alist.h公用的常量和類(lèi)型Main.cList.cEdit.c源代碼如下:#include<stdio.h>#include<stdlib.h>#include<string.h> struct date(int year;int month;int day;);struct StuMessage (char stuNo11;char name10;char spec21;int greade;char sex10;struct date birthday;);int leng
12、th=0;struct StuMessage Stu100;int main() ( char c; int menuofmain(); int Append(struct StuMessage Stu100); int Modify(struct StuMessage Stu100); int Delete(struct StuMessage Stu100); void Menuofsear(struct StuMessage Stu100); void Listall(struct StuMessage Stu100);int listone(struct StuMessage Stu10
13、0,int i);system("color 5a");void SysInfo(void); (printf("nnntttt江西農(nóng)業(yè)大學(xué)學(xué)籍管理系統(tǒng)n"); printf("nnn 版本信息:nn");printf("ntc-free vision5.0nn");printf("nt2012-05-28t't");printf("nnttttttt 班級(jí):軟件 1115班n'n");printf("ttttttt 姓名:朱利斌 nn")
14、;printf("ttttttt 指導(dǎo)教師:鄧泓 nn");printf("nntttt enter 進(jìn)入學(xué)籍管理系統(tǒng)n");c=getchar();menuofmain();int menuofmain() (int num;system("cls");system("color fc");int Append(struct StuMessage Stu100);int Modify(struct StuMessage Stu100);int Delete(struct StuMessage Stu100);vo
15、id Menuofsear(struct StuMessage Stu100);void Listall(struct StuMessage Stu100);int listone(struct StuMessage Stu100,int i);printf("nnttt江西農(nóng)業(yè)大學(xué)學(xué)生檔案管理系統(tǒng)nnn");printf("tttplease make a choicennn");printf("ttt錄入學(xué)生信息,請(qǐng)選擇 1n");printf("ttt修改學(xué)生信息,請(qǐng)選擇 2n");printf("
16、ttt刪除學(xué)生信息,請(qǐng)選擇 3n");printf("ttt查詢(xún)學(xué)生信息,請(qǐng)選擇 4n");printf("ttt輸出學(xué)生信息,請(qǐng)選擇 5n");printf("ttt退出 系統(tǒng),請(qǐng)選擇6n");printf("nttttttttttttn");printf("nttn");printf("請(qǐng)輸入編號(hào)做出選擇:n");scanf("%d”, &num);switch(num)case 1:Append(Stu);break;case 2:Modif
17、y(Stu);break;case 3:Delete(Stu);break;case 4:Menuofsear(Stu);break;case 5:Listall(Stu);break;case 6:exit (0);break;default:printf("非法操作 n");break;int Append(struct StuMessage Stu100)system("cls");char c,ch;fflush(stdin);printf("輸入第%d個(gè)學(xué)生的信息。n”,length+1);printf("第d 個(gè)學(xué)生的信息
18、 n",length+1);printf("please input stuNon");scanf("%s",Stu0.stuNo);printf("please input namen");scanf("%s",S);printf("please input specn");scanf("%s",Stu0.spec);printf("please input greaden");scanf("%d”,&Stu0
19、.greade);printf("please input sexn");scanf("%s",Stu0.sex);printf("please input birthdayn");scanf("%d%d%d",&Stu0.birthday.year,&Stu0.birthday.month,&Stu0. birthday.day);length+;while(1) c=getchar();printf("輸入y或Y繼續(xù)輸入學(xué)生記錄nn或N結(jié)束輸入返回主菜單n"); ch
20、=getchar();if(ch='y'|ch='Y') system("cls");fflush(stdin);printf("第d 個(gè)學(xué)生的信息 n",length+1);printf("please input stuNon");scanf("%s",Stulength.stuNo); printf("please input namen"); scanf("%s",S); printf("please
21、 input specn");scanf("%s",Stulength.spec); printf("please input greaden"); scanf("%d”,&Stulength.greade); printf("please input sexn");scanf("%s",Stulength.sex); printf("please input birthdayn");scanf("%d%d%d",&Stulength.bi
22、rthday.year,&Stulength.birthday.mont h,&Stulength.birthday.day);length+;else if(ch='n'|ch='N') menuofmain();int Modify(struct StuMessage Stu)(system("cls");int listone(struct StuMessage Stu,int i);char ch100,c;int i,j=-1;printf("輸入學(xué)號(hào)進(jìn)行修改.n");gets(ch);for(i
23、=0;i<length;i+)(if(strcmp(ch,Stui.stuNo)=0)j=i;listone(Stu,i);if(j=-1)printf("沒(méi)有找到相關(guān)記錄。n");Modify(Stu);printf("修改 Y,y/N,n.n");fflush(stdin);c=getchar();if(c='Y'|c='y') fflush(stdin);printf("please input stuNon");scanf("%s",Stuj.stuNo);printf
24、("please input namen");scanf("%s",S);printf("please input specn");scanf("%s",Stuj.spec);printf("please input greaden");scanf("%d”,&Stuj.greade);printf("please input sexn");scanf("%s",Stuj.sex);printf("please
25、input birthdayn");scanf("%d%d%d",&Stuj.birthday.year,&Stuj.birthday.month,&Stuj.bi rthday.day);else(if(c='N'|c='n') menuofmain();printf("是否繼續(xù)修改是輸入 y|Y否輸入n|N。"); c=getchar();if(c='y'|c='Y')( Modify(Stu);else(if(c='n'|c='
26、N') menuofmain();int Delete(struct StuMessage Stu口)(system("cls");int listone(struct StuMessage Stu口,int i);char ch100,c;int i,j=-1;printf("輸入學(xué)號(hào)進(jìn)行刪除.n");fflush(stdin);gets(ch);for(i=0;i<length;i+)(if(strcmp(ch,Stui.stuNo)=0) j=i;listone(Stu,i);if(j=-1)printf("沒(méi)有找到相關(guān)記錄
27、。n"); Delete(Stu);printf("刪除是 Y|y 否 N|nn");fflush(stdin);c=getchar();if(c='Y'|c='y')for(j;j<length;j+) Stuj=Stuj+1; length-;else(menuofmain();printf("繼續(xù)刪除是 y|Y 否 n|N");fflush(stdin);c=getchar();if(c='y'|c='Y')(Delete(Stu);else(if(c='n
28、39;|c='N') menuofmain();void Menuofsear(struct StuMessage Stu)(system("cls");char c;char ch100;int a,i,j=0;int listone(struct StuMessage Stu,int i); printf("t輸入02進(jìn)行選擇n");printf("按學(xué)號(hào)查詢(xún),請(qǐng)選擇1n");printf("按年級(jí)查詢(xún),請(qǐng)選擇 2n");printf("返回主菜單,請(qǐng)選擇0n"); fflush(stdin);c=getchar(); switch(c)(case '1':(fflush(stdin);printf("please input stuNon"); scanf("%s”,&ch);for(i=0;i<length;i+) (if(strcmp(ch,Stui.stuNo
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年張家港市大新鎮(zhèn)人民醫(yī)院自主招聘編外合同制衛(wèi)技人員備考題庫(kù)及答案詳解參考
- 2025年山西省腦癱康復(fù)醫(yī)院公開(kāi)招聘編制外合同制工作人員備考題庫(kù)完整答案詳解
- 2025年菏澤檢察機(jī)關(guān)公開(kāi)招聘59人備考題庫(kù)及1套參考答案詳解
- 2026年兒童早教服務(wù)合同
- 2026年生物多樣性損害保險(xiǎn)合同中
- 2025年遂寧市大數(shù)據(jù)中心遂寧數(shù)字經(jīng)濟(jì)研究院的招聘?jìng)淇碱}庫(kù)及一套答案詳解
- 2025年達(dá)州銀行股份有限公司社會(huì)招聘?jìng)淇碱}庫(kù)完整答案詳解
- 2025年象州縣機(jī)關(guān)事務(wù)管理局公開(kāi)招聘編外工作人員備考題庫(kù)帶答案詳解
- 2025年中國(guó)科學(xué)院遺傳與發(fā)育生物學(xué)研究所綜合管理部交通助理崗位招聘?jìng)淇碱}庫(kù)有答案詳解
- 2025年固鎮(zhèn)縣司法局選聘專(zhuān)職人民調(diào)解員16人備考題庫(kù)及答案詳解1套
- 甲狀腺癌教學(xué)查房
- 車(chē)輛租賃方案、通勤車(chē)租賃服務(wù)采購(gòu)方案(技術(shù)方案)
- 塔吊施工方案(專(zhuān)項(xiàng)方案)
- 空壓機(jī)入井及使用安全技術(shù)措施
- 對(duì)昆明機(jī)場(chǎng)地區(qū)天氣氣候特征的一些綜述分析
- YS/T 277-2009氧化亞鎳
- YS/T 1109-2016有機(jī)硅用硅粉
- 教師的信仰與價(jià)值(合師院講座)
- GB/T 10609.2-2009技術(shù)制圖明細(xì)欄
- 汽車(chē)制造工程的核心技術(shù)及四大工藝流程開(kāi)發(fā)體系-
- 安徽省合肥市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名明細(xì)及行政區(qū)劃代碼
評(píng)論
0/150
提交評(píng)論