![C語言學(xué)籍管理系統(tǒng)(內(nèi)含源代碼)_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-6/2/8be8cf6f-1ebe-4760-9e22-2740220e100e/8be8cf6f-1ebe-4760-9e22-2740220e100e1.gif)
![C語言學(xué)籍管理系統(tǒng)(內(nèi)含源代碼)_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-6/2/8be8cf6f-1ebe-4760-9e22-2740220e100e/8be8cf6f-1ebe-4760-9e22-2740220e100e2.gif)
![C語言學(xué)籍管理系統(tǒng)(內(nèi)含源代碼)_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-6/2/8be8cf6f-1ebe-4760-9e22-2740220e100e/8be8cf6f-1ebe-4760-9e22-2740220e100e3.gif)
![C語言學(xué)籍管理系統(tǒng)(內(nèi)含源代碼)_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-6/2/8be8cf6f-1ebe-4760-9e22-2740220e100e/8be8cf6f-1ebe-4760-9e22-2740220e100e4.gif)
![C語言學(xué)籍管理系統(tǒng)(內(nèi)含源代碼)_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-6/2/8be8cf6f-1ebe-4760-9e22-2740220e100e/8be8cf6f-1ebe-4760-9e22-2740220e100e5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 學(xué)籍管理系統(tǒng) 一 、系統(tǒng)簡介設(shè)計(jì)一個(gè)基于結(jié)構(gòu)體數(shù)組的學(xué)生學(xué)籍管理系統(tǒng),能實(shí)現(xiàn)對(duì)學(xué)生學(xué)籍信息進(jìn)行錄入,修改,刪除,查詢和輸出等基本操作。2、 需求分析學(xué)籍管理系統(tǒng)應(yīng)該實(shí)現(xiàn)以下功能:1、 能錄入學(xué)生的基本信息,包括學(xué)號(hào),姓名,專業(yè),年級(jí),性別和出生日期信息,保存到結(jié)構(gòu)體數(shù)組中。2、 能根據(jù)輸入的學(xué)號(hào)查詢學(xué)生,進(jìn)行信息的修改。3、 能根據(jù)輸入的學(xué)號(hào)從結(jié)構(gòu)體數(shù)組中刪除學(xué)生的記錄。4、 實(shí)現(xiàn)查詢功能,能根據(jù)輸入的學(xué)號(hào)或年級(jí)在屏幕上顯示相應(yīng)的學(xué)生信息。5、 能在屏幕上以列表的方式輸出所有學(xué)生的信息。3、 概要設(shè)計(jì)1、 系統(tǒng)功能根據(jù)項(xiàng)目的開發(fā)要求,本系統(tǒng)劃分成六個(gè)主要功能模塊:錄入學(xué)生信息模塊、修改學(xué)生信
2、息模塊、刪除學(xué)生信息模塊、查詢學(xué)生信息模塊、輸出模塊和推出模塊。系統(tǒng)功能機(jī)構(gòu)圖如下: 學(xué)生檔案管理系統(tǒng)刪除學(xué)生信息修改學(xué)生信息查詢學(xué)生信息系統(tǒng)輸出學(xué)生信息退出系統(tǒng)錄入學(xué)生信息按班級(jí) 查詢按學(xué)號(hào)查詢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分別代表學(xué)生的學(xué)號(hào)、專業(yè)、年級(jí)、性別和出生日期,其中birthday類型為自定義的結(jié)構(gòu)體類型Date.Struct stumessageChar stuno11: /學(xué)號(hào)Char name9: /姓名Char spec2: /專業(yè)Char g
3、rade: /年級(jí)Char sex: /性別Stuct date birthday: /出生日期;日期類型 date包括三個(gè)屬性,分別代表年、月、日。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 stu
4、message stu);函數(shù)功能:在屏幕上顯示主菜單,接收用戶選擇并響應(yīng)用戶相應(yīng)操作。(3) Void append(struct stumessage stu);函數(shù)功能:錄入一條學(xué)生記錄數(shù)組的末尾。(4) void modify(struct stumessage stu)函數(shù)功能:通過輸入學(xué)號(hào)查詢學(xué)生相關(guān)信息,如果存在在屏幕上輸出相應(yīng)學(xué)生記錄并通過重新輸入學(xué)生信息的方法修改該學(xué)生的記錄,否則輸出沒有找到相關(guān)記錄。;(5) void Delet(struct stu Message stu) 函數(shù)功能:通過輸入學(xué)號(hào)查詢學(xué)生的相應(yīng)記錄信息,如果存在在屏幕上輸出相應(yīng)學(xué)生記錄,用戶確認(rèn)刪除后用
5、DelList()否則輸出沒有找到相關(guān)記錄。(6) Void menuOfsear(struct stumessage stu);函數(shù)功能:在屏幕上顯示查詢了主菜單,接受用戶選擇并響應(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ù)功
6、能:通過輸入學(xué)號(hào)調(diào)用numofsear()函數(shù)查詢學(xué)生的相應(yīng)的記錄信息,如果存在調(diào)用printhead()函數(shù)和listone()函數(shù)在屏幕上輸出相應(yīng)學(xué)生記錄,否則輸出沒有找到相關(guān)記錄。(10) voidsteargrade(stuct stumessage stu);函數(shù)功能:通過輸入年級(jí)查詢學(xué)生的相關(guān)記錄信息,如果存在在屏幕以列表方式輸出相應(yīng)學(xué)生記錄,并輸出統(tǒng)計(jì)滿足條件的學(xué)生個(gè)數(shù),否則輸出沒有找到相關(guān)記錄。(11) int numofsear(struct stumessage stu.char stunumber);函數(shù)功能:根據(jù)接收到的學(xué)生學(xué)號(hào),在相應(yīng)記錄數(shù)組中進(jìn)行查詢,如果存在相應(yīng)記
7、錄,返加相應(yīng)的數(shù)組下標(biāo),否則返回-1.(12) void printhead(void)函數(shù)功能:在屏幕上顯示輸出列表的表頭。(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.4、 小組成員分工組員1Main():systeminfo();menuofmain();quit();組員2Printhead();listone();listal
8、l(0;apend();組員3Modify();delte();dellist(0;menuofstear();seranum();seargrade();numofsear();4、 詳細(xì)設(shè)計(jì)1、 系統(tǒng)主函數(shù)main()設(shè)計(jì) 輸出系統(tǒng)及版權(quán)信息 Sysinfo() 開始 顯示用戶主菜單并響應(yīng) 用戶操作 Menuofmain() 結(jié)束2、 主菜單模塊函數(shù)menuofmain()設(shè)計(jì) 清屏 清屏 開始 Choose!=0 choose退出系統(tǒng)輸出學(xué)生信息修改學(xué)生信息刪除學(xué)生信息查詢學(xué)生信息錄入學(xué)生信息非法操作 清屏顯示主菜單接收用戶選擇 1 2 3 4 5 6 0 Y N 3、 錄入學(xué)生信息功能
9、模塊函數(shù)Append()設(shè)計(jì) 清屏 返回Con='Y'或con='Y' 接受用戶選擇 繼續(xù)錄入(Y/N) Length+ 錄入一條記錄 Y N4、修改學(xué)生信息功能模塊函數(shù)modify()設(shè)計(jì)5、刪除學(xué)生信息功能模塊函數(shù)delete()設(shè)計(jì)繼續(xù)刪除(Y/N) Length-記錄存在刪除()Y/N 刪除成功 輸出第i條記錄 輸出表頭沒有找到相關(guān)記錄查詢該學(xué)生記錄,用i指向它接收要?jiǎng)h除的學(xué)號(hào) 清屏 Y N N Y Y 返回 N 6. 查詢菜單模塊函數(shù)menuofsear()設(shè)計(jì) Choose!=0按年級(jí)查詢非法操作返回主菜單按學(xué)號(hào)查詢 choose 接收用戶的選擇-
10、顯示查詢菜單- 清屏- 1 2 0 其他 Y N 7、 按學(xué)號(hào)查詢功能模塊函數(shù)searnum()設(shè)計(jì)I<length且不 等于學(xué)號(hào) 清屏-接收查詢學(xué)號(hào)- i=0 i+-沒有找到相關(guān)記錄- Choose!=0 輸入表頭- 輸出第i條記錄- 按任意鍵繼續(xù)- Getch()-返回 N Y Y N8、 按年級(jí)查詢功能模塊函數(shù)steargrade()設(shè)計(jì) Getch()- 輸出表頭- 接收查詢年級(jí)- 清屏- i=0,count=0-I<length 等于年級(jí) 輸入第i條記錄- Count+- i +- Choose!=0 共找到n條記錄- 沒有找到相關(guān)記錄- 按任意鍵繼續(xù)- 9、 輸出學(xué)生信
11、息功能模塊函數(shù)ListALL()設(shè)計(jì); 清屏- 輸入表頭- i=0 I<length 輸出第i條記錄- i+- 按任意鍵繼續(xù)- Getch()- 5 調(diào)試分析本系統(tǒng)在VC6下編譯調(diào)試通過,可順利運(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)試過程中,主要碰到了以下問題:1. 在清屏函數(shù)在Tc中使用的clrsc()函數(shù),但在vc6中沒有該函數(shù)也沒有相應(yīng)的函數(shù)。查資料,發(fā)現(xiàn)在vc中可使用system()函數(shù)
12、調(diào)用系統(tǒng)實(shí)現(xiàn)。2. 在使用c語言系統(tǒng)函數(shù)進(jìn)行數(shù)據(jù)輸入的時(shí)候,發(fā)現(xiàn)使用getchar(0和gets(0函數(shù)輸入字符和字符串的時(shí)候,系統(tǒng)經(jīng)常跳過相應(yīng)的輸入語句,無法輸入數(shù)據(jù)。查資料,是c系統(tǒng)的輸入處理,緩存問題,解決方法是在進(jìn)行字符和字符串輸入的時(shí)候,先使用fflush(stdin)函數(shù)清除緩存,既可正常輸入字符和字符串。6、 用戶手冊本系統(tǒng)是win32控制臺(tái)程序,可在window和dos環(huán)境下運(yùn)行,執(zhí)行文件名稱:student.exe。運(yùn)行程序后,首先顯示系統(tǒng)消息和版權(quán)信息,用戶按任意鍵后進(jìn)行主要功能菜單,在主功能菜單中輸入相應(yīng)的數(shù)字可執(zhí)行相應(yīng)的程序功能,包括錄入學(xué)生信息、修改學(xué)生信息,刪除學(xué)生
13、信息和輸入所有學(xué)生信息,輸入4可進(jìn)行查詢子菜單,可進(jìn)行按學(xué)號(hào)查詢和按年級(jí)查詢學(xué)生信息。在主功能菜單案6可結(jié)束本系統(tǒng)的運(yùn)行并自動(dòng)關(guān)閉運(yùn)行窗口。7、 附錄源程序文件名清單:Alist.h /公用的常量和類型Main.cList.cEdit.c源代碼如下:#include<stdio.h>#include<stdlib.h>#include<string.h> struct dateint year;int month;int day;struct StuMessagechar stuNo11;char name10;char spec21;int greade;
14、char sex10; struct date birthday;int length=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 Stu10
15、0); int listone(struct StuMessage Stu100,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-28tt"); printf("nnttttttt班級(jí):軟件1115班nn"); printf
16、("ttttttt姓名:朱利斌nn"); 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 Del
17、ete(struct StuMessage Stu100); void 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é)生信息,請選擇1n"); printf("
18、;ttt修改學(xué)生信息,請選擇2n"); printf("ttt刪除學(xué)生信息,請選擇3n"); printf("ttt查詢學(xué)生信息,請選擇4n"); printf("ttt輸出學(xué)生信息,請選擇5n"); printf("ttt退 出 系 統(tǒng),請選擇6n"); printf("nttttttttttttn"); printf("ntt n"); printf("請輸入編號(hào)做出選擇:n"); scanf("%d", &num
19、); switch(num) case 1:Append(Stu); break; case 2:Modify(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(st
20、din);printf("輸入第%d個(gè)學(xué)生的信息。n",length+1);printf("第%d個(gè)學(xué)生的信息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.spe
21、c);printf("please input greaden");scanf("%d",&Stu0.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+
22、;while(1)c=getchar();printf("輸入y或Y繼續(xù)輸入學(xué)生記錄nn或N結(jié)束輸入返回主菜單n");ch=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 nam
23、en");scanf("%s",S);printf("please input specn");scanf("%s",Stulength.spec);printf("please input greaden");scanf("%d",&Stulength.greade);printf("please input sexn");scanf("%s",Stulength.sex);printf("pleas
24、e input birthdayn");scanf("%d%d%d",&Stulength.birthday.year,&Stulength.birthday.month,&Stulength.birthday.day);length+; elseif(ch='n'|ch='N')menuofmain();int Modify(struct StuMessage Stu) system("cls"); int listone(struct StuMessage Stu,int i); ch
25、ar ch100,c; int i,j=-1; printf("輸入學(xué)號(hào)進(jìn)行修改.n"); gets(ch); for(i=0;i<length;i+) if(strcmp(ch,Stui.stuNo)=0) j=i; listone(Stu,i); if(j=-1) printf("沒有找到相關(guān)記錄。n"); Modify(Stu); printf("修改Y,y/N,n.n");fflush(stdin);c=getchar();if(c='Y'|c='y')fflush(stdin);prin
26、tf("please input stuNon");scanf("%s",Stuj.stuNo);printf("please input namen");scanf("%s",S);printf("please input specn");scanf("%s",Stuj.spec);printf("please input greaden");scanf("%d",&Stuj.greade);printf(&q
27、uot;please input sexn");scanf("%s",Stuj.sex);printf("please input birthdayn");scanf("%d%d%d",&Stuj.birthday.year,&Stuj.birthday.month,&Stuj.birthday.day);elseif(c='N'|c='n')menuofmain();printf("是否繼續(xù)修改是輸入y|Y否輸入n|N。");c=getchar()
28、;if(c='y'|c='Y')Modify(Stu);elseif(c='n'|c='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(
29、strcmp(ch,Stui.stuNo)=0) j=i; listone(Stu,i); if(j=-1) printf("沒有找到相關(guān)記錄。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(stdi
30、n);c=getchar();if(c='y'|c='Y')Delete(Stu);elseif(c='n'|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)查詢,請選擇1n"); printf("按年級(jí)查詢,請選擇2n"); printf("返回主菜單,請選擇0n"); fflush(stdin); c=getchar(); switch(c) case '1': fflush(stdin); printf("please input stuNon"); scanf("%s",&c
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 春節(jié)停工停產(chǎn)方案
- 腳手架鋼管購銷合同
- 信息行業(yè)大數(shù)據(jù)與人工智能應(yīng)用方案
- 政府機(jī)構(gòu)政務(wù)服務(wù)平臺(tái)建設(shè)及優(yōu)化方案設(shè)計(jì)
- 法院的離婚協(xié)議書
- 房地產(chǎn)中介服務(wù)合同中介住房合同
- 安裝工程勞動(dòng)合同
- 連帶責(zé)任保證擔(dān)保合同
- 交通物流業(yè)貨物追蹤系統(tǒng)建設(shè)方案
- 購買公司股份協(xié)議書十
- 學(xué)校辦公室衛(wèi)生制度
- 醫(yī)學(xué)生理學(xué)智慧樹知到答案2024年德州學(xué)院
- GB/T 44412-2024船舶與海上技術(shù)液化天然氣燃料船舶加注規(guī)范
- 小學(xué)三年級(jí)數(shù)學(xué)上冊口算題卡(加換算)
- 機(jī)械制造HSE協(xié)議書
- 2024-2030年中國靜脈血栓栓塞癥(VTE)防治行業(yè)市場全景監(jiān)測及投資策略研究報(bào)告
- 2024年國家保密法知識(shí)競賽經(jīng)典題庫及完整答案【必刷】
- 抑郁癥病例分享
- 《子路、曾皙、冉有、公西華侍坐》課件()
- 青島版(五四制)四年級(jí)數(shù)學(xué)下冊全冊課件
- 人教鄂教版小學(xué)科學(xué)三年級(jí)下冊全冊教案教學(xué)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論