版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 需求分析</b></p><p> 設(shè)計(jì)一個(gè)學(xué)生籍貫信息記錄簿系統(tǒng),該系統(tǒng)要求對(duì)學(xué)生籍貫信息進(jìn)行管理和維護(hù)。首先編制一個(gè)學(xué)生籍貫信息記錄簿,記錄學(xué)生的一些基本信息,包括學(xué)號(hào)、姓名、性別、年齡、籍貫。該軟件系統(tǒng)能夠解決一下問題(1)創(chuàng)建信息鏈表并以磁盤文件保存;(2)讀取磁盤文件并顯示輸出所有學(xué)生的籍貫信息;(3) 按學(xué)號(hào)或姓名查詢籍貫;(4)按籍貫查詢并輸出該
2、籍貫的所有學(xué)生;(5)能添加、刪除和修改學(xué)生的籍貫信息。</p><p><b> 設(shè)計(jì)</b></p><p> 1:設(shè)計(jì)思想:本程序包括5個(gè)模塊,分別是添加模塊、顯示模塊、刪除模塊,修改模塊和查詢模塊。功能模塊圖如圖所示。</p><p><b> 2:設(shè)計(jì)表示:</b></p><p>
3、 為了更好地滿足題目上的信息要求,從而創(chuàng)建了自定義數(shù)據(jù)類型,用于存儲(chǔ)所有學(xué)生的籍貫信息。自定義結(jié)構(gòu)體類型如下:</p><p> struct student</p><p> {char studentID[20];//學(xué)生學(xué)號(hào)</p><p> char name[20];//學(xué)生姓名</p><p> char sex[20]
4、;//學(xué)生性別</p><p> char age[20];//學(xué)生年齡</p><p> char province[20];//學(xué)生籍貫</p><p><b> };</b></p><p> 每個(gè)子函數(shù)原型及其功能如下:</p><p> int reads(struct st
5、udent stu[N])</p><p> 該函數(shù)為磁盤文件內(nèi)容的讀取函數(shù),將學(xué)生的籍貫基本信息存儲(chǔ)于txt文檔之中。用此函數(shù)來讀取,從而實(shí)現(xiàn)籍貫信息的顯示,等函數(shù)模塊的運(yùn)行成功。</p><p> void save(struct student stu[N],int n)</p><p> 該函數(shù)為學(xué)生籍貫信息更改后保存新的學(xué)生信息的函數(shù),為系統(tǒng)幾大模塊
6、中的刪除模塊、修改模塊和添加模塊服務(wù)。</p><p> ?。?)void show() void add() void del() void change()</p><p> 以上幾個(gè)函數(shù)第一個(gè)為學(xué)生籍貫信息顯示函數(shù),在程序運(yùn)行時(shí)選擇相應(yīng)的菜單序號(hào)將txt文檔中的信息顯示在命令窗口中。第二個(gè)為籍貫信息添加函數(shù),在原有的學(xué)生信息基礎(chǔ)上添加信息,追加在txt文檔中。第三個(gè)為籍貫信
7、息刪除函數(shù),即刪除原有的生信息,再保存更新后的文件。最后一個(gè)為信息更能改函數(shù),即讀取原txt文檔中學(xué)生的籍貫信息,在程序命令窗口中選擇相應(yīng)的操作序號(hào),更改相應(yīng)的學(xué)生籍貫信息,然后保存更新后的信息。</p><p> (4)void find1() void find2() void find3()</p><p> 上面定義的子函數(shù)均為查詢子函數(shù),分別為按姓名查詢籍貫、按學(xué)號(hào)查詢籍
8、貫和按籍貫查詢學(xué)生信息。其中每個(gè)子函數(shù)中都定義了一個(gè)結(jié)構(gòu)體變量struct student stu[N]u,以此來簡(jiǎn)化程序的結(jié)構(gòu),提高程序運(yùn)行的效率。</p><p> 3.實(shí)現(xiàn)注釋:該系統(tǒng)已經(jīng)能夠完全實(shí)現(xiàn)題目要求的一些內(nèi)容,即創(chuàng)建了磁盤文件存儲(chǔ)了文件信息,即txt文檔中的學(xué)生籍貫信息記錄簿。能夠?qū)崿F(xiàn)信息的顯示,添加、刪除和修改信息,這些都是題目要求的可選項(xiàng)。還有就是信息的查詢功能,都已經(jīng)能夠很好的準(zhǔn)確查詢,
9、從學(xué)生的學(xué)號(hào)或者姓名查詢籍貫,或者從籍貫查詢學(xué)生的姓名等等,這些都已經(jīng)能夠?qū)崿F(xiàn)。</p><p><b> 4.詳細(xì)設(shè)計(jì)表示:</b></p><p> 主要算法的框架如下: </p><p><b> 用戶手冊(cè)</b></p><p> 程序運(yùn)行菜單:運(yùn)行程序后進(jìn)入主菜單界面,如下圖所示。
10、</p><p> 顯示學(xué)生籍貫信息:在主菜單界面下,選擇2,然后回車鍵,可將學(xué)生信息顯示在屏幕上</p><p> 添加學(xué)生籍貫信息 :在主菜單界面下,選擇1,來添加學(xué)生籍貫信息。按屏幕提示,添加數(shù)量為1,分別輸入學(xué)號(hào)、姓名、性別、年齡和籍貫。用空格隔開,回車鍵確認(rèn)。再選擇2,顯示新的學(xué)生籍貫信息。可得下圖,與上圖比較可看出,成功添加了一名學(xué)生的籍貫信息</p><
11、;p> 修改學(xué)生籍貫信息:在主菜單界面下,選擇4,來修改學(xué)生籍貫信息。輸入要修改學(xué)生的學(xué)號(hào),按回車鍵確認(rèn),然后再輸入新的學(xué)生籍貫信息。選擇2,可得如下新的學(xué)生籍貫信息圖。從下圖可看出成功的修改了最后一名學(xué)生的籍貫。</p><p> 刪除學(xué)生籍貫信息:在主菜單界面下,選擇3刪除學(xué)生籍貫信息。輸入要?jiǎng)h除學(xué)生的學(xué)號(hào),按回車鍵確認(rèn)。從下圖可看出成功的刪除了學(xué)號(hào)為1104013045的學(xué)生的學(xué)生籍貫信息。<
12、;/p><p> 查詢子系統(tǒng):在主菜單界面下選擇5,進(jìn)入學(xué)生籍貫查詢子系統(tǒng)</p><p> 按姓名查詢籍貫:在子系統(tǒng)下,按1進(jìn)行姓名查詢,輸入要查詢的學(xué)生的姓名,按回車確認(rèn),可得學(xué)生相應(yīng)的籍貫信息。</p><p> 按學(xué)號(hào)查詢籍貫:在子系統(tǒng)下,按2進(jìn)行學(xué)號(hào)查詢。輸入要查詢的學(xué)生的學(xué)號(hào),回車鍵確認(rèn),可得相應(yīng)學(xué)生的籍貫信息。</p><p>
13、; 按籍貫查詢輸出該學(xué)生的所有信息:在子系統(tǒng)下,按3進(jìn)行籍貫查詢,輸入相應(yīng)的籍貫,按回車鍵確認(rèn),可得出所有該籍貫的學(xué)生的姓名。</p><p><b> 四:測(cè)試及調(diào)試:</b></p><p> 經(jīng)過將近兩個(gè)多星期的課程設(shè)計(jì),上機(jī)時(shí)就坐在電腦旁邊,不斷地對(duì)系統(tǒng)程序中的每個(gè)模塊進(jìn)行刪除和修改,通過對(duì)此程序的編寫,使我自己把課本的知識(shí)更加熟練的掌握和運(yùn)用到實(shí)際當(dāng)中
14、,但也只有在實(shí)際當(dāng)中才能知道自己有那么多的錯(cuò)誤。例如下面列舉的一些發(fā)現(xiàn)的問題:</p><p> 如何把函數(shù)定義清楚是很重要的,這個(gè)學(xué)生籍貫信息記錄簿系統(tǒng)中主函數(shù)只有那么幾十行,其余的都是子函數(shù),只要其中的一個(gè)子函數(shù)錯(cuò)誤,那可就所有的程序都運(yùn)行不了了。2.要注意全局變量的應(yīng)用,若全局變量沒定義好的話,對(duì)整個(gè)程序的編寫與都有很大影響??!</p><p> 發(fā)現(xiàn)問題,理所當(dāng)然測(cè)試及調(diào)試就顯
15、得很重要了 。1.其實(shí)個(gè)人覺得應(yīng)該先自己人工檢查一遍,多數(shù)情況下很問題都是一些低級(jí)的東西,例如pfintf () scanf() 一時(shí)手快把某個(gè)字母給打錯(cuò)了。這些都是我們自己能夠檢查出來的,而且這樣培養(yǎng)了自己的嚴(yán)謹(jǐn)思維,不要什么都靠機(jī)器。2上機(jī)調(diào)試。(1)程序運(yùn)行出錯(cuò)時(shí),在vc底部的命令窗口都會(huì)有提示信息,這在平時(shí)的時(shí)候,我們都應(yīng)該記住什么樣的錯(cuò)誤對(duì)應(yīng)著什么樣的提示信息。 (2)對(duì)程序盡量的多添加一些注釋,這樣能夠幫助我們理解,不至于
16、寫了后面忘了前面。(3)運(yùn)行結(jié)果不對(duì),大多屬于邏輯錯(cuò)誤。對(duì)這類錯(cuò)誤往往需要仔細(xì)檢查和分析才能發(fā)現(xiàn)。可以采用以下辦法:a.可以將流程圖與程序相對(duì)照,逐斷的檢查,因?yàn)楹芏嗟那闆r下,vc下的錯(cuò)誤下的提示窗口所提示的程序行數(shù),其實(shí)并沒有錯(cuò),可能只是前后的程序出錯(cuò)而引起的。b.有時(shí)程序的編譯并沒有錯(cuò)誤(絕大多數(shù)情況下都是這一種情況),但程序的運(yùn)行總是出錯(cuò),例如在對(duì)菜單進(jìn)行選擇時(shí),scanf("%c",&choice1)
17、,總是接受錯(cuò)誤,后來才發(fā)現(xiàn),原來要寫這樣的格式: scanf(" %c",&choic=e);(多一個(gè)空格</p><p><b> 五:小結(jié)</b></p><p> 本次的課程設(shè)計(jì),我的題目是學(xué)生籍貫信息記錄簿系統(tǒng),回顧從那道題目到現(xiàn)在書寫的報(bào)告總結(jié)。將近兩個(gè)星期的學(xué)習(xí),雖然整天待在機(jī)房會(huì)有那么點(diǎn)的枯燥吧,但是在我的程序能
18、運(yùn)行的那一刻,我感受到了,內(nèi)心一種喜悅感,雖然說自己的程序代碼頁參考了老師編寫過的學(xué)生成績(jī)管理系統(tǒng),但是我依然很自豪,因?yàn)閺膭傔M(jìn)入合肥學(xué)院,到我們計(jì)算機(jī)科學(xué)與技術(shù)系學(xué)習(xí)了一年,想想當(dāng)時(shí)還在參加高考的我也能自己編寫小系統(tǒng)了,雖然系統(tǒng)功能不是很強(qiáng)大,但也是一點(diǎn)一滴的勞動(dòng)成果啊。我相信經(jīng)過后面時(shí)間的繼續(xù)學(xué)習(xí),我一定能夠做的更好。過程的酸甜苦辣也是人生的一點(diǎn)難得的經(jīng)歷。</p><p> 課程設(shè)計(jì)中,困難時(shí)不可避免的。
19、這也是在程序設(shè)計(jì)中必須要過的坎,過去了一片海闊天空,沒有跨過去的勇氣,那我們只能夠原地踏步,在我們的人生道路上停滯不前。其實(shí)這次的課程設(shè)計(jì)何嘗不是對(duì)我們的一種考驗(yàn)?zāi)?,不僅僅是學(xué)習(xí)上,當(dāng)我們?cè)诔绦蜻\(yùn)行錯(cuò)誤時(shí),絞盡腦汁的去尋找答案時(shí),我們已經(jīng)在進(jìn)步,因?yàn)槲覀儧]有放棄,沒有因?yàn)槟菐资畟€(gè)錯(cuò)誤而放棄,沒有因?yàn)楹瘮?shù)寫不出來而放棄或者情緒低落。相反的,我們的斗志被激勵(lì)起來了,不就是一個(gè)程序嗎,老子還怕它??笑話。在程序的編程過程中,我們也自然的拉近了
20、同學(xué)和同學(xué)之間的距離,老師和學(xué)生之間的距離。增強(qiáng)了合作精神。因?yàn)槲覀儾豢赡苁裁炊寄芸孔约郝耦^苦想來解決一件事,同學(xué),老師是我們的墊腳石。我們可以與同學(xué)老師一起研究討論,其中我們的專業(yè)知識(shí)也在悄無聲息的不斷增長。</p><p> 本次的課程設(shè)計(jì)時(shí)間放在學(xué)期末,它不僅是上課,它還是對(duì)我們這一個(gè)學(xué)期以來知識(shí)成果的檢驗(yàn)。我們應(yīng)該把握這樣一個(gè)難得的機(jī)會(huì)。我們可以校驗(yàn)自己到底這個(gè)學(xué)期c語言這門課程掌握的怎么樣,上課有沒有
21、認(rèn)真的聽講,課后有沒有好好的去復(fù)習(xí)。上課有沒有提前的去預(yù)習(xí)課本。這樣才能夠檢查自己的不足之處,挖掘自己的提升空間,要我們更加的了解到學(xué)習(xí)永無止境。不是一朝一夕就行的。況且,我們這次的課程設(shè)計(jì)難道不是給我嗎回顧課本知識(shí)的時(shí)候嗎,在編寫程序中,遇到忘記或者是不懂的問題我們就會(huì)去翻書,翻著翻著我們就復(fù)習(xí)了我們以前學(xué)習(xí)的一些專業(yè)知識(shí)了,或者遇到了一個(gè)常犯的錯(cuò)誤,錯(cuò)誤的反復(fù)就是正確的了,溫故而知新,這是一句最簡(jiǎn)單不過的道理了。課程設(shè)計(jì)的收獲并不止
22、于眼前,放眼長遠(yuǎn),利益還在后面。</p><p> 本次的課程設(shè)計(jì)題目學(xué)生籍貫信息記錄簿系統(tǒng),雖然自己實(shí)現(xiàn)了題目所要求的所有內(nèi)容,但是缺陷還是有不少的,畢竟我們的專業(yè)知識(shí)還不是很豐富,有些部分的內(nèi)容并不是很了解。比如說我這個(gè)系統(tǒng)可以用鏈表做的話就會(huì)更加的專業(yè),程序運(yùn)行的效率會(huì)更高,其系統(tǒng)本身的價(jià)值也會(huì)提高。另外,我自己做的系統(tǒng)還是不夠人性化,好的系統(tǒng)是讓人剛接觸是就能夠自己用,一眼就有愛上的感覺。我覺得自己系統(tǒng)
23、的菜單界面太過僵硬,好的程序不僅僅是能夠運(yùn)行,還要給人一種耳目一新的感覺,自己在這方面還是有待改進(jìn)。如何去做到這些呢,我認(rèn)為培養(yǎng)自己的專業(yè)知識(shí)是相當(dāng)?shù)闹匾挥心銓?duì)一件事產(chǎn)生了濃厚的興趣,你才會(huì)去追求它的完美,才會(huì)有跟多得動(dòng)力和堅(jiān)持不懈的毅力。</p><p><b> 六、參考文獻(xiàn)</b></p><p> [1] 孫小紅 王宇穎 孫志崗等編著 《C語言程序設(shè)計(jì)
24、》 北京:高等教育出版社 2011.4</p><p> [2] 譚浩強(qiáng)編著《C程序設(shè)計(jì)題解與上機(jī)指導(dǎo)(第3版) 》北京:清華大學(xué)出版社</p><p> [3] 譚浩強(qiáng)編著《C程序設(shè)計(jì)(第3版) 》北京:清華大學(xué)出版社</p><p><b> 附錄:</b></p><p> #include "s
25、tdio.h"</p><p> #include "stdlib.h"</p><p> #include "conio.h"</p><p> #include "string.h"</p><p> #define N 20</p><p&
26、gt; struct student//結(jié)構(gòu)體,用于存儲(chǔ)學(xué)生的籍貫信息</p><p> {char studentID[20];</p><p> char name[20];</p><p> char sex[20];</p><p> char age[20];</p><p> char prov
27、ince[20];</p><p><b> };</b></p><p> void Menu1()</p><p><b> {</b></p><p> puts("\t\t-----歡迎進(jìn)入學(xué)生籍貫信息記錄簿系統(tǒng)-----");</p><p
28、> puts("\t\t 1----添加學(xué)生籍貫信息");</p><p> puts("\t\t 2----顯示學(xué)生籍貫信息");</p><p> puts("\t\t 3----刪除學(xué)生籍貫信息");</p><p> puts("
29、;\t\t 4----修改學(xué)生籍貫信息");</p><p> puts("\t\t 5----查詢系統(tǒng)");</p><p> puts("\t\t 6----退出");</p><p> puts("\t\t 請(qǐng)選擇……");<
30、/p><p><b> }</b></p><p> void Menu2()</p><p><b> {</b></p><p> puts("\t\t-----歡迎進(jìn)入學(xué)生籍貫查詢子系統(tǒng)-----");</p><p> puts("
31、;\t\t 1---按姓名查詢");//按學(xué)號(hào)或姓名查詢其籍貫;</p><p> puts("\t\t 2---按學(xué)號(hào)查詢");</p><p> puts("\t\t 3---按籍貫查詢");//按籍貫查詢并輸出該籍貫的所有學(xué)生;</p><p> puts(
32、"\t\t 4---返回");</p><p> puts("\t\t 請(qǐng)選擇……");</p><p><b> }</b></p><p> int reads(struct student stu[N]) // 讀取文件中的內(nèi)容</p><p>
33、<b> {</b></p><p><b> FILE *fp;</b></p><p><b> int i=0;</b></p><p> if((fp=fopen("學(xué)生籍貫信息記錄簿.txt","r"))==NULL)</p>&
34、lt;p><b> { </b></p><p> printf("文件打開失??!\n");</p><p><b> return 0;</b></p><p><b> }</b></p><p><b> else</b
35、></p><p><b> {</b></p><p> for(i=0;!feof(fp);i++)</p><p> fscanf(fp,"%s %s %s %s %s\n",stu[i].studentID,stu[i].name,stu[i].sex,stu[i].age,stu[i].province
36、);</p><p><b> }</b></p><p> fclose(fp);</p><p><b> return i;</b></p><p><b> }</b></p><p> void save(struct student
37、 stu[N],int n) // 學(xué)生籍貫信息改變后更新并保存文件</p><p><b> {</b></p><p><b> FILE *fp;</b></p><p><b> int i=0;</b></p><p> if((fp=fopen("
38、學(xué)生籍貫信息記錄簿.txt","w"))==NULL)</p><p><b> { </b></p><p> printf("文件打開失??!\n");</p><p><b> return ;</b></p><p><b>
39、 }</b></p><p><b> else</b></p><p><b> {</b></p><p> for(i=0;i<n;i++)</p><p> fprintf(fp,"%s %s %s %s %s\n",stu[i].student
40、ID,stu[i].name,stu[i].sex,stu[i].age,stu[i].province);</p><p><b> }</b></p><p> fclose(fp);</p><p><b> }</b></p><p> void show() // 學(xué)生籍貫信息顯示
41、函數(shù)</p><p><b> {</b></p><p> struct student stu[N];</p><p><b> int i,n;</b></p><p> n=reads(stu);</p><p> printf("********
42、*************所有的學(xué)生信息如下**********************\n\n");</p><p> printf(" 學(xué)號(hào) 姓名 性別 年齡 籍貫 \n");</p><p> printf("*******************************
43、******************************\n"); </p><p> for(i=0;i<n;i++)</p><p> printf("%s\t%s\t\t%s\t%s\t\t%s\n",stu[i].studentID,stu[i].name,stu[i].sex,stu[i].age,stu[i].province);&l
44、t;/p><p><b> getch();</b></p><p><b> }</b></p><p> void add()/*添加學(xué)生籍貫信息*/</p><p><b> {</b></p><p><b> FILE *fp;
45、</b></p><p><b> int n,i;</b></p><p> struct student stu;</p><p> if((fp=fopen("學(xué)生籍貫信息記錄簿.txt","a"))==NULL) //向文件中添加學(xué)生信息</p><p>
46、;<b> {</b></p><p> printf("文件打開失?。n");</p><p><b> return;</b></p><p><b> }</b></p><p> printf("請(qǐng)輸入要添加的學(xué)生信息數(shù)量,按回
47、車鍵確認(rèn):"); </p><p> scanf("%d",&n);</p><p> for(i=1;i<=n;i++)</p><p><b> { </b></p><p> printf("\n請(qǐng)輸入第%d個(gè)學(xué)生的學(xué)號(hào)、姓名,性別,年齡,籍貫,用空格分
48、開,并按回車鍵確認(rèn):\n",i);</p><p> scanf("%s%s%s%s%s",stu.studentID,stu.name,stu.sex,&stu.age,stu.province);</p><p> fprintf(fp,"\n%s\t%s\t\t%s\t%s\t\t%s\n",stu.studentID,s
49、tu.name,stu.sex,stu.age,stu.province);</p><p><b> }</b></p><p> fclose(fp);</p><p><b> }</b></p><p> void del() /*刪除學(xué)生籍貫信息*/</p><
50、;p><b> {</b></p><p> struct student stu[N];</p><p> char number[20];</p><p> int n,i,j;</p><p> n=reads(stu);</p><p> printf("\n請(qǐng)
51、輸入要?jiǎng)h除學(xué)生信息的學(xué)號(hào),按回車鍵確認(rèn):");</p><p> scanf("%s",number);</p><p> for(i=0;i<n;i++)</p><p> if(strcmp(number,stu[i].studentID)==0) break;</p><p><b>
52、 if(i>=n)</b></p><p><b> {</b></p><p> printf("沒有該學(xué)生信息!\n");</p><p><b> return;</b></p><p><b> }</b></p&g
53、t;<p><b> else</b></p><p><b> {</b></p><p> for(j=i+1;j<n;j++)</p><p> stu[j-1]=stu[j];</p><p><b> }</b></p>&
54、lt;p> save(stu,n-1);</p><p> printf("刪除成功!\n");</p><p><b> }</b></p><p> void change() //更改學(xué)生籍貫信息</p><p><b> {</b></p>
55、<p> struct student stu[N];</p><p><b> int n,i;</b></p><p> char number[20];</p><p> printf("\n請(qǐng)輸入要更改信息的學(xué)生學(xué)號(hào),按回車鍵確認(rèn):");</p><p> scanf(&
56、quot;%s",number);</p><p> n=reads(stu);</p><p> for(i=0;i<n;i++)</p><p> if(strcmp(number,stu[i].studentID)==0)</p><p><b> break;</b></p>
57、<p><b> if(i>=n)</b></p><p><b> {</b></p><p> printf("沒有該學(xué)生信息!");</p><p><b> return;</b></p><p><b> }&
58、lt;/b></p><p> printf("\n請(qǐng)輸入更改后學(xué)生的學(xué)號(hào),姓名,性別,年齡,籍貫 按回車鍵確認(rèn):\n");</p><p> scanf("%s %s %s %s %s\n",stu[i].studentID,stu[i].name,stu[i].sex,stu[i].age,stu[i].province);</p
59、><p> save(stu,n);</p><p><b> }</b></p><p> void find1()//按姓名查詢籍貫</p><p><b> {</b></p><p> struct student stu[N];</p><
60、p><b> int n,i;</b></p><p> char name[20];</p><p> printf("\n請(qǐng)輸入要查詢的學(xué)生的姓名,按回車鍵確認(rèn):");</p><p> scanf("%s",name);</p><p> n=reads(st
61、u);</p><p> for(i=0;i<n;i++)</p><p> if(strcmp(name,stu[i].name)==0)</p><p> printf("該學(xué)生的籍貫為%s",stu[i].province);</p><p> else if(i>=n)</p>&
62、lt;p><b> {</b></p><p> printf("沒有該學(xué)生信息!");</p><p><b> return;</b></p><p><b> }</b></p><p><b> }</b><
63、;/p><p> void find2()//按學(xué)號(hào)查詢籍貫</p><p><b> {</b></p><p> struct student stu[N];</p><p><b> int n,i;</b></p><p> char xuehao[20];&l
64、t;/p><p> printf("\n請(qǐng)輸入要查詢的學(xué)生的學(xué)號(hào),按回車鍵確認(rèn):");</p><p> scanf("%s",xuehao);</p><p> n=reads(stu);</p><p> for(i=0;i<n;i++)</p><p> if(
65、strcmp(xuehao,stu[i].studentID)==0)</p><p> printf("該學(xué)生的籍貫為%s",stu[i].province);</p><p> else if(i>=n)</p><p><b> {</b></p><p> printf(&quo
66、t;沒有該學(xué)生信息!");</p><p><b> return;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> //查詢子函數(shù)</b></p><p&
67、gt; void find3()//按籍貫查詢并輸出該籍貫的所有學(xué)生</p><p><b> {</b></p><p> struct student stu[N];</p><p><b> int n,i;</b></p><p> char pro[20];</p>
68、<p> printf("\n請(qǐng)輸入要查詢籍貫,按回車鍵確認(rèn):");</p><p> scanf("%s",pro);</p><p> n=reads(stu);</p><p> for(i=0;i<n;i++)</p><p> if(strcmp(pro,stu[i
69、].province)==0)</p><p> printf("%s\t",stu[i].name);</p><p> else if(i>=n)</p><p><b> {</b></p><p> printf("無此學(xué)生信息!");</p>
70、<p><b> return;</b></p><p><b> }</b></p><p><b> }</b></p><p> void main()</p><p><b> { </b></p><p&g
71、t; int choice1,choice2;</p><p><b> Menu1();</b></p><p><b> while(12)</b></p><p><b> { </b></p><p> scanf("%d",&ch
72、oice1);</p><p> switch(choice1)</p><p><b> {</b></p><p><b> //調(diào)用子函數(shù)。</b></p><p> case 1:add();break;</p><p> case 2:show();bre
73、ak;</p><p> case 3: del();break;</p><p> case 4: change();break;</p><p> case 5:system("cls");//查詢功能</p><p><b> Menu2();</b></p><p&
74、gt;<b> while(8)</b></p><p><b> {</b></p><p> scanf("%d",&choice2);</p><p> switch(choice2)</p><p><b> {</b></p
75、><p> case 1:find1();</p><p> getchar();getch();</p><p> system("cls");</p><p><b> Menu2();</b></p><p><b> break;</b>&l
76、t;/p><p> case 2:find2();</p><p> getchar();getch();</p><p> system("cls");</p><p> Menu2();break;</p><p> case 3:find3();</p><p>
77、 getchar();getch();</p><p> system("cls");</p><p> Menu2();break;</p><p> case 4:system("cls");</p><p> getchar();</p><p> Menu1(
78、);break;</p><p><b> }</b></p><p> }case 6:puts("歡迎下次使用 ");exit(0);</p><p><b> }</b></p><p><b> }</b></p><p&
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(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é)生籍貫信息記錄簿(c語言課程設(shè)計(jì)報(bào)告)
- c語言課程設(shè)計(jì)--學(xué)生籍貫信息記錄簿設(shè)計(jì)
- 課程設(shè)計(jì)報(bào)告---學(xué)生籍貫信息記錄簿
- 學(xué)生籍貫信息記錄簿課程設(shè)計(jì)報(bào)告
- 學(xué)生籍貫信息記錄簿
- 基于c++的學(xué)生籍貫信息記錄簿設(shè)計(jì)
- c語言課程設(shè)計(jì)報(bào)告--學(xué)生成績(jī)信息記錄簿的設(shè)計(jì)
- c語言課程設(shè)計(jì)--學(xué)生成績(jī)記錄簿
- c語言課程設(shè)計(jì)成績(jī)記錄簿
- c語言課程設(shè)計(jì)成績(jī)記錄簿
- c學(xué)生成績(jī)記錄簿課程設(shè)計(jì)
- c語言課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告成績(jī)記錄簿
- c語言課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告成績(jī)記錄簿
- 成績(jī)記錄簿課程設(shè)計(jì)報(bào)告
- 課程設(shè)計(jì)報(bào)告-成績(jī)記錄簿
- 成績(jī)記錄簿課程設(shè)計(jì)
- 課程設(shè)計(jì)---學(xué)生成績(jī)記錄簿設(shè)計(jì)
- 課程設(shè)計(jì)--- 成績(jī)記錄簿
- 課程設(shè)計(jì)報(bào)告-學(xué)生籍貫信息記錄薄
- c++課程設(shè)計(jì)——學(xué)生籍貫信息記錄薄
評(píng)論
0/150
提交評(píng)論