版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 軟件設(shè)計(jì)報(bào)告</b></p><p> 題 目: 學(xué)生宿舍管理系統(tǒng) </p><p><b> C語(yǔ)言程序設(shè)計(jì)報(bào)告</b></p><p><b> 一、實(shí)驗(yàn)?zāi)康?lt;/b></p><p>
2、 1.熟悉C語(yǔ)言程序的編輯、編譯鏈接和運(yùn)行的過(guò)程,至少能夠用一種編譯器較熟練地編輯、編譯及調(diào)試程序。</p><p> 2.掌握C語(yǔ)言數(shù)據(jù)類型,如何定義一個(gè)整型、字符型和實(shí)型的變量,以及對(duì)它們賦值的方法。</p><p> 3.熟練運(yùn)用if語(yǔ)句和switch語(yǔ)句以及嵌套應(yīng)用。涉及循環(huán)調(diào)用的,了解并掌握三種控制語(yǔ)句while、do-while和for語(yǔ)句。</p><
3、p> 4.學(xué)習(xí)并掌握C語(yǔ)言定義函數(shù)的基本方法、聲明函數(shù)及調(diào)用函數(shù)的方法和過(guò)程。</p><p> 5. 掌握文件和文件指針的概念以及文件的定義方法,認(rèn)識(shí)文件打開(kāi)、關(guān)閉、讀、寫(xiě)等文件基本操作函數(shù)。</p><p> 6.掌握結(jié)構(gòu)體類型變量、數(shù)組的定義和使用。</p><p> 7.了解指針和鏈表的概念,掌握指針的定義和使用指針變量的方法以及鏈表的正確用法
4、。靈活使用鏈表來(lái)儲(chǔ)存學(xué)生信息。</p><p> 8. 掌握數(shù)組的定義、引用以及輸入輸出的方法、通過(guò)字符數(shù)組存儲(chǔ)字符串,進(jìn)一步使用字符串</p><p> 二、課程設(shè)計(jì)內(nèi)容簡(jiǎn)介</p><p><b> 宿舍管理主要功能:</b></p><p> ?。?)能按學(xué)生的學(xué)號(hào)、姓名、性別、及所在院、系、班等完成對(duì)學(xué)生所
5、住宿舍的添加、錄入、修改、刪除。</p><p> ?。?)能統(tǒng)計(jì)住宿學(xué)生數(shù)目,能根據(jù)學(xué)生的學(xué)號(hào)進(jìn)行排序</p><p> ?。?)能按學(xué)號(hào)或者是宿舍門牌號(hào)及床位號(hào)查詢住宿學(xué)生的各項(xiàng)信息。</p><p> ?。?)能輸出學(xué)生住宿情況的具體信息表。</p><p> 開(kāi)發(fā)工具——Visual C++ 6.0</p><p
6、> 運(yùn)行平臺(tái)——Windows XP</p><p><b> 三、程序特色</b></p><p> ?、潘奚峁芾碜钪饕氖菍?duì)學(xué)生信息的查詢,本程序在查詢上特色鮮明,可以實(shí)現(xiàn)以下功能 :</p><p><b> 1按學(xué)生姓名查詢;</b></p><p><b> 2按學(xué)
7、號(hào)查詢;</b></p><p><b> 3按班級(jí)查詢;</b></p><p> 4查詢某一宿舍住宿人員及人數(shù);</p><p><b> 5查詢某宿舍電話;</b></p><p> ?、平⒌逆湵韼в蓄^結(jié)點(diǎn),方便處理;</p><p> ?、菙?shù)據(jù)和密
8、碼保存在不同的文件夾</p><p><b> 三、需求分析</b></p><p><b> 系統(tǒng)功能:</b></p><p> ?。?)能按住宿學(xué)生的學(xué)號(hào)、姓名、性別、年齡及院系完成他住宿情況的錄入、刪除和修改。</p><p> ?。?)能按住宿學(xué)生的學(xué)號(hào)、姓名、性別、所住宿舍門牌號(hào)、床
9、位號(hào)添加信息。</p><p> ?。?)具有強(qiáng)大的查詢功能</p><p> (4)能按照學(xué)號(hào)從小到大排列該學(xué)生的各項(xiàng)信息。</p><p> ?。?)能統(tǒng)計(jì)住宿人數(shù)。</p><p> ?。?)可以保存到文件。</p><p> ?。?)可以從文件讀入已有的文件。</p><p> (8
10、)以菜單方式工作;</p><p> (9)具有密碼功能;。</p><p> ?。?0)運(yùn)用鏈表設(shè)計(jì)。</p><p><b> 性能描述:</b></p><p> 各種功能都可以滿足;程序相對(duì)較小,因而運(yùn)行時(shí)反應(yīng)比較迅速,不存在響應(yīng)不及時(shí)地問(wèn)題。四、總體設(shè)計(jì)</p><p> 1宿舍
11、管理系統(tǒng)模塊圖</p><p> 2.程序可以滿足以下功能:</p><p> 1.各模塊間通過(guò)菜單切換和調(diào)用</p><p> 2.主函數(shù)通過(guò)調(diào)用菜單函數(shù)實(shí)現(xiàn)對(duì)各功能模塊的調(diào)用</p><p> 3.程序能夠保證各模塊功能的獨(dú)立和數(shù)據(jù)共享</p><p> 4.相近功能以級(jí)聯(lián)菜單的形式集成。</p&g
12、t;<p><b> 五、詳細(xì)設(shè)計(jì)</b></p><p> (1)各個(gè)模塊的程序流程圖</p><p><b> ?、賱h除模塊</b></p><p><b> ②查詢模塊</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)計(jì),排序,打印等;</p><p><b> 3 查詢模塊</b></p><p> void find(struct stu *head)</p><p> 包括:void search_cla(struct s
16、tu *head) 按班級(jí)查找</p><p> void search_num(struct stu *head) 按學(xué)號(hào)查找</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)計(jì)模塊</b></p><p> count (stru
19、ct stu *p) /*數(shù)據(jù)統(tǒng)計(jì)*/ </p><p><b> 七顯示頁(yè)面</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é)及體會(huì)</b></p><p> ① 在寫(xiě)完第一遍程序后,首先進(jìn)行了調(diào)試,仍是按照從某個(gè)模塊來(lái)分析的,然后在整體執(zhí)行</p><p> 但是遠(yuǎn)遠(yuǎn)有很多不如意的地方,特別是對(duì)警告的調(diào)試比較麻煩,棘手,但是通過(guò)向老
21、師請(qǐng)教,向同學(xué)請(qǐng)問(wèn)最終還是解決的不少問(wèn)題,后來(lái)經(jīng)過(guò)分析,參照同學(xué)所設(shè)計(jì)的程序,自己的功能比較單調(diào)和簡(jiǎn)單,后來(lái)又添加了幾個(gè)模塊使其變得功能稍微有點(diǎn)完善。通過(guò)很多次的調(diào)試,我知道了在寫(xiě)程序的時(shí)候應(yīng)該注重于細(xì)節(jié),例如一個(gè)小的標(biāo)點(diǎn)符號(hào),就能使我們浪費(fèi)一整天的時(shí)間來(lái)調(diào)試,所以細(xì)節(jié)非常重要;其次是要在編寫(xiě)程序之前應(yīng)該想明白程序的功能,然后在進(jìn)行寫(xiě)程序;最后在調(diào)試運(yùn)行程序的時(shí)候應(yīng)該注意到每一個(gè)程序的應(yīng)用,看是否真真的能夠?qū)崿F(xiàn)其功能,不要漏掉一個(gè)細(xì)節(jié)。
22、通過(guò)這次課程設(shè)計(jì)我學(xué)會(huì)了很多,做事情不僅要有耐心,還要注重細(xì)節(jié);雖然做不到最好,但是要盡自己的全力去做,不管對(duì)與錯(cuò)。</p><p><b> ?、?感受:</b></p><p> 使用VC++6.0編寫(xiě)程序界面方便清晰,各種功能全面,可以很好的幫助初學(xué)者查找問(wèn)題所在。在第一周就已經(jīng)為整個(gè)程序定下了框架,使得后面的程序設(shè)計(jì)思路變得清晰,明白每天都要干些什么。<
23、;/p><p> 在為期兩周的課程設(shè)計(jì)里,遇到了很多各種各樣的問(wèn)題。</p><p> 比如在程序編譯過(guò)程中有些是0錯(cuò)誤但有很多警告,雖然這些警告不會(huì)影響到程序的聯(lián)接執(zhí)行,但仔細(xì)檢查和改正這些警告會(huì)對(duì)C語(yǔ)言有更深入和深刻的了解。有時(shí)候VC++6.0的編譯器會(huì)出現(xiàn)不可預(yù)知的錯(cuò)誤,需要自己去判斷。</p><p> 最終成品的模塊和起初的已經(jīng)有很多不同,在編寫(xiě)的過(guò)程中
24、不斷地改進(jìn)和完善程序,為了方便用戶使用特別在主函數(shù)中添加了保存和讀取模塊,使用清屏函數(shù)保持界面簡(jiǎn)潔。</p><p> 在編寫(xiě)程序的過(guò)程中我也學(xué)會(huì)使用了許多輔助工具,比如有道詞典,可以幫助判斷程序調(diào)試時(shí)的報(bào)錯(cuò)涵義。搜狗輸入法可以提高我的錄入速度。合理使用雙VC++協(xié)助找到自己程序和范例的不同和缺點(diǎn),方便修改。我也逐步學(xué)會(huì)使用Debug功能判斷函數(shù)出錯(cuò)的地方和原因,這大大簡(jiǎn)化了我找錯(cuò)誤的難度。</p>
25、<p> 作為一個(gè)初學(xué)者,在編寫(xiě)中往往遇到許多邏輯上的小問(wèn)題。比如在調(diào)試刪除模塊時(shí),偶爾會(huì)報(bào)錯(cuò)。我仔細(xì)分析了程序后發(fā)現(xiàn)出錯(cuò)的原因在于對(duì)于輸入數(shù)據(jù)沒(méi)有保存成文件但是函數(shù)在執(zhí)行過(guò)程中會(huì)調(diào)用文件。</p><p> 對(duì)于文件的打開(kāi)方式也是剛開(kāi)始令我比較頭痛的問(wèn)題,特別是在文本與二進(jìn)制區(qū)別和只讀與讀寫(xiě)區(qū)別上,最后經(jīng)過(guò)不斷地嘗試和看書(shū),最終的效果還不錯(cuò),但是還需要繼續(xù)熟悉,融會(huì)貫通。</p>
26、<p> 編寫(xiě)和調(diào)試時(shí)遇到了許多令人頭痛的問(wèn)題,感謝我的同學(xué)和老師給予我的幫助,毫無(wú)疑問(wèn),別人的經(jīng)驗(yàn)是非常珍貴的財(cái)富,虛心積極地請(qǐng)教問(wèn)題可以讓我少走許多彎路。</p><p><b> 八、參考文獻(xiàn)</b></p><p> 1.C語(yǔ)言程序設(shè)計(jì)王曙燕主編2005年版</p><p> 2.《C語(yǔ)言程序設(shè)計(jì)參考》 例
27、題11 </p><p> 3. C程序設(shè)計(jì) 第二版 譚浩強(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) /*存儲(chǔ)數(shù)據(jù)*/</p><p><b> {</b></p><p><b> FILE *fp;</b></p><p> char file[40];</p><p> printf("\n\n請(qǐng)輸入要存儲(chǔ)數(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é)點(diǎn)的鏈表*/</p><p> p1=(struct stu *)malloc(N);</p><p> printf("\n\n請(qǐng)輸入學(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é)號(hào)\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所在班級(jí)\n");</p><p> flushall(
39、);</p><p> scanf("%s",p1->cla);</p><p> printf("\n所在樓號(hào)\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請(qǐng)輸入所在床鋪號(hào)\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é)號(hào)為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請(qǐng)輸入學(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é)號(hào)\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所在班級(jí)\n");</p><p> flushall();</p><p> scanf("%s",p1->cla);</p><
47、p> printf("\n所在樓號(hào)\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請(qǐng)輸入所在床鋪號(hào)\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ù)庫(kù)*/</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請(qǐng)輸入要查找的學(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é)號(hào)\t性別\t樓號(hào)\t宿舍號(hào)\t床鋪號(hào)\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對(duì)不起,無(wú)此學(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é)號(hào)查詢*/</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請(qǐng)輸入要查詢的學(xué)生學(xué)號(hào): ");</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對(duì)不起,無(wú)此學(xué)生信息");</p><p> else if(strcmp(p->num,num)==0)</p><p><b> {</b></p>&
68、lt;p> printf("\n\n學(xué)號(hào)\t姓名\t院\t系\t班\t性別\t樓號(hào)\t宿舍號(hào)\t床鋪號(hào)\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é)號(hào)查詢(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請(qǐng)輸入要查詢樓號(hào)及宿
73、舍號(hào)(如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é)號(hào)\t院\t系\t班\
75、t性別\t床鋪號(hào)\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 無(wú)此宿舍或此宿舍無(wú)學(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) /*按班級(jí)查詢*/</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請(qǐng)輸入要查詢的班級(jí): ");</p><p> flushall();</p><p> gets(cla);</p><p> prin
81、tf("\n%s班住宿情況如下:",cla);</p><p> printf("\n\n院\t系\t姓名\t學(xué)號(hào)\t性別\t樓號(hào)\t宿舍號(hào)\t床鋪號(hào)\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 班級(jí)輸入有誤!!!!");</p><p> printf("\n是否繼續(xù)按班級(jí)查詢(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請(qǐng)輸入要查詢電話的宿舍號(hào)(包括樓號(hào))(如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 對(duì)不起,宿舍號(hào)輸入有誤!!!!");</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) /*查找選擇,具有不同的查找選項(xiàng)*/</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*******************歡迎來(lái)到學(xué)生宿舍信息查詢系統(tǒng)************");</p><p> printf("\n\n 1按照學(xué)生姓名查詢\</p><p> \n\n 2按照學(xué)生學(xué)號(hào)查詢\</p><p> \n\n
94、 3按照班級(jí)查詢\</p><p> \n\n 4查詢某宿舍住宿人員\</p><p> \n\n 5查詢宿舍電話\</p><p> \n\n 0退出信息查詢系統(tǒng)\n");</p><p>
95、printf(" 請(qǐng)選擇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ù)為空,無(wú)法刪除!!");</p><p> printf("請(qǐng)輸入要?jiǎng)h除學(xué)生的學(xué)號(hào): ");</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無(wú)此學(xué)生信息,無(wú)法刪除!!");</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請(qǐng)輸入要插入學(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é)號(hào)\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、在班級(jí)\n");</p><p> flushall();</p><p> scanf("%s",p1->cla);</p><p> printf("\n所在樓號(hào)\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所在床鋪號(hào)\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對(duì)不起,已有相同學(xué)號(hào)的學(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請(qǐng)輸入要修改的學(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é)號(hào)\t院\t系\t班\t樓號(hào)\t宿舍號(hào)\t床鋪號(hào)\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 請(qǐng)選擇您要修改的項(xiàng)目: ");</p><p> printf("\n 1姓名\<
125、;/p><p> \n\n 2學(xué)號(hào)\</p><p> \n\n 3性別\</p><p> \n\n 4院、系、班級(jí)\</p><p> \n\n 5住宿的樓號(hào),宿舍號(hào),床鋪號(hào)\</p><p> \n\n 6宿舍電話");</p><p> printf
126、("\n 請(qǐng)選擇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é)號(hào) ");</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、 輸入修改后的院、系、班級(jí)(中間用空格隔開(kāi))");</p><p> scanf("%s %s %s",p->yuan,p->xi,p->cla);break;</p><p> case 5: printf("\n 輸入修改后的樓號(hào)、宿舍號(hào)、床鋪號(hào)(如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é)號(hào)\t院\t系\t班\t樓號(hào)\t宿舍號(hào)\t床鋪號(hào)\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對(duì)不起,無(wú)此學(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é)號(hào)\t性別\t院\t系\t班\t樓號(hào)\t宿舍號(hào)\t床鋪號(hào)\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)計(jì)*/</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一共存儲(chǔ)有%d個(gè)學(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é)號(hào)排序*/</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排序成功??!按任意鍵返回主菜單!");</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. 本站所有資源如無(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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 學(xué)生宿舍管理系統(tǒng)課程設(shè)計(jì)
- 學(xué)生宿舍管理系統(tǒng)課程設(shè)計(jì)
- 課程設(shè)計(jì)--- 學(xué)生宿舍管理系統(tǒng)
- 學(xué)生宿舍管理系統(tǒng)課程設(shè)計(jì)
- 學(xué)生宿舍管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 學(xué)生宿舍管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 學(xué)生宿舍管理系統(tǒng)課程設(shè)計(jì)6
- 學(xué)生宿舍管理系統(tǒng)課程設(shè)計(jì)7
- c語(yǔ)言課程設(shè)計(jì)——學(xué)生宿舍管理系統(tǒng)
- 學(xué)生宿舍管理系統(tǒng)--數(shù)據(jù)庫(kù)課程設(shè)計(jì)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)--學(xué)生宿舍管理系統(tǒng)
- 學(xué)生宿舍管理系統(tǒng)數(shù)據(jù)庫(kù)課程設(shè)計(jì)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)-學(xué)生宿舍管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)--學(xué)生宿舍管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)--學(xué)生宿舍管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)---學(xué)生宿舍管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)-學(xué)生宿舍管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)---學(xué)生宿舍管理系統(tǒng)
- 學(xué)生宿舍管理系統(tǒng)-數(shù)據(jù)庫(kù)課程設(shè)計(jì)
- 軟件工程課程設(shè)計(jì)-學(xué)生宿舍管理系統(tǒng)
評(píng)論
0/150
提交評(píng)論