![《學(xué)生檔案管理系統(tǒng)》的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)](http://file4.renrendoc.com/view/69d92f549f3f8493f085f998a7a292da/69d92f549f3f8493f085f998a7a292da1.gif)
![《學(xué)生檔案管理系統(tǒng)》的設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)](http://file4.renrendoc.com/view/69d92f549f3f8493f085f998a7a292da/69d92f549f3f8493f085f998a7a292da2.gif)
![《學(xué)生檔案管理系統(tǒng)》的設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)](http://file4.renrendoc.com/view/69d92f549f3f8493f085f998a7a292da/69d92f549f3f8493f085f998a7a292da3.gif)
![《學(xué)生檔案管理系統(tǒng)》的設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)](http://file4.renrendoc.com/view/69d92f549f3f8493f085f998a7a292da/69d92f549f3f8493f085f998a7a292da4.gif)
![《學(xué)生檔案管理系統(tǒng)》的設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)](http://file4.renrendoc.com/view/69d92f549f3f8493f085f998a7a292da/69d92f549f3f8493f085f998a7a292da5.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
蘇州科技學(xué)?院二○一三~二○一四學(xué)年第?二學(xué)期電子與信息?工程系課程設(shè)計(jì)報(bào)?告書課程名稱:程序設(shè)計(jì)基?礎(chǔ)實(shí)踐班級(jí):電氣131?1學(xué)號(hào):13200?11712?9姓名:沈文薈指導(dǎo)教師:吳勇二○一四年四月?
1.題目《學(xué)生檔案管?理系統(tǒng)》的設(shè)計(jì)與實(shí)?現(xiàn)2.功能(1)每一條記錄?包括一個(gè)學(xué)?生的姓名、學(xué)號(hào)、性別、出生日期、班級(jí)、聯(lián)系電話、地址(2)錄入功能:可以一次完?成無(wú)數(shù)條記?錄的輸入,管理員通過?該功能對(duì)新?生的錄入。(3)刪除功能:能夠?qū)σ粋€(gè)?學(xué)生的信息?進(jìn)行刪除,對(duì)歷屆畢業(yè)?生(已畢業(yè))的信息,先進(jìn)行保存?檔案,再刪除。(4)查詢功能:根據(jù)你鍵入?學(xué)生的某一?信息,顯示其詳細(xì)?信息,完成查找學(xué)?生記錄,并顯示。(5)瀏覽功能:完成全部學(xué)?生記錄的顯?示,可以查看學(xué)?校所有學(xué)生?信息。(6)修改功能:能夠根據(jù)自?己的要求對(duì)?學(xué)生信息中?有錯(cuò)的地方?進(jìn)行修改,填寫個(gè)人信?息出錯(cuò),可以通過該?功能修改基?本信息。(7)保存功能:將學(xué)生記錄?保存在任何?自定義的文?件中(8)讀取功能:將保存在文?件中的學(xué)生?記錄讀取出?來(lái)。(9)有一個(gè)清晰?美觀界面來(lái)?調(diào)用各個(gè)功?能。3.要求(1)整個(gè)系統(tǒng)均?用C語(yǔ)言實(shí)?現(xiàn);(2)利用指針、鏈表來(lái)實(shí)現(xiàn)?學(xué)生檔案的?數(shù)據(jù)結(jié)構(gòu)設(shè)?計(jì);(3)系統(tǒng)具有錄?入、刪除、查詢、瀏覽、修改、保存、讀取基本功?能;(4)系統(tǒng)的各個(gè)?功能模塊都?用函數(shù)的形?式來(lái)實(shí)現(xiàn);(5)可以將學(xué)生?檔案信息保?存在文件中?;(6)可以將學(xué)生?檔案信息從?文件中讀取?出來(lái)。4.總體設(shè)計(jì)(1)輸入功能的?實(shí)現(xiàn):要想實(shí)現(xiàn)學(xué)?生檔案管理?系統(tǒng)的輸入?,必須要建立?一個(gè)學(xué)生檔?案系統(tǒng)的抽?象數(shù)據(jù)類型?,其中學(xué)生檔?案以鏈表的?存儲(chǔ)方式實(shí)?現(xiàn)。由鍵盤輸入?學(xué)生信息,以文件方式?保存。程序執(zhí)行時(shí)?先將文件讀?入內(nèi)存。(2)系統(tǒng)處理功?能的實(shí)現(xiàn):系統(tǒng)管理員?根據(jù)學(xué)校的?學(xué)生變化情?況,在提示信息?的提示下,選擇相應(yīng)的?服務(wù)進(jìn)行操?作。(3)輸出的實(shí)現(xiàn)?:根據(jù)選擇的?操作,輸出與之對(duì)?應(yīng)的信息。綜上可以繪?制出學(xué)生檔?案管理功能?的系統(tǒng)流程?圖,如下圖所示?
輸入總控模塊輸入總控模塊測(cè)試模塊測(cè)試模塊系統(tǒng)處理系統(tǒng)處理輸出輸出(4)系統(tǒng)功能結(jié)?構(gòu):根據(jù)學(xué)生檔?案管理系統(tǒng)?問題的分析?和設(shè)計(jì)要求?,可以得到該?學(xué)生檔案管?理系統(tǒng)可以?分為六個(gè)模?塊:錄入學(xué)生信?息模塊、刪除學(xué)生信?息模塊、查詢學(xué)生信?息模塊、學(xué)生信息排?序模塊、修改學(xué)生信?息模塊、保存學(xué)生信?息模塊。其系統(tǒng)功能?結(jié)構(gòu)如下圖?所示。學(xué)生檔案管?理系統(tǒng)學(xué)生檔案管?理系統(tǒng)錄入學(xué)生信?息模塊刪除學(xué)生信?息模塊查詢學(xué)生信?息模塊學(xué)生信息排?序模塊修改學(xué)生信?息模塊保存學(xué)生信?息模塊錄入學(xué)生信?息模塊刪除學(xué)生信?息模塊查詢學(xué)生信?息模塊學(xué)生信息排?序模塊修改學(xué)生信?息模塊保存學(xué)生信?息模塊姓名學(xué)號(hào)性別出生日期班級(jí)聯(lián)系電話地址對(duì)學(xué)號(hào)排序?姓名學(xué)號(hào)性別出生日期班級(jí)聯(lián)系電話地址對(duì)學(xué)號(hào)排序? 5.詳細(xì)設(shè)計(jì)5.1主函數(shù)main()利用格式化?輸出函數(shù)p?rintf?(),提供一個(gè)清?晰美觀的開?始界面。利用swi?thch()實(shí)現(xiàn)各函數(shù)?的調(diào)用,系統(tǒng)根據(jù)輸?入的數(shù)字選?項(xiàng)來(lái)調(diào)用相?應(yīng)的函數(shù)。5.2抽象數(shù)據(jù)?類型的定義?1)定義學(xué)生檔?案信息struc?tstude?nt_bo?ok{charname[20];intnum;charsex;struc?tdatabirth?day;charclas[20];chartelep?hone[20];charaddr[40];}stud[200];2)定義出生日?期struc?tdata{ intyear,month?,day;};5.3模塊函數(shù)?構(gòu)造學(xué)生信息錄?入函數(shù):voidadd()學(xué)生信息刪?除函數(shù):voiddel()學(xué)生信息查?詢函數(shù):voidfind()學(xué)生信息排?序函數(shù):voidarran?ge()學(xué)生信息修?改函數(shù):voidchang?e()5.4主程序流?程圖
錄入學(xué)生信?息刪除學(xué)生信?息學(xué)生信息排?序查詢學(xué)生信?息修改學(xué)生信?息保存學(xué)生信?息主菜單開始界面錄入學(xué)生信?息刪除學(xué)生信?息學(xué)生信息排?序查詢學(xué)生信?息修改學(xué)生信?息保存學(xué)生信?息主菜單開始界面 5.調(diào)試分析測(cè)試是使用?人工或者自?動(dòng)手段來(lái)運(yùn)?行或測(cè)試某?個(gè)系統(tǒng)的過?程,其目的在于?檢驗(yàn)是否滿?足規(guī)定的需?求或弄清預(yù)?期結(jié)果與實(shí)?際結(jié)果之間?的差別。程序調(diào)試的?任務(wù)是排除?程序中的錯(cuò)?誤,使程序能順?利地運(yùn)行并?得到預(yù)期的?效果。程序的調(diào)試?階段不僅要?發(fā)現(xiàn)和消除?語(yǔ)法上的錯(cuò)?誤,還要發(fā)現(xiàn)和?消除邏輯錯(cuò)?誤和運(yùn)行錯(cuò)誤。要正確利用?編輯時(shí)提示?的錯(cuò)誤信息?。1)大括號(hào)混亂?造成錯(cuò)誤2)頻繁切換輸?入法,導(dǎo)致經(jīng)常打?出中文輸入?法的“;”“,”“()”“[]”等3)在定義和運(yùn)?用數(shù)據(jù)類型?時(shí)出現(xiàn)問題?,不清楚字符?串的輸出用?s,而錯(cuò)用為c?4)在排序階段?遇到瓶頸,借助多方資?源才最終完?成5)開始將生日?定義為字符?數(shù)組,當(dāng)用sca?nf來(lái)輸入?年月日時(shí),年月日之間?用空格分隔?,但在輸出時(shí)?發(fā)現(xiàn)年月日?出現(xiàn)錯(cuò)誤。分析原因:用系統(tǒng)會(huì)把?用來(lái)分隔的?空格當(dāng)做字?符讀入。解決方法:將年月日定?義為整型,這樣就可以?用scan?f輸入,用空格隔開?運(yùn)行結(jié)果6.運(yùn)行結(jié)果1.開始界面2.主菜單3.錄入學(xué)生信?息4.刪除學(xué)生信?息a.輸入正確學(xué)?號(hào)b.輸入錯(cuò)誤學(xué)?號(hào)5.查詢學(xué)生信?息6.學(xué)生信息排?序7.修改學(xué)生信?息7.總結(jié)雖然,剛開始做程?序的時(shí)候,很多知識(shí)已?經(jīng)忘卻,對(duì)那些代碼?基本上就是?什么都不會(huì)?,剛開始的時(shí)?候特別苦惱?,什么都不懂?。但是在我們?嘗試與成功?的過程中,當(dāng)最終程序?不再有錯(cuò)誤?和警告,能正常運(yùn)行?時(shí),我感受到了?成功的快樂?。另外,我覺得自己?的基本功不?夠,如清屏cl?rscr()等函數(shù)用的?不好,有時(shí)同樣的?問題多次犯?。這說(shuō)明我的?知識(shí)不夠,有很多有用?的書中內(nèi)容?沒有學(xué)好,認(rèn)識(shí)程度不?夠深刻。C語(yǔ)言這門?課程結(jié)束后?,也應(yīng)多看相?關(guān)東西,多上機(jī)練習(xí)?,才能真正從?本質(zhì)上提高?自己。通過編寫該?程序,熟悉了C語(yǔ)?言的基本語(yǔ)?法,選擇,循環(huán)等結(jié)構(gòu)?,深入練習(xí)了?函數(shù)的調(diào)用?方法,和文件的讀?寫方法,熟悉了結(jié)構(gòu)?體的使用,更加深化了?面向過程語(yǔ)?言思想,和一些基本?算法。通過對(duì)程序?的后期調(diào)試?,熟悉了常見?錯(cuò)誤,鍛煉了思維?的嚴(yán)密性和?完備性。通過對(duì)程序?的注釋和畫?流程圖,形成了一套?自己編程的?風(fēng)格和清晰?地思路,使思維更加?條理化、清晰化。8.附錄#inclu?de<stdio?.h>#inclu?de<conio?.h>#inclu?de<strin?g.h>#inclu?de<stdli?b.h>stati?cintn,i;struc?tdata//定義出生日?期{ intyear,month?,day;};struc?tstude?nt_bo?ok//定義學(xué)生檔?案信息{charname[20];intnum;charsex;struc?tdatabirth?day;charclas[20];chartelep?hone[20];charaddr[40];}stud[200];voidadd()//學(xué)生信息錄?入函數(shù){charj;front?1: syste?m("cls");/*清屏*/print?f("\n");print?f("\n請(qǐng)輸入要?添加的姓名?:");scanf?("%s",stud[n].name);print?f("\n請(qǐng)輸入要?添加的學(xué)號(hào)?(8位及以下?):");scanf?("%d",&stud[n].num);print?f("\n請(qǐng)輸入要?添加的性別?(F/M):");scanf?("\n%c",&stud[n].sex); print?f("\n請(qǐng)輸入要?添加的出生?日期:"); scanf?("\n%d%d%d",&stud[n].birth?day.year,&stud[n].birth?day.month?,&stud[n].birth?day.day);print?f("\n請(qǐng)輸入要?添加的班級(jí)?:");scanf?("%s",&stud[n].clas);print?f("\n請(qǐng)輸入要?添加的電話?號(hào)碼:");scanf?("%s",&stud[n].telep?hone);print?f("\n請(qǐng)輸入要?添加的地址?:");scanf?("%s",stud[n].addr);getch?ar();n++;print?f("是否繼續(xù)(Y/N)?:");j=getch?ar();getch?ar();if(j=='y'||j=='Y')gotofront?1;/*再輸入記錄?*/}voiddel()//學(xué)生信息刪?除函數(shù){intk=0,m,i;charj;front?2:syste?m("cls");/*清屏*/print?f("\n請(qǐng)輸入要?刪除的學(xué)號(hào)?:");scanf?("%d",&m);getch?ar();for(i=0;i<n;i++)if(m==stud[i].num){k=1;break?;}/*查找記錄*/if(k==1)/*刪除記錄*/{for(k=i;k<n-1;k++){stud[k]=stud[k+1];}n--;print?f("已刪除\n\n");}else{print?f("找不到要?jiǎng)h?除的記錄!\n");print?f("按回車鍵返?回:");getch?ar();}print?f("是否繼續(xù)(Y/N)?:");j=getch?ar();getch?ar();if(j=='y'||j=='Y')gotofront?2;}voidfind()//學(xué)生信息查?詢函數(shù){inti,k,s=0;charj;front?3:s=0;syste?m("cls");/*清屏*/print?f("\n請(qǐng)輸入要?查詢的學(xué)號(hào)?:");scanf?("%d",&k);for(i=0;i<n;i++)if(k==stud[i].num){print?f("姓名\t學(xué)號(hào)\t性別\t出生日期?\t班級(jí)\t電話\t\t地址\n");print?f("%-s\t%-8d%c\t%d/%d/%d\t%-s\t%s\t%s\n", stud[i].name,stud[i].num,stud[i].sex, stud[i].birth?day.year,stud[i].birth?day.month?,stud[i].birth?day.day, stud[i].clas,stud[i].telep?hone,stud[i].addr);s=1;}if(s==0)print?f("查無(wú)此人!\n");getch?ar();print?f("是否繼續(xù)查?詢(Y/N)?:");j=getch?ar();if(j=='y'||j=='Y')gotofront?3;getch?ar();}voidarran?ge()//學(xué)生信息排?序函數(shù){intk,i,temp;chart1[20],t2,t3[20],t4[20],t5[20];struc?tdatat;for(k=0;k<n-1;k++)//排序所需趟?數(shù)for(i=0;i<n-k-1;i++)//每趟排序所?需交換次數(shù)? if(stud[i].num>stud[i+1].num)//信息交換 { { temp=stud[i].num; stud[i].num=stud[i+1].num; stud[i+1].num=temp; }//學(xué)號(hào)換位 { strcp?y(t1,stud[i].name); strcp?y(stud[i].name,stud[i+1].name); strcp?y(stud[i+1].name,t1); }//姓名換位 { t2=stud[i].sex; stud[i].sex=stud[i+1].sex; stud[i+1].sex=t2; }//性別換位 { strcp?y(t3,stud[i].clas); strcp?y(stud[i].clas,stud[i+1].clas); strcp?y(stud[i+1].clas,t3); }//班級(jí)換位 { strcp?y(t4,stud[i].telep?hone); strcp?y(stud[i].telep?hone,stud[i+1].telep?hone); strcp?y(stud[i+1].telep?hone,t4); }//電話換位 { strcp?y(t5,stud[i].addr); strcp?y(stud[i].addr,stud[i+1].addr); strcp?y(stud[i+1].addr,t5); }//地址換位 { t=stud[i].birth?day; stud[i].birth?day=stud[i+1].birth?day; stud[i+1].birth?day=t; }//出生日期換?位 }syste?m("cls");/*清屏*/print?f("姓名\t學(xué)號(hào)\t性別\t出生日期?\t班級(jí)\t電話\t\t地址\n");for(i=0;i<=n-1;i++)//輸出學(xué)生信?息if(stud[i].num!=0)print?f("%-s\t%-8d%c\t%d/%d/%d\t%-s\t%s\t%s\n", stud[i].name,stud[i].num,stud[i].sex, stud[i].birth?day.year,stud[i].birth?day.month?,stud[i].birth?day.day, stud[i].clas,stud[i].telep?hone,stud[i].addr);print?f("按回車鍵返?回!");getch?ar();getch?ar();}voidchang?e()//學(xué)生信息修?改函數(shù){intk=0,m;charj;front?5:syste?m("cls");/*清屏*/print?f("\n請(qǐng)輸入要?修改記錄的?學(xué)號(hào):");scanf?("%d",&m);getch?ar();for(i=0;i<n;i++)if(m==stud[i].num){k=1;break?;}/*查找*/if(k==1)/*修改*/{print?f("\n");print?f("\n請(qǐng)輸入修?改后的姓名?:"); scanf?("%s",stud[i].name);print?f("\n請(qǐng)輸入修?改后的學(xué)號(hào)?:"); scanf?("%d",&stud[i].num);print?f("\n請(qǐng)輸入修?改后的性別?(F/M):"); scanf?("\n%c",&stud[i].sex); print?f("\n請(qǐng)輸入修?改后的出生?日期:"); scanf?("\n%d%d%d",&stud[i].birth?day.year,&stud[i].birth?day.month?,&stud[i].birth?day.day);print?f("\n請(qǐng)輸入修?改后的班級(jí)?:"); scanf?("%s",&stud[i].clas);print?f("\n請(qǐng)輸入修?改后的電話?號(hào)碼:"); scanf?("%s",&stud[i].telep?hone);print?f("\n請(qǐng)輸入修?改后的地址?:"); scanf?("%s",stud[i].addr); print?f("修改成功\n");getch?ar();}if(k==0){print?f("找不到要修?改的記錄!\n");print?f("按回車鍵返?回:");getch?ar();}getch?ar();print?f("是否繼續(xù)(Y/N)?:");j=getch?ar();getch?ar();if(j=='y'||j=='Y')gotofront?5;}voidmain()//主菜單{ charj;print?f("\n\n\n\n\n\n\t\t\t歡迎使用學(xué)?生檔案管理?系統(tǒng)");print?f("\n\n\n\t\t\t\t制作人:沈文薈");print?f("\n\n\n\t\t\t\t2014年?4月");print?f("\n\n\n\n\n\t按回車鍵?進(jìn)入主菜單?:");getch?ar();loop:syste?m("cls");print
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 電動(dòng)汽車售后服務(wù)體系標(biāo)準(zhǔn)化建設(shè)路徑分析
- 生態(tài)平衡與農(nóng)業(yè)生物技術(shù)的關(guān)聯(lián)研究
- 電子商務(wù)與現(xiàn)代城市配送體系的融合發(fā)展研究
- 安全防護(hù)在物聯(lián)網(wǎng)設(shè)備中的實(shí)施策略考核試卷
- 生態(tài)環(huán)保法律與城市規(guī)劃的協(xié)同發(fā)展
- 印刷業(yè)數(shù)字資產(chǎn)管理與大數(shù)據(jù)分析考核試卷
- 律師體育賽事法律事務(wù)考核試卷
- 建筑物拆除環(huán)保措施考核試卷
- 助動(dòng)車輪胎輪輞匹配與平衡技巧考核試卷
- 電工模擬考試題+答案
- 《反電信網(wǎng)絡(luò)詐騙法》知識(shí)考試題庫(kù)150題(含答案)
- 2025年上海市各區(qū)初三一模語(yǔ)文試卷(打包16套無(wú)答案)
- 2025年度新能源汽車充電站運(yùn)營(yíng)權(quán)轉(zhuǎn)讓合同樣本4篇
- 2025年春運(yùn)出行預(yù)測(cè)報(bào)告-高德地圖
- 第5課 隋唐時(shí)期的民族交往與交融 課件(23張) 2024-2025學(xué)年統(tǒng)編版七年級(jí)歷史下冊(cè)
- 2024年江蘇農(nóng)牧科技職業(yè)學(xué)院高職單招語(yǔ)文歷年參考題庫(kù)含答案解析
- 北師大版八年級(jí)上冊(cè)數(shù)學(xué)期末考試試卷帶答案
- 2024-2025學(xué)年人教部編版八年級(jí)上語(yǔ)文寒假作業(yè)(四)
- 部編版六年級(jí)下冊(cè)語(yǔ)文3《古詩(shī)三首》雙減分層作業(yè)設(shè)計(jì)
- 新入職消防安全培訓(xùn)
- 廣聯(lián)達(dá)智慧工地合同范例
評(píng)論
0/150
提交評(píng)論