版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 軟件設(shè)計報告</b></p><p> 題 目: 學(xué)生宿舍管理系統(tǒng) </p><p><b> C語言程序設(shè)計報告</b></p><p><b> 一、實驗?zāi)康?lt;/b></p><p>
2、 1.熟悉C語言程序的編輯、編譯鏈接和運行的過程,至少能夠用一種編譯器較熟練地編輯、編譯及調(diào)試程序。</p><p> 2.掌握C語言數(shù)據(jù)類型,如何定義一個整型、字符型和實型的變量,以及對它們賦值的方法。</p><p> 3.熟練運用if語句和switch語句以及嵌套應(yīng)用。涉及循環(huán)調(diào)用的,了解并掌握三種控制語句while、do-while和for語句。</p><
3、p> 4.學(xué)習(xí)并掌握C語言定義函數(shù)的基本方法、聲明函數(shù)及調(diào)用函數(shù)的方法和過程。</p><p> 5. 掌握文件和文件指針的概念以及文件的定義方法,認(rèn)識文件打開、關(guān)閉、讀、寫等文件基本操作函數(shù)。</p><p> 6.掌握結(jié)構(gòu)體類型變量、數(shù)組的定義和使用。</p><p> 7.了解指針和鏈表的概念,掌握指針的定義和使用指針變量的方法以及鏈表的正確用法
4、。靈活使用鏈表來儲存學(xué)生信息。</p><p> 8. 掌握數(shù)組的定義、引用以及輸入輸出的方法、通過字符數(shù)組存儲字符串,進(jìn)一步使用字符串</p><p> 二、課程設(shè)計內(nèi)容簡介</p><p><b> 宿舍管理主要功能:</b></p><p> (1)能按學(xué)生的學(xué)號、姓名、性別、及所在院、系、班等完成對學(xué)生所
5、住宿舍的添加、錄入、修改、刪除。</p><p> ?。?)能統(tǒng)計住宿學(xué)生數(shù)目,能根據(jù)學(xué)生的學(xué)號進(jìn)行排序</p><p> ?。?)能按學(xué)號或者是宿舍門牌號及床位號查詢住宿學(xué)生的各項信息。</p><p> ?。?)能輸出學(xué)生住宿情況的具體信息表。</p><p> 開發(fā)工具——Visual C++ 6.0</p><p
6、> 運行平臺——Windows XP</p><p><b> 三、程序特色</b></p><p> ⑴宿舍管理最主要的是對學(xué)生信息的查詢,本程序在查詢上特色鮮明,可以實現(xiàn)以下功能 :</p><p><b> 1按學(xué)生姓名查詢;</b></p><p><b> 2按學(xué)
7、號查詢;</b></p><p><b> 3按班級查詢;</b></p><p> 4查詢某一宿舍住宿人員及人數(shù);</p><p><b> 5查詢某宿舍電話;</b></p><p> ?、平⒌逆湵韼в蓄^結(jié)點,方便處理;</p><p> ⑶數(shù)據(jù)和密
8、碼保存在不同的文件夾</p><p><b> 三、需求分析</b></p><p><b> 系統(tǒng)功能:</b></p><p> ?。?)能按住宿學(xué)生的學(xué)號、姓名、性別、年齡及院系完成他住宿情況的錄入、刪除和修改。</p><p> ?。?)能按住宿學(xué)生的學(xué)號、姓名、性別、所住宿舍門牌號、床
9、位號添加信息。</p><p> ?。?)具有強(qiáng)大的查詢功能</p><p> (4)能按照學(xué)號從小到大排列該學(xué)生的各項信息。</p><p> (5)能統(tǒng)計住宿人數(shù)。</p><p> ?。?)可以保存到文件。</p><p> ?。?)可以從文件讀入已有的文件。</p><p> (8
10、)以菜單方式工作;</p><p> ?。?)具有密碼功能;。</p><p> (10)運用鏈表設(shè)計。</p><p><b> 性能描述:</b></p><p> 各種功能都可以滿足;程序相對較小,因而運行時反應(yīng)比較迅速,不存在響應(yīng)不及時地問題。四、總體設(shè)計</p><p> 1宿舍
11、管理系統(tǒng)模塊圖</p><p> 2.程序可以滿足以下功能:</p><p> 1.各模塊間通過菜單切換和調(diào)用</p><p> 2.主函數(shù)通過調(diào)用菜單函數(shù)實現(xiàn)對各功能模塊的調(diào)用</p><p> 3.程序能夠保證各模塊功能的獨立和數(shù)據(jù)共享</p><p> 4.相近功能以級聯(lián)菜單的形式集成。</p&g
12、t;<p><b> 五、詳細(xì)設(shè)計</b></p><p> (1)各個模塊的程序流程圖</p><p><b> ①刪除模塊</b></p><p><b> ?、诓樵兡K</b></p><p><b> ?、坌薷哪K</b><
13、;/p><p><b> ?、懿迦肽K</b></p><p><b> ?、輰W(xué)生信息</b></p><p><b> 六各函數(shù)功能</b></p><p><b> 1 密碼模塊</b></p><p> void in_sy
14、stem()</p><p> 如果是新的系統(tǒng)需要設(shè)定密碼,以后進(jìn)入需要輸入密碼;</p><p><b> 密碼保存在文件中;</b></p><p><b> 2 主菜單</b></p><p><b> main()</b></p><p>
15、; 進(jìn)入管理系統(tǒng)選擇相應(yīng)的模塊,包括:</p><p> 建立新的數(shù)據(jù),插入,查詢,修改,刪除,統(tǒng)計,排序,打印等;</p><p><b> 3 查詢模塊</b></p><p> void find(struct stu *head)</p><p> 包括:void search_cla(struct s
16、tu *head) 按班級查找</p><p> void search_num(struct stu *head) 按學(xué)號查找</p><p> void search_name(struct stu *head) 按姓名查找</p><p> void search_stu(struct stu *head) 按宿舍查找</p><
17、;p> void search_tel(struct stu *head) 查詢宿舍電話</p><p><b> 4修改模塊</b></p><p> gai(struct stu *head) /*修改學(xué)生信息*/</p><p><b> 5 插入模塊</b></p><
18、p> insert(struct stu *head) /*插入*/</p><p><b> 6刪除模塊</b></p><p> shan(struct stu *head) /*刪除*/ </p><p><b> 7統(tǒng)計模塊</b></p><p> count (stru
19、ct stu *p) /*數(shù)據(jù)統(tǒng)計*/ </p><p><b> 七顯示頁面</b></p><p><b> 1 進(jìn)入主菜單</b></p><p><b> 2 打印菜單</b></p><p><b> 修改主菜單</b>&
20、lt;/p><p><b> 查詢主菜單</b></p><p><b> 九、總結(jié)及體會</b></p><p> ?、?在寫完第一遍程序后,首先進(jìn)行了調(diào)試,仍是按照從某個模塊來分析的,然后在整體執(zhí)行</p><p> 但是遠(yuǎn)遠(yuǎn)有很多不如意的地方,特別是對警告的調(diào)試比較麻煩,棘手,但是通過向老
21、師請教,向同學(xué)請問最終還是解決的不少問題,后來經(jīng)過分析,參照同學(xué)所設(shè)計的程序,自己的功能比較單調(diào)和簡單,后來又添加了幾個模塊使其變得功能稍微有點完善。通過很多次的調(diào)試,我知道了在寫程序的時候應(yīng)該注重于細(xì)節(jié),例如一個小的標(biāo)點符號,就能使我們浪費一整天的時間來調(diào)試,所以細(xì)節(jié)非常重要;其次是要在編寫程序之前應(yīng)該想明白程序的功能,然后在進(jìn)行寫程序;最后在調(diào)試運行程序的時候應(yīng)該注意到每一個程序的應(yīng)用,看是否真真的能夠?qū)崿F(xiàn)其功能,不要漏掉一個細(xì)節(jié)。
22、通過這次課程設(shè)計我學(xué)會了很多,做事情不僅要有耐心,還要注重細(xì)節(jié);雖然做不到最好,但是要盡自己的全力去做,不管對與錯。</p><p><b> ?、?感受:</b></p><p> 使用VC++6.0編寫程序界面方便清晰,各種功能全面,可以很好的幫助初學(xué)者查找問題所在。在第一周就已經(jīng)為整個程序定下了框架,使得后面的程序設(shè)計思路變得清晰,明白每天都要干些什么。<
23、;/p><p> 在為期兩周的課程設(shè)計里,遇到了很多各種各樣的問題。</p><p> 比如在程序編譯過程中有些是0錯誤但有很多警告,雖然這些警告不會影響到程序的聯(lián)接執(zhí)行,但仔細(xì)檢查和改正這些警告會對C語言有更深入和深刻的了解。有時候VC++6.0的編譯器會出現(xiàn)不可預(yù)知的錯誤,需要自己去判斷。</p><p> 最終成品的模塊和起初的已經(jīng)有很多不同,在編寫的過程中
24、不斷地改進(jìn)和完善程序,為了方便用戶使用特別在主函數(shù)中添加了保存和讀取模塊,使用清屏函數(shù)保持界面簡潔。</p><p> 在編寫程序的過程中我也學(xué)會使用了許多輔助工具,比如有道詞典,可以幫助判斷程序調(diào)試時的報錯涵義。搜狗輸入法可以提高我的錄入速度。合理使用雙VC++協(xié)助找到自己程序和范例的不同和缺點,方便修改。我也逐步學(xué)會使用Debug功能判斷函數(shù)出錯的地方和原因,這大大簡化了我找錯誤的難度。</p>
25、<p> 作為一個初學(xué)者,在編寫中往往遇到許多邏輯上的小問題。比如在調(diào)試刪除模塊時,偶爾會報錯。我仔細(xì)分析了程序后發(fā)現(xiàn)出錯的原因在于對于輸入數(shù)據(jù)沒有保存成文件但是函數(shù)在執(zhí)行過程中會調(diào)用文件。</p><p> 對于文件的打開方式也是剛開始令我比較頭痛的問題,特別是在文本與二進(jìn)制區(qū)別和只讀與讀寫區(qū)別上,最后經(jīng)過不斷地嘗試和看書,最終的效果還不錯,但是還需要繼續(xù)熟悉,融會貫通。</p>
26、<p> 編寫和調(diào)試時遇到了許多令人頭痛的問題,感謝我的同學(xué)和老師給予我的幫助,毫無疑問,別人的經(jīng)驗是非常珍貴的財富,虛心積極地請教問題可以讓我少走許多彎路。</p><p><b> 八、參考文獻(xiàn)</b></p><p> 1.C語言程序設(shè)計王曙燕主編2005年版</p><p> 2.《C語言程序設(shè)計參考》 例
27、題11 </p><p> 3. C程序設(shè)計 第二版 譚浩強(qiáng) 清華大學(xué)出版社 2002年版</p><p><b> 九 程序代碼</b></p><p> #include <stdio.h></p><p> #include<stdlib.h></p><
28、p> #include<string.h></p><p> #define N sizeof(struct stu)</p><p> struct stu /*結(jié)構(gòu)體定義*/</p><p><b> {</b></p><p> char name[10];</p
29、><p> char yuan[10];</p><p> char xi[10];</p><p> char cla[10];</p><p> char num[10];</p><p><b> char sex;</b></p><p> char lou
30、[5];</p><p> char she[5];</p><p> char hao[5];</p><p> char tel[15];</p><p> struct stu *next;</p><p><b> };</b></p><p> voi
31、d store(struct stu *p) /*存儲數(shù)據(jù)*/</p><p><b> {</b></p><p><b> FILE *fp;</b></p><p> char file[40];</p><p> printf("\n\n請輸入要存儲數(shù)據(jù)的文件夾路徑:\n&
32、quot;); /*可以任意選擇文件路徑*/</p><p> flushall();</p><p> gets(file);</p><p> fp=fopen(file,"wt");</p><p> while(p->next!=NULL)</p><p><b>
33、 {</b></p><p> p=p->next;</p><p> fwrite(p,N,1,fp);</p><p><b> }</b></p><p> fclose(fp);</p><p><b> }</b></p>
34、<p> struct stu *creat() /*建立鏈表*/</p><p><b> {</b></p><p> struct stu *p1,*p2,*head;</p><p> system("cls");</p><p> head=p2=(struct st
35、u *)malloc(N); /*帶頭結(jié)點的鏈表*/</p><p> p1=(struct stu *)malloc(N);</p><p> printf("\n\n請輸入學(xué)生的姓名 \n");</p><p> flushall();</p><p> scanf("%s",p1-&
36、gt;name);</p><p> printf("\n性別\n");</p><p> flushall();</p><p> scanf("%c",&p1->sex);</p><p> printf("\n學(xué)號\n");</p><
37、p> flushall();</p><p> scanf("%s",p1->num);</p><p> printf("\n所在院\n");</p><p> flushall();</p><p> scanf("%s",p1->yuan);<
38、/p><p> printf("\n所在系\n");</p><p> flushall();</p><p> scanf("%s",p1->xi);</p><p> printf("\n所在班級\n");</p><p> flushall(
39、);</p><p> scanf("%s",p1->cla);</p><p> printf("\n所在樓號\n");</p><p> flushall();</p><p> scanf("%s",p1->lou);</p><p>
40、; printf("\n所在宿舍\n");</p><p> flushall();</p><p> scanf("%s",p1->she);</p><p> printf("\n請輸入所在床鋪號\n");</p><p> flushall();</p&g
41、t;<p> scanf("%s",p1->hao);</p><p> printf("\n宿舍電話\n");</p><p> flushall();</p><p> scanf("%s",p1->tel);</p><p> while(s
42、trcmp(p1->num,"0")) /*學(xué)號為0退出*/</p><p><b> {</b></p><p> p2->next=p1;</p><p><b> p2=p1;</b></p><p> p1=(struct stu *)mallo
43、c(N);</p><p> printf("\n\n請輸入學(xué)生的姓名 \n");</p><p> flushall();</p><p> scanf("%s",p1->name);</p><p> printf("\n性別\n");</p><
44、;p> flushall();</p><p> scanf("%c",&p1->sex);</p><p> printf("\n學(xué)號\n");</p><p> flushall();</p><p> scanf("%s",p1->num);
45、</p><p> printf("\n所在院\n");</p><p> flushall();</p><p> scanf("%s",p1->yuan);</p><p> printf("\n所在系\n");</p><p> flus
46、hall();</p><p> scanf("%s",p1->xi);</p><p> printf("\n所在班級\n");</p><p> flushall();</p><p> scanf("%s",p1->cla);</p><
47、p> printf("\n所在樓號\n");</p><p> flushall();</p><p> scanf("%s",p1->lou);</p><p> printf("\n所在宿舍\n");</p><p> flushall();</p&g
48、t;<p> scanf("%s",p1->she);</p><p> printf("\n請輸入所在床鋪號\n");</p><p> flushall();</p><p> scanf("%s",p1->hao);</p><p> pri
49、ntf("\n宿舍電話\n");</p><p> flushall();</p><p> scanf("%s",p1->tel);</p><p><b> }</b></p><p> p2->next=NULL;</p><p>
50、<b> free(p1);</b></p><p> return head;</p><p><b> }</b></p><p> struct stu *bulid() /*建立新的數(shù)據(jù)庫*/</p><p><b> {</b></p>&l
51、t;p> struct stu *head;</p><p> return (head=creat());</p><p><b> }</b></p><p> struct stu *read() /*讀取數(shù)據(jù)*/</p><p><b> {</b></p>
52、<p> struct stu *p1,*p2,*head;</p><p><b> FILE *fp;</b></p><p> if((fp=fopen("D:\\student.txt","rt"))==NULL)</p><p><b> {</b><
53、;/p><p> system("cls");</p><p> printf("\n\n提醒: 學(xué)生住宿情況數(shù)據(jù)不存在,按任意鍵進(jìn)入主菜單");</p><p> flushall();</p><p> getchar();</p><p><b> }<
54、;/b></p><p><b> else </b></p><p><b> {</b></p><p> head=p2=(struct stu *)malloc(N);</p><p><b> while(1)</b></p><p&
55、gt;<b> {</b></p><p> p1=(struct stu *)malloc(N);</p><p> if(fread(p1,N,1,fp)!=1) break;</p><p> p2->next=p1;</p><p><b> p2=p1;</b></
56、p><p><b> }</b></p><p> p2->next=NULL;</p><p> fclose(fp);</p><p><b> }</b></p><p> return head;</p><p><b>
57、 }</b></p><p> void search_name(struct stu *head) /*按姓名查找*/</p><p><b> {</b></p><p><b> int i;</b></p><p> char c,name[10];</p&
58、gt;<p> struct stu *p;</p><p><b> while(1)</b></p><p><b> {</b></p><p><b> i=0;</b></p><p><b> p=head;</b>&l
59、t;/p><p> p=p->next;</p><p> printf("\n\n請輸入要查找的學(xué)生姓名: ");</p><p> flushall();</p><p> gets(name);</p><p> while(p!=NULL)</p><p&g
60、t;<b> {</b></p><p> if(strcmp(p->name,name)==0)</p><p><b> {</b></p><p> printf("\n\n姓名\t院\t系\t班\t學(xué)號\t性別\t樓號\t宿舍號\t床鋪號\t宿舍電話");</p>&
61、lt;p> printf("\n%s\t%s\t%s\t%s\t%s\t%c\t%s\t%s\t%s\n",p->name,p->yuan,p->xi,p->cla,p->num,p->sex,p->lou,p->she,p->hao,p->tel);</p><p><b> i++;</b><
62、/p><p><b> }</b></p><p> p=p->next;</p><p><b> }</b></p><p><b> if(!i)</b></p><p> printf("\n\n對不起,無此學(xué)生信息!&qu
63、ot;);</p><p> printf("\n是否繼續(xù)按學(xué)生姓名查找(y或n): "); /*可以多次查找*/</p><p> flushall();</p><p> scanf("%c",&c);</p><p> if(c=='n') break;<
64、;/p><p><b> }</b></p><p><b> }</b></p><p> void search_num(struct stu *head)/*按學(xué)號查詢*/</p><p><b> {</b></p><p> char c
65、,num[10];</p><p> struct stu *p;</p><p><b> while(1)</b></p><p><b> {</b></p><p><b> p=head;</b></p><p> p=p->n
66、ext;</p><p> printf("\n請輸入要查詢的學(xué)生學(xué)號: ");</p><p> flushall();</p><p> gets(num);</p><p> while(p!=NULL&&strcmp(p->num,num)!=0)</p><p&
67、gt; p=p->next;</p><p> if(p==NULL)</p><p> printf("\n對不起,無此學(xué)生信息");</p><p> else if(strcmp(p->num,num)==0)</p><p><b> {</b></p>&
68、lt;p> printf("\n\n學(xué)號\t姓名\t院\t系\t班\t性別\t樓號\t宿舍號\t床鋪號\t宿舍電話");</p><p> printf("\n%s\t%s\t%s\t%s\t%s\t%c\t%s\t%s\t%s\t%s\n",p->num,p->name,p->yuan,p->xi,p->cla,p->sex,
69、p->lou,p->she,p->hao,p->tel);</p><p><b> }</b></p><p> printf("\n是否繼續(xù)按學(xué)生學(xué)號查詢(y或n): ");</p><p> flushall();</p><p> scanf("%c&
70、quot;,&c);</p><p> if(c=='n') break;</p><p><b> }</b></p><p><b> }</b></p><p> void search_stu(struct stu *head) /*按宿舍查詢*/<
71、/p><p><b> {</b></p><p> char c,lou[5],she[5];</p><p><b> int i;</b></p><p> struct stu *p;</p><p><b> while(1)</b>&l
72、t;/p><p><b> {</b></p><p><b> i=0;</b></p><p><b> p=head;</b></p><p> p=p->next;</p><p> printf("\n請輸入要查詢樓號及宿
73、舍號(如13 204): ");</p><p> flushall();</p><p> scanf("%s%s",lou,she);</p><p> printf("\n%s樓%s宿舍成員有:",lou,she);</p><p> while(p!=NULL)</p&
74、gt;<p><b> {</b></p><p> if(strcmp(p->she,she)==0&&strcmp(p->lou,lou)==0)</p><p><b> {</b></p><p> printf("\n\n姓名\t學(xué)號\t院\t系\t班\
75、t性別\t床鋪號\t宿舍電話");</p><p> printf("\n%s\t%s\t%s\t%s\t%s\t%c\t%s\t%s\n",p->name,p->num,p->yuan,p->xi,p->cla,p->sex,p->hao,p->tel);</p><p><b> i++;<
76、;/b></p><p><b> }</b></p><p> p=p->next;</p><p><b> }</b></p><p> if(!i) printf("\n\n 無此宿舍或此宿舍無學(xué)生入住!!!!!");</p>&l
77、t;p> printf("\n是否繼續(xù)按宿舍查詢(y或n): ");</p><p> flushall();</p><p> scanf("%c",&c);</p><p> if(c=='n') break;</p><p><b> }<
78、;/b></p><p><b> }</b></p><p> void search_cla(struct stu *head) /*按班級查詢*/</p><p><b> {</b></p><p> char cla[10],c;</p><p>&
79、lt;b> int i;</b></p><p> struct stu *p;</p><p><b> while(1)</b></p><p><b> {</b></p><p><b> i=0;</b></p><p&
80、gt;<b> p=head;</b></p><p> p=p->next;</p><p> printf("\n請輸入要查詢的班級: ");</p><p> flushall();</p><p> gets(cla);</p><p> prin
81、tf("\n%s班住宿情況如下:",cla);</p><p> printf("\n\n院\t系\t姓名\t學(xué)號\t性別\t樓號\t宿舍號\t床鋪號\t宿舍電話");</p><p> while(p!=NULL)</p><p><b> {</b></p><p>
82、if(strcmp(p->cla,cla)==0)</p><p><b> {</b></p><p> printf("\n%s\t%s\t%s\t%s\t%c\t%s\t%s\t%s\t%s\n",p->yuan,p->xi,p->name,p->num,p->sex,p->lou,p->s
83、he,p->hao,p->tel);</p><p> i++; </p><p><b> }</b></p><p> p=p->next;</p><p><b> }</b></p><p> if(!i) printf(&q
84、uot;\n\n 班級輸入有誤!!!!");</p><p> printf("\n是否繼續(xù)按班級查詢(y或n): ");</p><p> flushall();</p><p> scanf("%c",&c);</p><p> if(c=='n'
85、) break;</p><p><b> }</b></p><p><b> }</b></p><p> void search_tel(struct stu *head)/*宿舍電話查詢*/</p><p><b> {</b></p>&l
86、t;p> struct stu *p;</p><p> char lou[5],she[5],c;</p><p><b> while(1)</b></p><p><b> {</b></p><p><b> p=head;</b></p>
87、<p> p=p->next;</p><p> printf("\n請輸入要查詢電話的宿舍號(包括樓號)(如13 204): ");</p><p> flushall();</p><p> scanf("%s%s",lou,she);</p><p> while(p
88、!=NULL)</p><p><b> {</b></p><p> if(strcmp(p->lou,lou)==0&&strcmp(p->she,she)==0) break;</p><p> p=p->next;</p><p><b> }</b>
89、;</p><p> if(p==NULL) printf("\n\n 對不起,宿舍號輸入有誤!!!!");</p><p> else printf("\n%s",p->tel);</p><p> printf("\n是否繼續(xù)查詢宿舍電話(y或n): ");</p
90、><p> flushall();</p><p> scanf("%c",&c);</p><p> if(c=='n') break;</p><p><b> }</b></p><p><b> }</b><
91、;/p><p> void find(struct stu *head) /*查找選擇,具有不同的查找選項*/</p><p><b> {</b></p><p><b> int n;</b></p><p><b> int c;</b></p>&l
92、t;p> struct stu *p;</p><p><b> while(1)</b></p><p><b> {</b></p><p> system("cls");</p><p> p=head; </p><p> p
93、rintf("\n\n*******************歡迎來到學(xué)生宿舍信息查詢系統(tǒng)************");</p><p> printf("\n\n 1按照學(xué)生姓名查詢\</p><p> \n\n 2按照學(xué)生學(xué)號查詢\</p><p> \n\n
94、 3按照班級查詢\</p><p> \n\n 4查詢某宿舍住宿人員\</p><p> \n\n 5查詢宿舍電話\</p><p> \n\n 0退出信息查詢系統(tǒng)\n");</p><p>
95、printf(" 請選擇0-5 ");</p><p> flushall();</p><p> scanf("%d",&n);</p><p><b> switch(n)</b></p><p><b>
96、; {</b></p><p> case 1: search_name(p); break;</p><p> case 2: search_num(p); break;</p><p> case 3: search_cla(p); break;</p><p> case 4: search_stu(p);
97、break;</p><p> case 5: search_tel(p); break;</p><p> case 0: break;</p><p><b> }</b></p><p> if(!n) break;</p><p> printf
98、("\n\n是否繼續(xù)瀏覽查詢系統(tǒng)(y或n): ");</p><p> flushall();</p><p> scanf("%c",&c);</p><p> if(c=='n') break;</p><p><b> }</b>
99、</p><p><b> }</b></p><p> shan(struct stu *head) /*刪除*/</p><p><b> {</b></p><p> struct stu *p,*p1;</p><p><b> int i=0;&
100、lt;/b></p><p> char c,num[10];</p><p><b> while(1)</b></p><p><b> {</b></p><p> system("cls");</p><p><b> p
101、=head;</b></p><p> p1=p->next;</p><p> if(p1==NULL)</p><p> printf("\n學(xué)生數(shù)據(jù)為空,無法刪除!!");</p><p> printf("請輸入要刪除學(xué)生的學(xué)號: ");</p><
102、p> flushall();</p><p> scanf("%s",num);</p><p> while(p1!=NULL)</p><p><b> {</b></p><p> if(strcmp(p1->num,num)==0)</p><p>
103、;<b> {</b></p><p> p->next=p1->next;</p><p><b> i++;</b></p><p><b> free(p1);</b></p><p><b> break;</b></p
104、><p><b> }</b></p><p><b> p=p1;</b></p><p> p1=p1->next;</p><p><b> }</b></p><p> if(i) printf("\n刪除成功??!"
105、;);</p><p> else printf("\n無此學(xué)生信息,無法刪除?。?quot;);</p><p> printf("\n是否繼續(xù)刪除(y或n): ");</p><p> flushall();</p><p> scanf("%c",&c);</p
106、><p> if(c=='n') break;</p><p><b> }</b></p><p><b> }</b></p><p> void insert(struct stu *head) /*插入*/</p><p><b>
107、 {</b></p><p> struct stu *p,*p1;</p><p><b> char c;</b></p><p><b> while(1)</b></p><p><b> {</b></p><p> sy
108、stem("cls");</p><p><b> p=head;</b></p><p> p1=(struct stu *)malloc(N);</p><p> printf("\n\n請輸入要插入學(xué)生的姓名 \n");</p><p> flushall();<
109、;/p><p> scanf("%s",p1->name);</p><p> printf("\n性別\n");</p><p> flushall();</p><p> scanf("%c",&p1->sex);</p><p>
110、 printf("\n學(xué)號\n");</p><p> flushall();</p><p> scanf("%s",p1->num);</p><p> printf("\n所在院\n");</p><p> flushall();</p><
111、p> scanf("%s",p1->yuan);</p><p> printf("\n所在系\n");</p><p> flushall();</p><p> scanf("%s",p1->xi);</p><p> printf("\n所
112、在班級\n");</p><p> flushall();</p><p> scanf("%s",p1->cla);</p><p> printf("\n所在樓號\n");</p><p> flushall();</p><p> scanf(&q
113、uot;%s",p1->lou);</p><p> printf("\n所在宿舍\n");</p><p> flushall();</p><p> scanf("%s",p1->she);</p><p> printf("\n所在床鋪號\n");
114、</p><p> flushall();</p><p> scanf("%s",p1->hao);</p><p> printf("\n宿舍電話\n");</p><p> flushall();</p><p> scanf("%s",
115、p1->tel);</p><p> while(p->next!=NULL&&strcmp(p->next->num,p1->num)<0)</p><p> p=p->next;</p><p> if(p!=NULL&&strcmp(p->num,p1->num)==0
116、)</p><p><b> {</b></p><p><b> free(p1);</b></p><p> printf("\n\n對不起,已有相同學(xué)號的學(xué)生?。?quot;);</p><p><b> }</b></p><p&g
117、t;<b> else </b></p><p><b> {</b></p><p> p1->next=p->next;</p><p> p->next=p1;</p><p> printf("\n\n插入成功??!");</p>
118、<p><b> }</b></p><p> printf("\n\n是否繼續(xù)插入(y或n): ");</p><p> flushall();</p><p> scanf("%c",&c);</p><p> if(c=='n')
119、 break;</p><p><b> }</b></p><p><b> }</b></p><p> gai(struct stu *head) /*修改學(xué)生信息*/</p><p><b> {</b></p><p> st
120、ruct stu *p;</p><p> char name[10],c;</p><p><b> int i;</b></p><p><b> while(1)</b></p><p><b> {</b></p><p> syste
121、m("cls");</p><p><b> p=head;</b></p><p> p=p->next;</p><p> printf("\n請輸入要修改的學(xué)生姓名: ");</p><p> flushall();</p><p>
122、 gets(name);</p><p> while(p!=NULL&&strcmp(p->name,name)!=0)</p><p> p=p->next;</p><p> if(strcmp(p->name,name)==0)</p><p><b> { </b>&
123、lt;/p><p> printf("\n要修改的學(xué)生信息是: ");</p><p> printf("\n姓名\t性別\t學(xué)號\t院\t系\t班\t樓號\t宿舍號\t床鋪號\t宿舍電話\n");</p><p> printf("\n%s\t%c\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s&
124、quot;,p->name,p->sex,p->num,p->yuan,p->xi,p->cla,p->lou,p->she,p->hao,p->tel);</p><p> printf("\n 請選擇您要修改的項目: ");</p><p> printf("\n 1姓名\<
125、;/p><p> \n\n 2學(xué)號\</p><p> \n\n 3性別\</p><p> \n\n 4院、系、班級\</p><p> \n\n 5住宿的樓號,宿舍號,床鋪號\</p><p> \n\n 6宿舍電話");</p><p> printf
126、("\n 請選擇1-6 ");</p><p> flushall();</p><p> scanf("%d",&i);</p><p><b> switch(i)</b></p><p><b> {</b></p&
127、gt;<p> case 1: printf("\n 輸入修改后的姓名: ");</p><p> scanf("%s",p->name);break;</p><p> case 2: printf("\n 輸入修改后的學(xué)號 ");</p><p> s
128、canf("%s",p->num);break;</p><p> case 3: printf("\n 輸入修改后的性別 ");</p><p> scanf("%c",&p->sex);break;</p><p> case 4: printf("\n
129、 輸入修改后的院、系、班級(中間用空格隔開)");</p><p> scanf("%s %s %s",p->yuan,p->xi,p->cla);break;</p><p> case 5: printf("\n 輸入修改后的樓號、宿舍號、床鋪號(如13 204 3)");</p>
130、<p> scanf("%s %s %s",p->lou,p->she,p->hao);break;</p><p> case 6: printf("\n 輸入修改后的宿舍電話");</p><p> scanf("%s",p->tel);break;</p>
131、<p><b> }</b></p><p> printf("\n修改后的學(xué)生信息是:");</p><p> printf("\n姓名\t性別\t學(xué)號\t院\t系\t班\t樓號\t宿舍號\t床鋪號\t宿舍電話\n");</p><p> printf("\n%s\t%c\t
132、%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s",p->name,&p->sex,p->num,p->yuan,p->xi,p->cla,p->lou,p->she,p->hao,p->tel);</p><p><b> }</b></p><p> else prin
133、tf("\n對不起,無此學(xué)生信息");</p><p> printf("\n是否繼續(xù)修改(y或n): ");</p><p> flushall();</p><p> scanf("%c",&c);</p><p> if(c=='n')
134、break;</p><p><b> } </b></p><p><b> }</b></p><p> output(struct stu *p) /*數(shù)據(jù)的輸出*/</p><p><b> {</b></p><p> syste
135、m("cls");</p><p> p=p->next;</p><p> printf("\n\n姓名\t學(xué)號\t性別\t院\t系\t班\t樓號\t宿舍號\t床鋪號\t宿舍電話");</p><p> while(p!=NULL)
136、 </p><p><b> {</b></p&
137、gt;<p> printf("\n%s\t%s\t%c\t%s\t%s\t%s\t%s\t%s\t%s\t%s",p->name,p->num,p->sex,p->yuan,p->xi,p->cla,p->lou,p->she,p->hao,p->tel);</p><p> p=p->next;</p
138、><p><b> }</b></p><p> printf("\n\n按任意鍵返回主菜單");</p><p> flushall();</p><p> getchar();</p><p><b> }</b></p><
139、p> count (struct stu *p) /*數(shù)據(jù)統(tǒng)計*/</p><p><b> {</b></p><p><b> int i=0;</b></p><p> system("cls");</p><p> p=p->next;</
140、p><p> while(p!=NULL)</p><p><b> {</b></p><p><b> i++;</b></p><p> p=p->next;</p><p><b> }</b></p><p>
141、; printf("\n\n一共存儲有%d個學(xué)生信息!",i);</p><p> printf("\n\n按任意鍵返回主菜單!");</p><p> flushall();</p><p> getchar();</p><p><b> }</b></p>
142、;<p> turn (struct stu *head) /*按學(xué)號排序*/</p><p><b> {</b></p><p> struct stu *p1,*p,*p2;</p><p> p=p1=head->next;</p><p> p1=p1->next;<
143、;/p><p> p->next=NULL;</p><p> while(p1!=NULL)</p><p><b> {</b></p><p> p2=p1->next;</p><p><b> p=head;</b></p><
144、p> while(p->next!=NULL&&strcmp(p->next->num,p1->num)<0)</p><p> p=p->next;</p><p> p1->next=p->next;</p><p> p->next=p1;</p><p&g
145、t;<b> p1=p2;</b></p><p><b> }</b></p><p> system("cls");</p><p> printf("\n\n排序成功?。“慈我怄I返回主菜單!");</p><p> flushall();<
146、;/p><p> getchar();</p><p><b> }</b></p><p> void in_system() /*密碼模塊*/</p><p><b> {</b></p><p> char name[10],name1[10],mi[10],
147、mi1[10],c;</p><p> int i=1,k,j;</p><p><b> FILE *fp;</b></p><p> fp=fopen("D:\\mi,txt","rt");</p><p> if(fp==NULL)</p><p&
148、gt;<b> {</b></p><p> fp=fopen("D:\\mi,txt","wt");</p><p> while(1) /*新的系統(tǒng)*/</p><p><b> {</b></p><p> system
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 學(xué)生宿舍管理系統(tǒng)課程設(shè)計
- 學(xué)生宿舍管理系統(tǒng)課程設(shè)計
- 課程設(shè)計--- 學(xué)生宿舍管理系統(tǒng)
- 學(xué)生宿舍管理系統(tǒng)課程設(shè)計
- 學(xué)生宿舍管理系統(tǒng)課程設(shè)計報告
- 學(xué)生宿舍管理系統(tǒng)課程設(shè)計報告
- 學(xué)生宿舍管理系統(tǒng)課程設(shè)計6
- 學(xué)生宿舍管理系統(tǒng)課程設(shè)計7
- c語言課程設(shè)計——學(xué)生宿舍管理系統(tǒng)
- 學(xué)生宿舍管理系統(tǒng)--數(shù)據(jù)庫課程設(shè)計
- 數(shù)據(jù)庫課程設(shè)計--學(xué)生宿舍管理系統(tǒng)
- 學(xué)生宿舍管理系統(tǒng)數(shù)據(jù)庫課程設(shè)計
- 數(shù)據(jù)庫課程設(shè)計-學(xué)生宿舍管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計--學(xué)生宿舍管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計--學(xué)生宿舍管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計---學(xué)生宿舍管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計-學(xué)生宿舍管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計---學(xué)生宿舍管理系統(tǒng)
- 學(xué)生宿舍管理系統(tǒng)-數(shù)據(jù)庫課程設(shè)計
- 軟件工程課程設(shè)計-學(xué)生宿舍管理系統(tǒng)
評論
0/150
提交評論