版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 目錄</b></p><p> 緒言…………………………………..........3</p><p> 需求分析…………………………………….3</p><p> ?。暴p系統(tǒng)以菜單方式工作;…………….</p><p> ?。博p學(xué)生信息錄入功能—輸入;……….</p>&l
2、t;p> 3﹑學(xué)生信息瀏覽功能-輸出;………</p><p> ?。穿p查詢功能-算法;…………………</p><p> 按學(xué)號查找……………………….</p><p> 按姓名查找……………………….</p><p> ?。旦p學(xué)生信息的刪除與修改………………</p><p> 3. 計(jì)劃與進(jìn)度安排…………
3、……………………...4</p><p> 4.系統(tǒng)設(shè)計(jì)................................................................5</p><p> 1.系統(tǒng)總框架…………………………………….</p><p> 2.設(shè)計(jì)內(nèi)容及要求………………………………. </p><p>
4、3.模塊設(shè)計(jì)………………………………………..</p><p> 5.運(yùn)行及結(jié)果………………………………………7</p><p> 6.設(shè)計(jì)體會(huì)與建議…………………………………12</p><p> 7.源代碼……………………………………………13</p><p><b> 1.緒言</b></p>
5、<p> 隨著學(xué)校的快速發(fā)展和在校學(xué)生的增多,學(xué)生管理工作變得越來越復(fù)雜,許多工作非常繁瑣,消耗大量的人力物力。比如學(xué)生檔案管理,學(xué)生的姓名﹑出生年月等資料在做了修改后,可能在招辦﹑學(xué)生科﹑財(cái)務(wù)科有同一個(gè)學(xué)生的幾份不同檔案材料,數(shù)據(jù)共享性極差;有的學(xué)生欠費(fèi),財(cái)務(wù)部門也很難及時(shí)發(fā)現(xiàn);有的學(xué)生中途變更學(xué)籍,給教學(xué)管理工作帶來不便。</p><p><b> 2.需求分析</b>&
6、lt;/p><p> 用C實(shí)現(xiàn)學(xué)生信息管理系統(tǒng),學(xué)生信息包括:學(xué)號﹑姓名﹑性別﹑地址﹑出生年月﹑電話﹑E-mail等。該系統(tǒng)主要有以下功能:</p><p> ?。暴p系統(tǒng)以菜單方式工作;</p><p> ?。博p學(xué)生信息錄入功能—輸入;</p><p> ?。畅p學(xué)生信息瀏覽功能-輸出;</p><p> ?。穿p查詢功能-
7、算法;</p><p><b> 按學(xué)號查找</b></p><p><b> 按姓名查找</b></p><p> ?。旦p學(xué)生信息的刪除與修改。</p><p> 3.計(jì)劃與進(jìn)度安排:</p><p> 第八周:小組成員一起制定計(jì)劃完成對該系統(tǒng)的模塊功能函數(shù)的編&l
8、t;/p><p> 寫,計(jì)劃主要由我負(fù)責(zé)前。 </p><p> 三個(gè)模塊功能函數(shù)的編寫;王濤負(fù)責(zé)查詢功能函數(shù)的編寫;解淼負(fù)責(zé)學(xué)生信息的刪除與修改功能函數(shù)的編寫。最后我們共同負(fù)責(zé)主函數(shù)的編寫。</p><p> 第九周~第十二周:小組成員分別就自己的任務(wù)完成五個(gè)函數(shù)功能,這幾周根據(jù)完成情況,大家可以獨(dú)立完成,完成較快的人也可以幫助未完成的人,爭取較短的時(shí)間編出一個(gè)
9、基本的框架;</p><p> 第十三周~第十四周:完善五個(gè)功能函數(shù)并嘗試對主函數(shù)程序的編寫。下面幾周都是對程序一個(gè)總的編寫與設(shè)計(jì),相對來說,比較難,事情比較細(xì)膩,所以要實(shí)現(xiàn)以上功能,所耗時(shí)間較長。爭取在規(guī)定的時(shí)間里完成。</p><p><b> 4.系統(tǒng)設(shè)計(jì)</b></p><p><b> 1.系統(tǒng)總框架</b>
10、;</p><p> 2.設(shè)計(jì)內(nèi)容及要求 </p><p> 設(shè)計(jì)編寫一個(gè)學(xué)生基本信息管理系統(tǒng),主要管理學(xué)生基本信息。</p><p> 1.建立學(xué)生信息,每個(gè)學(xué)生信息包括姓名,學(xué)號,年齡,電話號碼,</p><p><b> 生日,籍貫。</b></p><p> 2.通過輸入功能函數(shù)
11、,用戶可以錄入學(xué)生基本信息。</p><p> 3.排序:按年齡大小排序。</p><p> 4.查找:分別按學(xué)號查找函數(shù)或姓名查找函數(shù)查找。</p><p> 5.刪除:建立按姓名刪除函數(shù)刪除學(xué)生信息。</p><p> 6.插入:建立插入函數(shù)插入學(xué)生信息。</p><p> 7.輸出:建立顯示函數(shù)輸出學(xué)生
12、信息。</p><p> 8.實(shí)現(xiàn)簡單的菜單調(diào)用。</p><p><b> 3.模塊設(shè)計(jì)</b></p><p><b> 模塊一:</b></p><p> 頭文件,變量定義,函數(shù)的聲明對系統(tǒng)所使用的變量進(jìn)行定義,</p><p><b> 對函數(shù)進(jìn)行
13、聲明。</b></p><p><b> 模塊二:</b></p><p> 結(jié)構(gòu)體的建立,定義學(xué)生的學(xué)號,姓名,年齡等基本信息。</p><p><b> 模快三:</b></p><p> void shuru( )定義了輸入函數(shù)</p><p>
14、void xianshi( ) 定義了輸出函數(shù)</p><p> void anxingmingchazhao( ) 定義了按姓名查找函數(shù)</p><p> void anxuehaochazhao( ) 定義了按學(xué)號查找函數(shù)</p><p> void chazhao( ) 定義了查找函數(shù),通過調(diào)用void anxingmingchazhao(</p&
15、gt;<p> )和void anxuehaochazhao( )函數(shù)來實(shí)現(xiàn)查找函數(shù)。</p><p> void shanchu( ) 定義了刪除函數(shù)。</p><p> void paixu( )定義了按年齡從大到小的排序函數(shù)。</p><p> void charu( ) 定義了插入函數(shù),調(diào)用了void paixu( )和void shu
16、ru( )</p><p><b> 函數(shù)。</b></p><p> switch(change)設(shè)定用學(xué)號查找,用姓名查找兩個(gè)分支。</p><p> fflush(stdin)清除緩存函數(shù),起清屏作用。</p><p><b> 5.運(yùn)行及結(jié)果</b></p><p
17、><b> 學(xué)生信息管理系統(tǒng)</b></p><p><b> 菜單選擇</b></p><p><b> 學(xué)生信息的輸入</b></p><p><b> 學(xué)生信息的輸出</b></p><p><b> 學(xué)生信息的查找<
18、/b></p><p><b> 1.按姓名查找</b></p><p><b> 2.按學(xué)號查找</b></p><p><b> 學(xué)生信息的刪除</b></p><p><b> 學(xué)生信息的插入</b></p><p&
19、gt;<b> 插入后顯示</b></p><p> 退出學(xué)生信息管理系統(tǒng)</p><p><b> 6.設(shè)計(jì)體會(huì)與建議</b></p><p> 這次的《學(xué)生信息管理系統(tǒng)》的設(shè)計(jì)中,使我懂得課堂上的知識,必須要通過實(shí)踐操作才能掌握。在練習(xí)中,遇到一些問題,需要具體分析, 具體操作,不斷調(diào)試。在這過程中,遇到過很多
20、問題。剛編寫程序時(shí),總是出錯(cuò),經(jīng)過不斷地調(diào)試后來解決了。通過這次的設(shè)計(jì),我發(fā)現(xiàn)了自身知識的欠缺,上機(jī)操作的經(jīng)驗(yàn)不足,以及粗心。比如,一些錯(cuò)誤不知道怎么改,后來同學(xué)討論后才調(diào)試成功,還有字符串的比較都不熟,有時(shí)掉了地址符等等。雖然有很多欠缺,但在這過程中我也受益良多,感覺自己對程序的處理越來越清晰。在調(diào)試過程中,我發(fā)現(xiàn)有時(shí)一個(gè)小小的錯(cuò)誤也會(huì)給程序帶來很大的麻煩,所以以后應(yīng)該更加細(xì)心,多多操作,積累經(jīng)驗(yàn)。</p><p&
21、gt;<b> 7.源代碼</b></p><p> #include<stdio.h> </p><p> #include<stdlib.h> </p><p> #include<conio.h> </p><p> #include<string.h> &
22、lt;/p><p> struct student{ </p><p><b> int id; </b></p><p> char name[10]; </p><p><b> int age; </b></p><p> char sex[10]; </p
23、><p> char birthady[20]; </p><p><b> int tel; </b></p><p> char nativeplace[50]; </p><p><b> }st[50];</b></p><p><b> int i=
24、0; </b></p><p> void shuru() { </p><p><b> char a; </b></p><p><b> do{ </b></p><p> printf("\n請輸入學(xué)號:"); </p><p>
25、; scanf("%d",&st[i].id); </p><p> fflush(stdin);</p><p> printf("請輸入姓名:"); </p><p> gets(st[i].name); </p><p> printf("請輸入年齡:");
26、</p><p> scanf("%d",&st[i].age); </p><p> fflush(stdin); </p><p> printf("請輸入姓別:"); </p><p> gets(st[i].sex); </p><p> fflush(
27、stdin); </p><p> printf("請輸入生日:"); </p><p> gets(st[i].birthady); </p><p> printf("請輸入電話:"); </p><p> scanf("%d",&st[i].tel); <
28、/p><p> fflush(stdin); </p><p> printf("請輸入籍貫:"); </p><p> gets(st[i].nativeplace); </p><p> printf("是否繼續(xù)輸入另外一個(gè)學(xué)生信息?(y/n)"); </p><p>
29、 fflush(stdin); </p><p> a=getchar(); </p><p><b> i++; </b></p><p> }while(a=='y' && i<=50); </p><p><b> } </b></p>
30、<p> void xianshi() </p><p><b> { </b></p><p><b> int j;</b></p><p> printf("\n");</p><p> printf("學(xué)號\t\t姓名\t年齡\t性別\t
31、生日\t\t電話\t\t籍貫\n"); </p><p> for(j=0;j<i;j++) </p><p> printf("%d\t%s\t%d\t%s\t%s\t%d\t%s\n", </p><p> st[j].id,st[j].name,st[j].age,st[j].sex,st[j].birthady,st
32、[j].tel,st[j].nativeplace); </p><p><b> } </b></p><p> void paixu() //按年齡從大到小排序函數(shù) </p><p><b> { </b></p><p><b> int j,k; </b><
33、;/p><p> int temp; </p><p> for(j=0;j<i;j++) </p><p><b> { </b></p><p> for(k=0;k<i-1-j;k++) </p><p><b> { </b></p>
34、<p> if(st[k].age<st[k+1].age) </p><p><b> { </b></p><p> temp=st[k].age; </p><p> st[k].age=st[k+1].age; </p><p> st[k+1].age=temp; </p>
35、<p><b> } </b></p><p><b> } </b></p><p><b> } </b></p><p> xianshi(); //排序后輸出 </p><p><b> } </b></p>
36、<p> void anxingmingchazhao() </p><p><b> { </b></p><p><b> int m; </b></p><p> char name[20],b; </p><p><b> do </b></p
37、><p><b> { </b></p><p> printf("\n請輸入想查找的學(xué)生姓名:"); </p><p> fflush(stdin); </p><p> gets(name); </p><p> for(m=0;m<i;m++) </p&
38、gt;<p><b> { </b></p><p> if(strcmp(name,st[m].name)==0) </p><p><b> { </b></p><p> printf("\n\t您查找的學(xué)生在第%d個(gè)位置找到了!!!\n",m+1); </p>
39、<p><b> break; </b></p><p><b> } </b></p><p><b> } </b></p><p> if(m>=20) </p><p> printf("\n\t沒有找到這個(gè)學(xué)生!!!\n"
40、;); </p><p><b> else </b></p><p><b> { </b></p><p> printf("學(xué)號\t\t姓名\t年齡\t性別\t生日\t\t電話\t\t籍貫\n"); </p><p> printf("%d\t%s\t%d
41、\t%s\t%s\t%d\t%s\n", </p><p> st[m].id,st[m].name,st[m].age,st[m].sex,st[m].birthady,st[m].tel,st[m].nativeplace); </p><p><b> } </b></p><p> printf("\n是否查找
42、另一個(gè)學(xué)生的信息?(y/n)"); </p><p> fflush(stdin); </p><p> b=getchar(); </p><p> }while(b=='y'); </p><p><b> } </b></p><p> void anxu
43、ehaochazhao()</p><p> {int id,m;</p><p><b> char b;</b></p><p><b> do</b></p><p> {printf("\n請輸入想查找的學(xué)生學(xué)號:");</p><p>
44、 fflush(stdin);</p><p> scanf("%d",&id);</p><p> for(m=0;m<i;m++)</p><p> {if(id=st[m].id)</p><p><b> {</b></p><p> print
45、f("\n\t您查找的學(xué)生在第%d個(gè)位置找到了!!!\n",m+1); </p><p><b> break; </b></p><p><b> }</b></p><p><b> }</b></p><p><b> if(m>
46、;20)</b></p><p> printf("\n\t沒有找到這個(gè)學(xué)生!!!\n"); </p><p><b> else </b></p><p><b> { </b></p><p> printf("學(xué)號\t\t姓名\t年齡\t性別\
47、t生日\t\t電話\t\t籍貫\n"); </p><p> printf("%d\t%s\t%d\t%s\t%s\t%d\t%s\n", </p><p> st[m].id,st[m].name,st[m].age,st[m].sex,st[m].birthady,st[m].tel,st[m].nativeplace); </p>&l
48、t;p><b> } </b></p><p> printf("\n是否查找另一個(gè)學(xué)生的信息?(y/n)"); </p><p> fflush(stdin); </p><p> b=getchar(); </p><p> }while(b=='y'); <
49、/p><p><b> }</b></p><p> void chazhao() </p><p> { int change;</p><p> printf("\n\t\t\t\t請輸入查找類型:\n");</p><p> printf("\t\t\t
50、\t1:按姓名查找\n");</p><p> printf("\t\t\t\t2:按學(xué)號查找\n");</p><p> fflush(stdin); </p><p> printf("\t\t\t\t請輸入功能選項(xiàng):"); </p><p> scanf("%d&quo
51、t;,&change); </p><p> switch(change)</p><p><b> {</b></p><p><b> case 1:</b></p><p> anxingmingchazhao();break;</p><p><
52、b> case 2:</b></p><p> anxuehaochazhao();break;</p><p><b> } </b></p><p><b> }</b></p><p> void shanchu() </p><p>&l
53、t;b> { </b></p><p> char name[20],c; </p><p><b> int a,b; </b></p><p><b> do </b></p><p><b> { </b></p><p&g
54、t; printf("\n請輸入要?jiǎng)h除的學(xué)生姓名:"); </p><p> fflush(stdin); </p><p> gets(name); </p><p> for(a=0;a<i;a++) </p><p><b> { </b></p><p>
55、; if(strcmp(name,st[a].name)==0) </p><p><b> break; </b></p><p><b> } </b></p><p> for(b=a;b<i;b++) </p><p> st[b]=st[b+1]; </p>
56、<p><b> if(a>i) </b></p><p> printf("\t沒有找到這個(gè)學(xué)生!!!\n"); </p><p><b> else </b></p><p><b> { </b></p><p><b&g
57、t; i--; </b></p><p> xianshi(); </p><p><b> } </b></p><p> printf("\n是否繼續(xù)刪除另一個(gè)學(xué)生信息?(y/n) "); </p><p> fflush(stdin); </p><p&
58、gt; c=getchar(); </p><p> }while(c=='y'); </p><p><b> } </b></p><p> void charu() </p><p><b> { </b></p><p><b>
59、 shuru(); </b></p><p><b> paixu(); </b></p><p><b> } </b></p><p> void main() //主函數(shù) </p><p><b> { </b></p><p>
60、; int change; </p><p><b> do{ </b></p><p> system("cls"); </p><p> printf("================================學(xué)生信息管理系統(tǒng)================================\n&
61、quot;); </p><p> printf("\t\t\t\t1:輸入學(xué)生信息\n"); </p><p> printf("\t\t\t\t2:顯示學(xué)生信息\n"); </p><p> printf("\t\t\t\t3:查找學(xué)生信息\n"); </p><p>
62、printf("\t\t\t\t4:刪除學(xué)生信息\n"); </p><p> printf("\t\t\t\t5:插入學(xué)生信息\n"); </p><p> printf("\t\t\t\t6:退出程序\n"); </p><p> fflush(stdin); </p><p&
63、gt; printf("\t\t\t\t請輸入功能選項(xiàng):"); </p><p> scanf("%d",&change); </p><p> switch(change) </p><p><b> { </b></p><p><b> case
64、1: </b></p><p> shuru(); break; </p><p><b> case 2: </b></p><p> xianshi(); break; </p><p><b> case 3: </b></p><p> chaz
65、hao(); break; </p><p><b> case 4: </b></p><p> shanchu(); break; </p><p><b> case 5: </b></p><p> charu(); break; </p><p><b
66、> case 6: </b></p><p><b> break; </b></p><p><b> } </b></p><p><b> getch(); </b></p><p> }while(change!=6); </p>
溫馨提示
- 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. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 課程設(shè)計(jì)----學(xué)生信息管理系統(tǒng)
- 課程設(shè)計(jì)--學(xué)生信息管理系統(tǒng)
- 課程設(shè)計(jì)---學(xué)生信息管理系統(tǒng)
- 學(xué)生信息管理系統(tǒng)課程設(shè)計(jì)
- 學(xué)生信息管理系統(tǒng)課程設(shè)計(jì)
- 學(xué)生信息管理系統(tǒng) 課程設(shè)計(jì)
- 課程設(shè)計(jì)-學(xué)生信息管理系統(tǒng)
- 課程設(shè)計(jì)——學(xué)生信息管理系統(tǒng)
- 學(xué)生信息管理管理系統(tǒng)課程設(shè)計(jì)
- 課程設(shè)計(jì)-- 學(xué)生信息管理系統(tǒng)設(shè)計(jì)
- 學(xué)生信息管理系統(tǒng)課程設(shè)計(jì) (4)
- 學(xué)生信息管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- java課程設(shè)計(jì)--學(xué)生信息管理系統(tǒng)
- 課程設(shè)計(jì)報(bào)告--學(xué)生信息管理系統(tǒng)
- 課程設(shè)計(jì)delphi學(xué)生信息管理系統(tǒng)
- vfp課程設(shè)計(jì)學(xué)生信息管理系統(tǒng)
- 學(xué)生信息管理系統(tǒng)java課程設(shè)計(jì)
- 學(xué)生信息管理系統(tǒng)課程設(shè)計(jì)3
- java課程設(shè)計(jì)---學(xué)生信息管理系統(tǒng)
- 學(xué)生信息管理系統(tǒng)課程設(shè)計(jì) (3)
評論
0/150
提交評論